wovnrb 2.0.0 → 2.0.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.
- checksums.yaml +4 -4
- data/lib/wovnrb/services/html_converter.rb +3 -2
- data/lib/wovnrb/version.rb +1 -1
- data/test/lib/services/html_converter_test.rb +33 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce9217e8e741e4c5e658511a29459a675d203311
|
4
|
+
data.tar.gz: a7d6ee08c00f2e07179b7d70b0a9f21828c5b4bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf238b6e346db998dbedc89ed1a5cb0887aa291a2fa0027c636334282fc92becdfa45bc16eba2f4344a117c21c79cc1005f64eed8608f1fa0211a27d5d15da76
|
7
|
+
data.tar.gz: 1338a1cced911df557811a82b3086a1fd778475528e65640b2884717aae15664f88e3684d4a0a9d37699812d08ec58e323912b4741cb5012b211b562fac5f6cc
|
@@ -66,9 +66,10 @@ module Wovnrb
|
|
66
66
|
|
67
67
|
if node.name.casecmp('input').zero? && node.get_attribute('type') == 'hidden'
|
68
68
|
original_text = node.get_attribute('value')
|
69
|
+
return if original_text.nil?
|
69
70
|
return if original_text.include?(HtmlReplaceMarker::KEY_PREFIX)
|
70
71
|
|
71
|
-
node.set_attribute('value', marker.
|
72
|
+
node.set_attribute('value', marker.add_comment_value(original_text))
|
72
73
|
end
|
73
74
|
end
|
74
75
|
|
@@ -87,7 +88,7 @@ module Wovnrb
|
|
87
88
|
end
|
88
89
|
|
89
90
|
def put_replace_marker(node, marker)
|
90
|
-
original_text = node.
|
91
|
+
original_text = node.inner_html
|
91
92
|
return if original_text.include?(HtmlReplaceMarker::KEY_PREFIX)
|
92
93
|
|
93
94
|
node.inner_html = marker.add_comment_value(original_text)
|
data/lib/wovnrb/version.rb
CHANGED
@@ -31,7 +31,39 @@ module Wovnrb
|
|
31
31
|
converter = prepare_html_converter(html, ignore_class: ['ignore-me'])
|
32
32
|
converted_html, = converter.build_api_compatible_html
|
33
33
|
|
34
|
-
expected_convert_html = "<html><head><
|
34
|
+
expected_convert_html = "<html><head><script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=123456&amp;backend=true&amp;currentLang=en&amp;defaultLang=en&amp;urlPattern=query&amp;langCodeAliases={}&amp;version=WOVN.rb_#{VERSION}\" data-wovnio-type=\"fallback_snippet\"></script><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=\"alternate\" hreflang=\"en\" href=\"http://my-site.com/\"><link rel=\"alternate\" hreflang=\"fr\" href=\"http://my-site.com/?wovn=fr\"><link rel=\"alternate\" hreflang=\"ja\" href=\"http://my-site.com/?wovn=ja\"><link rel=\"alternate\" hreflang=\"vi\" href=\"http://my-site.com/?wovn=vi\"></head><body><p>Hello <span wovn-ignore=\"\"><!-- __wovn-backend-ignored-key-0 --></span></p><p></p><div><span class=\"ignore-me\"><!-- __wovn-backend-ignored-key-1 --></span></div><span>Have a nice day!</span></body></html>"
|
35
|
+
assert_equal(expected_convert_html, converted_html)
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_build_api_compatible_html_form_should_not_be_sent
|
39
|
+
html = [
|
40
|
+
'<html><body>',
|
41
|
+
'<form action="/test" method="POST">',
|
42
|
+
'<input id="name" type="text">',
|
43
|
+
'<button type="submit">Submit</button>',
|
44
|
+
'</form>',
|
45
|
+
'</body></html>'
|
46
|
+
].join
|
47
|
+
|
48
|
+
converter = prepare_html_converter(html, ignore_class: [])
|
49
|
+
converted_html, = converter.build_api_compatible_html
|
50
|
+
|
51
|
+
expected_convert_html = "<html><head><script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=123456&amp;backend=true&amp;currentLang=en&amp;defaultLang=en&amp;urlPattern=query&amp;langCodeAliases={}&amp;version=WOVN.rb_#{VERSION}\" data-wovnio-type=\"fallback_snippet\"></script><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=\"alternate\" hreflang=\"en\" href=\"http://my-site.com/\"><link rel=\"alternate\" hreflang=\"fr\" href=\"http://my-site.com/?wovn=fr\"><link rel=\"alternate\" hreflang=\"ja\" href=\"http://my-site.com/?wovn=ja\"><link rel=\"alternate\" hreflang=\"vi\" href=\"http://my-site.com/?wovn=vi\"></head><body><form action=\"/test\" method=\"POST\"><!-- __wovn-backend-ignored-key-0 --></form></body></html>"
|
52
|
+
assert_equal(expected_convert_html, converted_html)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_build_api_compatible_html_hidden_input_should_not_be_sent
|
56
|
+
html = [
|
57
|
+
'<html><body>',
|
58
|
+
'<input id="user-id" type="hidden" value="secret-id">',
|
59
|
+
'<input id="name" type="text" value="wovn.io">',
|
60
|
+
'</body></html>'
|
61
|
+
].join
|
62
|
+
|
63
|
+
converter = prepare_html_converter(html, ignore_class: [])
|
64
|
+
converted_html, = converter.build_api_compatible_html
|
65
|
+
|
66
|
+
expected_convert_html = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=123456&amp;backend=true&amp;currentLang=en&amp;defaultLang=en&amp;urlPattern=query&amp;langCodeAliases={}&amp;version=WOVN.rb_#{VERSION}\" data-wovnio-type=\"fallback_snippet\"></script><link rel=\"alternate\" hreflang=\"en\" href=\"http://my-site.com/\"><link rel=\"alternate\" hreflang=\"fr\" href=\"http://my-site.com/?wovn=fr\"><link rel=\"alternate\" hreflang=\"ja\" href=\"http://my-site.com/?wovn=ja\"><link rel=\"alternate\" hreflang=\"vi\" href=\"http://my-site.com/?wovn=vi\"></head><body><input id=\"user-id\" type=\"hidden\" value=\"<!-- __wovn-backend-ignored-key-0 -->\"><input id=\"name\" type=\"text\" value=\"wovn.io\"></body></html>"
|
35
67
|
assert_equal(expected_convert_html, converted_html)
|
36
68
|
end
|
37
69
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wovnrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Sandford
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-12-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|