guess_html_encoding 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +1 -1
- data/lib/guess_html_encoding/version.rb +1 -1
- data/lib/guess_html_encoding.rb +2 -2
- data/spec/guess_html_encoding_spec.rb +26 -1
- metadata +2 -2
data/Gemfile.lock
CHANGED
data/lib/guess_html_encoding.rb
CHANGED
@@ -29,7 +29,7 @@ module GuessHtmlEncoding
|
|
29
29
|
out = "UTF-8" if %w[DEFAULT UTF8 UNICODE].include?(out)
|
30
30
|
out = "CP1251" if out == "CP-1251"
|
31
31
|
out = "ISO-8859-1" if %w[LATIN1 LATIN-1].include?(out)
|
32
|
-
out = "
|
32
|
+
out = "WINDOWS-1250" if %w[WIN-1251 WIN1251].include?(out)
|
33
33
|
end
|
34
34
|
|
35
35
|
out
|
@@ -49,6 +49,6 @@ module GuessHtmlEncoding
|
|
49
49
|
|
50
50
|
# Is this encoding loaded?
|
51
51
|
def self.encoding_loaded?(encoding)
|
52
|
-
Encoding.
|
52
|
+
!!Encoding.find(encoding) rescue nil
|
53
53
|
end
|
54
54
|
end
|
@@ -47,6 +47,11 @@ describe "GuessHtmlEncoding" do
|
|
47
47
|
guess.should == "UTF-8"
|
48
48
|
end
|
49
49
|
|
50
|
+
it "translates WIN1251 to WINDOWS-1250" do
|
51
|
+
guess = GuessHtmlEncoding.guess('<html><head><meta http-equiv="content-type" content="text/html; charset=WIN1251;"></head><body><div>hi!</div></body></html>')
|
52
|
+
guess.should == "WINDOWS-1250"
|
53
|
+
end
|
54
|
+
|
50
55
|
it "should not raise an exception if data is nil" do
|
51
56
|
GuessHtmlEncoding.guess(nil).should_not raise_error(TypeError)
|
52
57
|
end
|
@@ -100,8 +105,28 @@ describe "GuessHtmlEncoding" do
|
|
100
105
|
|
101
106
|
describe "#encoding_loaded?" do
|
102
107
|
it 'returns true for all loaded encodings' do
|
103
|
-
Encoding.name_list.each do |name|
|
108
|
+
(Encoding.name_list - ["internal"]).each do |name|
|
104
109
|
GuessHtmlEncoding.encoding_loaded?(name).should be_true
|
110
|
+
lambda { Encoding.find(name) }.should_not raise_error
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
it 'returns true for uppercase encodings' do
|
115
|
+
GuessHtmlEncoding.encoding_loaded?("WINDOWS-1250").should be_true
|
116
|
+
lambda { Encoding.find("WINDOWS-1250") }.should_not raise_error
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'returns true for lowercase encodings' do
|
120
|
+
GuessHtmlEncoding.encoding_loaded?("windows-1250").should be_true
|
121
|
+
lambda { Encoding.find("windows-1250") }.should_not raise_error
|
122
|
+
end
|
123
|
+
|
124
|
+
it 'returns true for encoding aliases' do
|
125
|
+
Encoding.aliases.keys.each do |key|
|
126
|
+
GuessHtmlEncoding.encoding_loaded?(key).should be_true
|
127
|
+
GuessHtmlEncoding.encoding_loaded?(key.upcase).should be_true
|
128
|
+
lambda { Encoding.find(key) }.should_not raise_error
|
129
|
+
lambda { Encoding.find(key.upcase) }.should_not raise_error
|
105
130
|
end
|
106
131
|
end
|
107
132
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guess_html_encoding
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|