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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 548c84031681d4273db42c24a7ccfd8faaad9b31
4
- data.tar.gz: 6c82fab859281f1b946f4199a1737daaa5112842
3
+ metadata.gz: ce9217e8e741e4c5e658511a29459a675d203311
4
+ data.tar.gz: a7d6ee08c00f2e07179b7d70b0a9f21828c5b4bf
5
5
  SHA512:
6
- metadata.gz: fd388862202899e8d3acbe2d5aa8fe8a55bc5c89684beec438df56da6d7c366bcd71bd72fcb049767586de4bd34f56cfdd275ba7cb1710f22e04dcf27f94c5b3
7
- data.tar.gz: abee33fc5f353e531363d59001a258bed0b07ae4809b07560d10a0889371b4435e19b53ad00d3796157cbf96b87ae9859abe0baa33eafeaf48277b65d4310a1f
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.add_value(original_text))
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.inner_text
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)
@@ -1,3 +1,3 @@
1
1
  module Wovnrb
2
- VERSION = '2.0.0'.freeze
2
+ VERSION = '2.0.1'.freeze
3
3
  end
@@ -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><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=123456&amp;amp;backend=true&amp;amp;currentLang=en&amp;amp;defaultLang=en&amp;amp;urlPattern=query&amp;amp;langCodeAliases={}&amp;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><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>"
34
+ expected_convert_html = "<html><head><script src=\"//j.wovn.io/1\" async=\"true\" data-wovnio=\"key=123456&amp;amp;backend=true&amp;amp;currentLang=en&amp;amp;defaultLang=en&amp;amp;urlPattern=query&amp;amp;langCodeAliases={}&amp;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;amp;backend=true&amp;amp;currentLang=en&amp;amp;defaultLang=en&amp;amp;urlPattern=query&amp;amp;langCodeAliases={}&amp;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;amp;backend=true&amp;amp;currentLang=en&amp;amp;defaultLang=en&amp;amp;urlPattern=query&amp;amp;langCodeAliases={}&amp;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.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-11-30 00:00:00.000000000 Z
12
+ date: 2018-12-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport