File: test-gencode.rb

package info (click to toggle)
ruby-htree 0.8%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 448 kB
  • ctags: 703
  • sloc: ruby: 5,931; makefile: 24
file content (27 lines) | stat: -rw-r--r-- 873 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
require 'test/unit'
require 'htree/gencode'
require 'htree/parse'

class TestGenCode < Test::Unit::TestCase
  def run_code(code, top_context)
    out = HTree::Encoder.new(HTree::Encoder.internal_charset, HTree::Encoder.internal_charset)
    eval(code)
    out.finish
  end

  def test_xmlns
    t = HTree.parse_xml('<p:n xmlns:p=z><p:m>bb').children[0].children[0] # <p:m>bb</p:m>
    code = t.generate_xml_output_code
    
    assert_equal("<p:m xmlns:p=\"z\"\n>bb</p:m\n>", run_code(code, HTree::DefaultContext))
    assert_equal("<p:m\n>bb</p:m\n>", run_code(code, HTree::DefaultContext.subst_namespaces("p"=>"z")))
  end

  def test_xmlns_chref
    t = HTree.parse_xml('<p:n xmlns:p="a&amp;<>&quot;b"/>').children[0]
    code = t.generate_xml_output_code
    assert_equal("<p:n xmlns:p=\"a&amp;&lt;&gt;&quot;b\"\n/>", run_code(code, HTree::DefaultContext))
  end

end