|
62 | 62 | expect(source_doc.root.elements[2].to_s).to eql('<c/>')
|
63 | 63 | end
|
64 | 64 | end
|
| 65 | + context 'when inserting to parent with namespace while node has no namespace' do |
| 66 | + it 'inserted node has no namespace' do |
| 67 | + source_doc = Nokogiri::XML('<n:root xmlns:n="ns"><a/><c/></n:root>') |
| 68 | + transform_doc = Nokogiri::XML('<b/>') |
| 69 | + source_node = source_doc.root |
| 70 | + transform_node = transform_doc.root |
| 71 | + |
| 72 | + XdtTransformInsertBefore.new(['/n:root/c']).transform(source_node, transform_node) |
| 73 | + expect(source_doc.root.elements.length).to eql(3) |
| 74 | + expect(source_doc.root.elements[0].to_s).to eql('<a/>') |
| 75 | + expect(source_doc.root.elements[1].to_s).to eql('<b/>') |
| 76 | + expect(source_doc.root.elements[2].to_s).to eql('<c/>') |
| 77 | + end |
| 78 | + end |
| 79 | + context 'when inserting to parent with namespace while node has different namespace' do |
| 80 | + it 'inserted node has own namespace' do |
| 81 | + source_doc = Nokogiri::XML('<n1:root xmlns:n1="ns1"><a/><c/></n:root>') |
| 82 | + transform_doc = Nokogiri::XML('<n2:b xmlns:n2="ns2"/>') |
| 83 | + source_node = source_doc.root |
| 84 | + transform_node = transform_doc.root |
| 85 | + |
| 86 | + XdtTransformInsertBefore.new(['/n1:root/c']).transform(source_node, transform_node) |
| 87 | + expect(source_doc.root.elements.length).to eql(3) |
| 88 | + expect(source_doc.root.elements[0].to_s).to eql('<a/>') |
| 89 | + expect(source_doc.root.elements[1].to_s).to eql('<n2:b xmlns:n2="ns2"/>') |
| 90 | + expect(source_doc.root.elements[2].to_s).to eql('<c/>') |
| 91 | + expect(source_doc.root.elements[1].namespace.href).to eql("ns2") |
| 92 | + end |
| 93 | + end |
65 | 94 | end
|
66 | 95 | end
|
0 commit comments