Sha256: 1dbf8e80268161b58ad3610d0d025f3159390c5f863642d59e5e93a8b8020d02

Contents?: true

Size: 1.58 KB

Versions: 1

Compression:

Stored size: 1.58 KB

Contents

require 'test_helper'
require 'webmock/minitest'

module Wovnrb
  class TextReplacerTest < WovnMiniTest
    def test_replace
      replacer = TextReplacer.new({
        'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
      })

      dom = Wovnrb.get_dom('Hello')
      replacer.replace(dom, Lang.new('ja'))

      content = dom.xpath('//text()')[0].content
      assert_equal('こんにちは', content)
    end

    def test_replace_multiple
      replacer = TextReplacer.new({
        'Hello' => {'ja' => [{'data' => 'こんにちは'}]},
        'Bye' => {'ja' => [{'data' => 'さようなら'}]}
      })

      dom = Wovnrb.get_dom('<span>Hello</span><span>Bye</span>')
      replacer.replace(dom, Lang.new('ja'))

      content = dom.xpath('//text()')[0].content
      content2 = dom.xpath('//text()')[1].content
      assert_equal('こんにちは', content)
      assert_equal('さようなら', content2)
    end

    def test_replace_with_space
      replacer = TextReplacer.new({
        'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
      })

      dom = Wovnrb.get_dom('    Hello    ')
      replacer.replace(dom, Lang.new('ja'))

      content = dom.xpath('//text()')[0].content
      assert_equal('    こんにちは    ', content)
    end

    def test_replace_wovn_ignore
      replacer = TextReplacer.new({
        'Hello' => {'ja' => [{'data' => 'こんにちは'}]}
      })

      dom = Wovnrb.get_dom('<div wovn-ignore>Hello</div>')
      replacer.replace(dom, Lang.new('ja'))

      content = dom.xpath('//text()')[0].content
      assert_equal('Hello', content)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wovnrb-0.2.02 test/lib/html_replacers/text_replacer_test.rb