Sha256: 25a1050aa28ec4a537e46f948553a2fdc6fa3c30304261139acb03557f14f3f8

Contents?: true

Size: 1.42 KB

Versions: 22

Compression:

Stored size: 1.42 KB

Contents

# coding: utf-8
require File.expand_path(::File.dirname(__FILE__) + '/../lib/xml/smart')
require File.expand_path(::File.dirname(__FILE__) + '/smartrunner.rb')

class TestDelete < Minitest::Test
  def test_delete
    doc = XML::Smart.open(::File.dirname(__FILE__) + "/EXAMPLE.xml")

    nodes = doc.root.find("/test/names/name")
    assert(nodes.length == 6)
    
    nodes.delete_if{ |n| n.text == "Egon"; }
    assert(nodes.length == 5)
    
    nodes.delete_at(2)
    assert(nodes.length == 4)
    
    nodes.delete_at(-2)
    assert(nodes.length == 3)
    
    nodes = doc.root.find("/test/names/*")
    assert(nodes[0].qname.name == 'name')
    assert(nodes[0].attributes['team'] == '0')
    assert(nodes[0].attributes['a'] == '3')

    assert(nodes[1].qname.name == 'name')
    assert(nodes[1].attributes['team'] == '1')
    assert(nodes[1].text == "Jürgen")

    assert(nodes[2].qname.name == 'name')
    assert(nodes[2].attributes['team'] == '2')
    assert(nodes[2].text == 'Kathrin ')

    nodes = doc.root.find("/test/names/name/@team")
    nodes.delete_if{ |n| n.to_i % 2  != 0 }
    assert(nodes[0].value == '0')
    assert(nodes[1].value == '2')
    assert(nodes[2].nil?)
    
    nodes = doc.root.find("/test/names/name/@team")
    assert(nodes[0].value == '0')
    assert(nodes[1].value == '2')
    
    nodes.delete_all!
    assert(nodes.empty?)
    
    nodes = doc.root.find("/test/names/name/@team")
    assert(nodes.empty?)
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
xml-smart-0.5.3 test/tc_delete.rb
xml-smart-0.5.2 test/tc_delete.rb
xml-smart-0.5.1 test/tc_delete.rb
xml-smart-0.5.0 test/tc_delete.rb
xml-smart-0.4.4 test/tc_delete.rb
xml-smart-0.4.3 test/tc_delete.rb
xml-smart-0.4.2 test/tc_delete.rb
xml-smart-0.4.1 test/tc_delete.rb
xml-smart-0.4.0 test/tc_delete.rb
xml-smart-0.3.22 test/tc_delete.rb
xml-smart-0.3.21 test/tc_delete.rb
xml-smart-0.3.20 test/tc_delete.rb
xml-smart-0.3.19 test/tc_delete.rb
xml-smart-0.3.18 test/tc_delete.rb
xml-smart-0.3.17 test/tc_delete.rb
xml-smart-0.3.16 test/tc_delete.rb
xml-smart-0.3.15 test/tc_delete.rb
xml-smart-0.3.14 test/tc_delete.rb
xml-smart-0.3.12 test/tc_delete.rb
xml-smart-0.3.11 test/tc_delete.rb