require 'test_helper' module Wovnrb class HtmlReplaceMarkerTest < WovnMiniTest def test_add_comment_value marker = HtmlReplaceMarker.new assert_equal('', marker.add_comment_value('hello')) end def test_add_comment_value_multiple_times marker = HtmlReplaceMarker.new assert_equal('', marker.add_comment_value('hello')) assert_equal('', marker.add_comment_value('hello')) assert_equal('', marker.add_comment_value('hello')) assert_equal('', marker.add_comment_value('hello')) end def test_add_same_comment_value_multiple_times marker = HtmlReplaceMarker.new 25.times do |i| assert_equal("", marker.add_comment_value('hello')) end end def test_add_same_value_multiple_times marker = HtmlReplaceMarker.new 25.times do |i| assert_equal("__wovn-backend-ignored-key-#{i}", marker.add_value('hello')) end end def test_mixed_add_comment_value_and_add_value marker = HtmlReplaceMarker.new assert_equal('', marker.add_comment_value('hello')) assert_equal('__wovn-backend-ignored-key-1', marker.add_value('hello')) assert_equal('', marker.add_comment_value('hello')) assert_equal('__wovn-backend-ignored-key-3', marker.add_value('hello')) assert_equal('', marker.add_comment_value('hello')) assert_equal('__wovn-backend-ignored-key-5', marker.add_value('hello')) assert_equal('', marker.add_comment_value('hello')) assert_equal('__wovn-backend-ignored-key-7', marker.add_value('hello')) end def test_revert marker = HtmlReplaceMarker.new original_html = '
hello replacement world ' key = marker.add_comment_value('hello') new_html = original_html.sub('hello', key) assert_equal("#{key} replacement world ", new_html) assert_equal(original_html, marker.revert(new_html)) end def test_revert_input_value marker = HtmlReplaceMarker.new original_html = '' key = marker.add_value('please-revert') new_html = original_html.sub('please-revert', key) assert_equal("", new_html) assert_equal(original_html, marker.revert(new_html)) end def test_revert_input_empty_value marker = HtmlReplaceMarker.new original_html = '' key = marker.add_value('') new_html = original_html.sub('value=""', "value=\"#{key}\"") assert_equal("", new_html) assert_equal(original_html, marker.revert(new_html)) end def test_revert_multiple_input marker = HtmlReplaceMarker.new original_html = [ '', '', '