wovnrb 3.11.0 → 3.13.0

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.
@@ -1,149 +1,149 @@
1
- require 'test_helper'
2
-
3
- module Wovnrb
4
- class HtmlReplaceMarkerTest < WovnMiniTest
5
- def test_add_comment_value
6
- marker = HtmlReplaceMarker.new
7
- assert_equal('<!-- __wovn-backend-ignored-key-0 -->', marker.add_comment_value('hello'))
8
- end
9
-
10
- def test_add_comment_value_multiple_times
11
- marker = HtmlReplaceMarker.new
12
- assert_equal('<!-- __wovn-backend-ignored-key-0 -->', marker.add_comment_value('hello'))
13
- assert_equal('<!-- __wovn-backend-ignored-key-1 -->', marker.add_comment_value('hello'))
14
- assert_equal('<!-- __wovn-backend-ignored-key-2 -->', marker.add_comment_value('hello'))
15
- assert_equal('<!-- __wovn-backend-ignored-key-3 -->', marker.add_comment_value('hello'))
16
- end
17
-
18
- def test_add_same_comment_value_multiple_times
19
- marker = HtmlReplaceMarker.new
20
-
21
- 25.times do |i|
22
- assert_equal("<!-- __wovn-backend-ignored-key-#{i} -->", marker.add_comment_value('hello'))
23
- end
24
- end
25
-
26
- def test_add_same_value_multiple_times
27
- marker = HtmlReplaceMarker.new
28
-
29
- 25.times do |i|
30
- assert_equal("__wovn-backend-ignored-key-#{i}", marker.add_value('hello'))
31
- end
32
- end
33
-
34
- def test_mixed_add_comment_value_and_add_value
35
- marker = HtmlReplaceMarker.new
36
-
37
- assert_equal('<!-- __wovn-backend-ignored-key-0 -->', marker.add_comment_value('hello'))
38
- assert_equal('__wovn-backend-ignored-key-1', marker.add_value('hello'))
39
- assert_equal('<!-- __wovn-backend-ignored-key-2 -->', marker.add_comment_value('hello'))
40
- assert_equal('__wovn-backend-ignored-key-3', marker.add_value('hello'))
41
- assert_equal('<!-- __wovn-backend-ignored-key-4 -->', marker.add_comment_value('hello'))
42
- assert_equal('__wovn-backend-ignored-key-5', marker.add_value('hello'))
43
- assert_equal('<!-- __wovn-backend-ignored-key-6 -->', marker.add_comment_value('hello'))
44
- assert_equal('__wovn-backend-ignored-key-7', marker.add_value('hello'))
45
- end
46
-
47
- def test_revert
48
- marker = HtmlReplaceMarker.new
49
- original_html = '<html><body>hello<a> replacement </a>world </body></html>'
50
- key = marker.add_comment_value('hello')
51
- new_html = original_html.sub('hello', key)
52
- assert_equal("<html><body>#{key}<a> replacement </a>world </body></html>", new_html)
53
- assert_equal(original_html, marker.revert(new_html))
54
- end
55
-
56
- def test_revert_input_value
57
- marker = HtmlReplaceMarker.new
58
- original_html = '<html><body><input type="hidden" value="please-revert"></body></html>'
59
- key = marker.add_value('please-revert')
60
- new_html = original_html.sub('please-revert', key)
61
- assert_equal("<html><body><input type=\"hidden\" value=\"#{key}\"></body></html>", new_html)
62
- assert_equal(original_html, marker.revert(new_html))
63
- end
64
-
65
- def test_revert_input_empty_value
66
- marker = HtmlReplaceMarker.new
67
- original_html = '<html><body><input type="hidden" value=""></body></html>'
68
- key = marker.add_value('')
69
- new_html = original_html.sub('value=""', "value=\"#{key}\"")
70
- assert_equal("<html><body><input type=\"hidden\" value=\"#{key}\"></body></html>", new_html)
71
- assert_equal(original_html, marker.revert(new_html))
72
- end
73
-
74
- def test_revert_multiple_input
75
- marker = HtmlReplaceMarker.new
76
- original_html = '<html><body>'
77
- new_html = '<html><body>'
78
-
79
- 50.times do |i|
80
- original_html += "<input type=\"hidden\" value=\"#{i}\"></body></html>"
81
- new_html += "<input type=\"hidden\" value=\"#{marker.add_value(i.to_s)}\"></body></html>"
82
- end
83
-
84
- original_html += '</body></html>'
85
- new_html += '</body></html>'
86
-
87
- assert_equal(original_html, marker.revert(new_html))
88
- end
89
-
90
- def test_revert_multiple_values
91
- marker = HtmlReplaceMarker.new
92
- original_html = '<html><body>hello<a> replacement </a>world </body></html>'
93
- key1 = marker.add_comment_value('hello')
94
- key2 = marker.add_comment_value('replacement')
95
- key3 = marker.add_comment_value('world')
96
- new_html = original_html.sub('hello', key1)
97
- new_html = new_html.sub('replacement', key2).sub('world', key3)
98
- assert_equal("<html><body>#{key1}<a> #{key2} </a>#{key3} </body></html>", new_html)
99
- assert_equal(original_html, marker.revert(new_html))
100
- end
101
-
102
- def test_revert_multiple_similar_values
103
- marker = HtmlReplaceMarker.new
104
- original_html = '<html><body>'
105
- 25.times { |i| original_html += "<a>hello_#{i}</a>" }
106
- original_html += '</body></html>'
107
-
108
- new_html = original_html
109
- keys = []
110
- 25.times do |i|
111
- key = marker.add_comment_value("hello_#{i}")
112
- keys << key
113
- new_html = new_html.sub("hello_#{i}", key)
114
- end
115
-
116
- assert_equal(false, new_html.include?('hello'))
117
- assert_equal(original_html, marker.revert(new_html))
118
- end
119
-
120
- def test_revert_same_value
121
- marker = HtmlReplaceMarker.new
122
- original_html = '<html><body>hello<a>hello</a>hello</body></html>'
123
- key1 = marker.add_comment_value('hello')
124
- key2 = marker.add_comment_value('hello')
125
- key3 = marker.add_comment_value('hello')
126
- new_html = "<html><body>#{key1}<a>#{key2}</a>#{key3}</body></html>"
127
- assert_equal(original_html, marker.revert(new_html))
128
- end
129
-
130
- def test_revert_mixed_values
131
- marker = HtmlReplaceMarker.new
132
- original_html = [
133
- '<html><body>',
134
- '<span>hello</span>',
135
- '<input type="hidden" value="please_revert">',
136
- '</body></html>'
137
- ].join
138
- key1 = marker.add_comment_value('hello')
139
- key2 = marker.add_value('please_revert')
140
- new_html = [
141
- '<html><body>',
142
- "<span>#{key1}</span>",
143
- "<input type=\"hidden\" value=\"#{key2}\">",
144
- '</body></html>'
145
- ].join
146
- assert_equal(original_html, marker.revert(new_html))
147
- end
148
- end
149
- end
1
+ require 'test_helper'
2
+
3
+ module Wovnrb
4
+ class HtmlReplaceMarkerTest < WovnMiniTest
5
+ def test_add_comment_value
6
+ marker = HtmlReplaceMarker.new
7
+ assert_equal('<!-- __wovn-backend-ignored-key-0 -->', marker.add_comment_value('hello'))
8
+ end
9
+
10
+ def test_add_comment_value_multiple_times
11
+ marker = HtmlReplaceMarker.new
12
+ assert_equal('<!-- __wovn-backend-ignored-key-0 -->', marker.add_comment_value('hello'))
13
+ assert_equal('<!-- __wovn-backend-ignored-key-1 -->', marker.add_comment_value('hello'))
14
+ assert_equal('<!-- __wovn-backend-ignored-key-2 -->', marker.add_comment_value('hello'))
15
+ assert_equal('<!-- __wovn-backend-ignored-key-3 -->', marker.add_comment_value('hello'))
16
+ end
17
+
18
+ def test_add_same_comment_value_multiple_times
19
+ marker = HtmlReplaceMarker.new
20
+
21
+ 25.times do |i|
22
+ assert_equal("<!-- __wovn-backend-ignored-key-#{i} -->", marker.add_comment_value('hello'))
23
+ end
24
+ end
25
+
26
+ def test_add_same_value_multiple_times
27
+ marker = HtmlReplaceMarker.new
28
+
29
+ 25.times do |i|
30
+ assert_equal("__wovn-backend-ignored-key-#{i}", marker.add_value('hello'))
31
+ end
32
+ end
33
+
34
+ def test_mixed_add_comment_value_and_add_value
35
+ marker = HtmlReplaceMarker.new
36
+
37
+ assert_equal('<!-- __wovn-backend-ignored-key-0 -->', marker.add_comment_value('hello'))
38
+ assert_equal('__wovn-backend-ignored-key-1', marker.add_value('hello'))
39
+ assert_equal('<!-- __wovn-backend-ignored-key-2 -->', marker.add_comment_value('hello'))
40
+ assert_equal('__wovn-backend-ignored-key-3', marker.add_value('hello'))
41
+ assert_equal('<!-- __wovn-backend-ignored-key-4 -->', marker.add_comment_value('hello'))
42
+ assert_equal('__wovn-backend-ignored-key-5', marker.add_value('hello'))
43
+ assert_equal('<!-- __wovn-backend-ignored-key-6 -->', marker.add_comment_value('hello'))
44
+ assert_equal('__wovn-backend-ignored-key-7', marker.add_value('hello'))
45
+ end
46
+
47
+ def test_revert
48
+ marker = HtmlReplaceMarker.new
49
+ original_html = '<html><body>hello<a> replacement </a>world </body></html>'
50
+ key = marker.add_comment_value('hello')
51
+ new_html = original_html.sub('hello', key)
52
+ assert_equal("<html><body>#{key}<a> replacement </a>world </body></html>", new_html)
53
+ assert_equal(original_html, marker.revert(new_html))
54
+ end
55
+
56
+ def test_revert_input_value
57
+ marker = HtmlReplaceMarker.new
58
+ original_html = '<html><body><input type="hidden" value="please-revert"></body></html>'
59
+ key = marker.add_value('please-revert')
60
+ new_html = original_html.sub('please-revert', key)
61
+ assert_equal("<html><body><input type=\"hidden\" value=\"#{key}\"></body></html>", new_html)
62
+ assert_equal(original_html, marker.revert(new_html))
63
+ end
64
+
65
+ def test_revert_input_empty_value
66
+ marker = HtmlReplaceMarker.new
67
+ original_html = '<html><body><input type="hidden" value=""></body></html>'
68
+ key = marker.add_value('')
69
+ new_html = original_html.sub('value=""', "value=\"#{key}\"")
70
+ assert_equal("<html><body><input type=\"hidden\" value=\"#{key}\"></body></html>", new_html)
71
+ assert_equal(original_html, marker.revert(new_html))
72
+ end
73
+
74
+ def test_revert_multiple_input
75
+ marker = HtmlReplaceMarker.new
76
+ original_html = '<html><body>'
77
+ new_html = '<html><body>'
78
+
79
+ 50.times do |i|
80
+ original_html += "<input type=\"hidden\" value=\"#{i}\"></body></html>"
81
+ new_html += "<input type=\"hidden\" value=\"#{marker.add_value(i.to_s)}\"></body></html>"
82
+ end
83
+
84
+ original_html += '</body></html>'
85
+ new_html += '</body></html>'
86
+
87
+ assert_equal(original_html, marker.revert(new_html))
88
+ end
89
+
90
+ def test_revert_multiple_values
91
+ marker = HtmlReplaceMarker.new
92
+ original_html = '<html><body>hello<a> replacement </a>world </body></html>'
93
+ key1 = marker.add_comment_value('hello')
94
+ key2 = marker.add_comment_value('replacement')
95
+ key3 = marker.add_comment_value('world')
96
+ new_html = original_html.sub('hello', key1)
97
+ new_html = new_html.sub('replacement', key2).sub('world', key3)
98
+ assert_equal("<html><body>#{key1}<a> #{key2} </a>#{key3} </body></html>", new_html)
99
+ assert_equal(original_html, marker.revert(new_html))
100
+ end
101
+
102
+ def test_revert_multiple_similar_values
103
+ marker = HtmlReplaceMarker.new
104
+ original_html = '<html><body>'
105
+ 25.times { |i| original_html += "<a>hello_#{i}</a>" }
106
+ original_html += '</body></html>'
107
+
108
+ new_html = original_html
109
+ keys = []
110
+ 25.times do |i|
111
+ key = marker.add_comment_value("hello_#{i}")
112
+ keys << key
113
+ new_html = new_html.sub("hello_#{i}", key)
114
+ end
115
+
116
+ assert_equal(false, new_html.include?('hello'))
117
+ assert_equal(original_html, marker.revert(new_html))
118
+ end
119
+
120
+ def test_revert_same_value
121
+ marker = HtmlReplaceMarker.new
122
+ original_html = '<html><body>hello<a>hello</a>hello</body></html>'
123
+ key1 = marker.add_comment_value('hello')
124
+ key2 = marker.add_comment_value('hello')
125
+ key3 = marker.add_comment_value('hello')
126
+ new_html = "<html><body>#{key1}<a>#{key2}</a>#{key3}</body></html>"
127
+ assert_equal(original_html, marker.revert(new_html))
128
+ end
129
+
130
+ def test_revert_mixed_values
131
+ marker = HtmlReplaceMarker.new
132
+ original_html = [
133
+ '<html><body>',
134
+ '<span>hello</span>',
135
+ '<input type="hidden" value="please_revert">',
136
+ '</body></html>'
137
+ ].join
138
+ key1 = marker.add_comment_value('hello')
139
+ key2 = marker.add_value('please_revert')
140
+ new_html = [
141
+ '<html><body>',
142
+ "<span>#{key1}</span>",
143
+ "<input type=\"hidden\" value=\"#{key2}\">",
144
+ '</body></html>'
145
+ ].join
146
+ assert_equal(original_html, marker.revert(new_html))
147
+ end
148
+ end
149
+ end