File: test-display_xml.rb

package info (click to toggle)
ruby-htree 0.8%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 520 kB
  • sloc: ruby: 5,928; makefile: 23
file content (45 lines) | stat: -rw-r--r-- 1,333 bytes parent folder | download | duplicates (7)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
require 'test/unit'
require 'htree/elem'
require 'htree/display'

class TestXMLNS < Test::Unit::TestCase
  def assert_xml(expected, node)
    assert_equal(expected, node.display_xml('', 'US-ASCII'))
  end

  def test_update_xmlns_empty
    assert_xml("<n\n/>", HTree::Elem.new('n'))
  end

  def test_reduce_xmlns
    assert_xml(
      "<p:n xmlns:p=\"u\"\n/>",
      HTree::Elem.new('p:n', {'xmlns:p'=>'u'}))

    assert_xml(
      "<n xmlns:p=\"u\"\n><p:n\n/></n\n>",
      HTree::Elem.new('n', {'xmlns:p'=>'u'}, HTree::Elem.new('p:n', {'xmlns:p'=>'u'})))

    assert_xml(
      "<n xmlns:p=\"u\"\n><p:n xmlns:p=\"v\"\n/></n\n>",
      HTree::Elem.new('n', {'xmlns:p'=>'u'}, HTree::Elem.new('p:n', {'xmlns:p'=>'v'})))
  end

  def test_extra_xmlns
    assert_xml(
      "<p:n xmlns:p=\"u\"\n/>",
      HTree::Elem.new(HTree::Name.new('p', 'u', 'n')))

    assert_xml(
      "<nn\n><p:n xmlns:p=\"u\"\n/></nn\n>",
      HTree::Elem.new('nn', HTree::Elem.new(HTree::Name.new('p', 'u', 'n'))))

    assert_xml(
      "<nn xmlns:p=\"u\"\n><p:n\n/></nn\n>",
      HTree::Elem.new('nn', {'xmlns:p'=>'u'}, HTree::Elem.new(HTree::Name.new('p', 'u', 'n'))))

    assert_xml(
      "<nn xmlns:p=\"v\"\n><p:n xmlns:p=\"u\"\n/></nn\n>",
      HTree::Elem.new('nn', {'xmlns:p'=>'v'}, HTree::Elem.new(HTree::Name.new('p', 'u', 'n'))))
  end
end