htmlentities 4.3.0 → 4.3.1
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/History.txt +4 -0
- data/lib/htmlentities/decoder.rb +1 -1
- data/lib/htmlentities/encoder.rb +18 -11
- data/lib/htmlentities/version.rb +1 -1
- data/perf/benchmark.rb +1 -1
- data/test/interoperability_test.rb +15 -0
- metadata +24 -35
data/History.txt
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
== 4.3.1 (2011-11-30)
|
2
|
+
* Fix bug when working with Rails 3/Ruby 1.8.7
|
3
|
+
* Make character encoding behaviour consistent in Ruby 1.9.2/1.9.3
|
4
|
+
|
1
5
|
== 4.3.0 (2011-03-29)
|
2
6
|
* Use Ruby 1.9's encoding support where available.
|
3
7
|
* Deprecated HTMLEntities.encode_entities/decode_entities interface is now
|
data/lib/htmlentities/decoder.rb
CHANGED
data/lib/htmlentities/encoder.rb
CHANGED
@@ -13,9 +13,11 @@ class HTMLEntities
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def encode(source)
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
post_process(
|
17
|
+
prepare(source).
|
18
|
+
gsub(basic_entity_regexp){ |match| encode_basic(match) }.
|
19
|
+
gsub(extended_entity_regexp){ |match| encode_extended(match) }
|
20
|
+
)
|
19
21
|
end
|
20
22
|
|
21
23
|
private
|
@@ -24,21 +26,26 @@ class HTMLEntities
|
|
24
26
|
def prepare(string) #:nodoc:
|
25
27
|
string.to_s.encode(Encoding::UTF_8)
|
26
28
|
end
|
29
|
+
|
30
|
+
def post_process(string)
|
31
|
+
if string.encoding != Encoding::ASCII && string.match(/\A[\x01-\x7F]*\z/)
|
32
|
+
string.encode(Encoding::ASCII)
|
33
|
+
else
|
34
|
+
string
|
35
|
+
end
|
36
|
+
end
|
27
37
|
else
|
28
38
|
def prepare(string) #:nodoc:
|
29
39
|
string.to_s
|
30
40
|
end
|
41
|
+
|
42
|
+
def post_process(string)
|
43
|
+
string
|
44
|
+
end
|
31
45
|
end
|
32
46
|
|
33
47
|
def basic_entity_regexp
|
34
|
-
@basic_entity_regexp ||= (
|
35
|
-
case @flavor
|
36
|
-
when /^html/
|
37
|
-
/[<>"&]/
|
38
|
-
else
|
39
|
-
/[<>'"&]/
|
40
|
-
end
|
41
|
-
)
|
48
|
+
@basic_entity_regexp ||= @flavor.match(/^html/) ? /[<>"&]/ : /[<>'"&]/
|
42
49
|
end
|
43
50
|
|
44
51
|
def extended_entity_regexp
|
data/lib/htmlentities/version.rb
CHANGED
data/perf/benchmark.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require File.expand_path("../common", __FILE__)
|
3
|
+
|
4
|
+
if ENV["RUN_INTEROPERABILITY_TESTS"]
|
5
|
+
class HTMLEntities::InteroperabilityTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_should_encode_active_support_safe_buffer
|
8
|
+
require 'active_support'
|
9
|
+
string = "<p>This is a test</p>"
|
10
|
+
buffer = ActiveSupport::SafeBuffer.new(string)
|
11
|
+
coder = HTMLEntities.new
|
12
|
+
assert_equal coder.encode(string, :named), coder.encode(buffer, :named)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: htmlentities
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 4
|
8
|
-
- 3
|
9
|
-
- 0
|
10
|
-
version: 4.3.0
|
4
|
+
prerelease:
|
5
|
+
version: 4.3.1
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Paul Battley
|
@@ -15,8 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-
|
19
|
-
default_executable:
|
13
|
+
date: 2011-11-30 00:00:00 Z
|
20
14
|
dependencies: []
|
21
15
|
|
22
16
|
description:
|
@@ -29,31 +23,31 @@ extra_rdoc_files:
|
|
29
23
|
- History.txt
|
30
24
|
- COPYING.txt
|
31
25
|
files:
|
32
|
-
- lib/htmlentities.rb
|
33
|
-
- lib/htmlentities/flavors.rb
|
34
|
-
- lib/htmlentities/version.rb
|
35
26
|
- lib/htmlentities/encoder.rb
|
36
|
-
- lib/htmlentities/
|
27
|
+
- lib/htmlentities/decoder.rb
|
37
28
|
- lib/htmlentities/mappings/xhtml1.rb
|
29
|
+
- lib/htmlentities/mappings/expanded.rb
|
38
30
|
- lib/htmlentities/mappings/html4.rb
|
39
|
-
- lib/htmlentities/
|
40
|
-
-
|
41
|
-
-
|
42
|
-
- test/xhtml1_test.rb
|
31
|
+
- lib/htmlentities/flavors.rb
|
32
|
+
- lib/htmlentities/version.rb
|
33
|
+
- lib/htmlentities.rb
|
43
34
|
- test/html4_test.rb
|
35
|
+
- test/ruby_1_8_test.rb
|
36
|
+
- test/roundtrip_test.rb
|
44
37
|
- test/encoding_test.rb
|
45
|
-
- test/expanded_test.rb
|
46
|
-
- test/ruby_1_9_test.rb
|
47
38
|
- test/common.rb
|
48
|
-
- test/
|
39
|
+
- test/xhtml1_test.rb
|
40
|
+
- test/decoding_test.rb
|
41
|
+
- test/ruby_1_9_test.rb
|
42
|
+
- test/expanded_test.rb
|
49
43
|
- test/entities_test.rb
|
44
|
+
- test/interoperability_test.rb
|
45
|
+
- perf/benchmark.rb
|
50
46
|
- perf/performance.rb
|
51
47
|
- perf/profile.rb
|
52
|
-
- perf/benchmark.rb
|
53
48
|
- History.txt
|
54
49
|
- COPYING.txt
|
55
|
-
|
56
|
-
homepage: http://htmlentities.rubyforge.org/
|
50
|
+
homepage: https://github.com/threedaymonk/htmlentities
|
57
51
|
licenses: []
|
58
52
|
|
59
53
|
post_install_message:
|
@@ -66,33 +60,28 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
66
60
|
requirements:
|
67
61
|
- - ">="
|
68
62
|
- !ruby/object:Gem::Version
|
69
|
-
hash: 3
|
70
|
-
segments:
|
71
|
-
- 0
|
72
63
|
version: "0"
|
73
64
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
65
|
none: false
|
75
66
|
requirements:
|
76
67
|
- - ">="
|
77
68
|
- !ruby/object:Gem::Version
|
78
|
-
hash: 3
|
79
|
-
segments:
|
80
|
-
- 0
|
81
69
|
version: "0"
|
82
70
|
requirements: []
|
83
71
|
|
84
72
|
rubyforge_project:
|
85
|
-
rubygems_version: 1.
|
73
|
+
rubygems_version: 1.8.11
|
86
74
|
signing_key:
|
87
75
|
specification_version: 3
|
88
76
|
summary: A module for encoding and decoding (X)HTML entities.
|
89
77
|
test_files:
|
90
|
-
- test/decoding_test.rb
|
91
|
-
- test/ruby_1_8_test.rb
|
92
|
-
- test/xhtml1_test.rb
|
93
78
|
- test/html4_test.rb
|
79
|
+
- test/ruby_1_8_test.rb
|
80
|
+
- test/roundtrip_test.rb
|
94
81
|
- test/encoding_test.rb
|
95
|
-
- test/
|
82
|
+
- test/xhtml1_test.rb
|
83
|
+
- test/decoding_test.rb
|
96
84
|
- test/ruby_1_9_test.rb
|
97
|
-
- test/
|
85
|
+
- test/expanded_test.rb
|
98
86
|
- test/entities_test.rb
|
87
|
+
- test/interoperability_test.rb
|