# -*- encoding: UTF-8 -*-
require 'test_helper'
require 'webmock/minitest'
module Wovnrb
class InputReplacerTest < WovnMiniTest
def test_replace_submit_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('こんにちは', content)
end
def test_dont_replace_empty_submit_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('', content)
end
def test_dont_replace_type_text_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('Hello', content)
end
def test_dont_replace_type_search_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('Hello', content)
end
def test_dont_replace_type_hidden_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('Hello', content)
end
def test_dont_replace_type_password_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('Hello', content)
end
def test_replace_type_password_placeholder
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]},
'Hi' => {'ja' => [{'data' => 'やぁ'}]},
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
value_content = dom.xpath('//input')[0].get_attribute('value')
placeholder_content = dom.xpath('//input')[0].get_attribute('placeholder')
assert_equal('Hello', value_content)
assert_equal('やぁ', placeholder_content)
end
def test_dont_replace_type_url_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('Hello', content)
end
def test_dont_replace_no_type_value
store = Store.instance
replacer = InputReplacer.new(store, {
'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
})
dom = Wovnrb.get_dom('')
replacer.replace(dom, Lang.new('ja'))
content = dom.xpath('//input')[0].get_attribute('value')
assert_equal('Hello', content)
end
end
end