Sha256: 531f4d22371c4699b18581c50645ea1a51a2814db6721e06c102bc763a271704

Contents?: true

Size: 1.4 KB

Versions: 88

Compression:

Stored size: 1.4 KB

Contents

require "helper"

module Nokogiri
  module XML
    class TestNodeAttributes < Nokogiri::TestCase
      def test_attribute_with_ns
        doc = Nokogiri::XML <<-eoxml
          <root xmlns:tlm='http://tenderlovemaking.com/'>
            <node tlm:foo='bar' foo='baz' />
          </root>
        eoxml

        node = doc.at('node')

        assert_equal 'bar',
          node.attribute_with_ns('foo', 'http://tenderlovemaking.com/').value
      end

      def test_namespace_key?
        doc = Nokogiri::XML <<-eoxml
          <root xmlns:tlm='http://tenderlovemaking.com/'>
            <node tlm:foo='bar' foo='baz' />
          </root>
        eoxml

        node = doc.at('node')

        assert node.namespaced_key?('foo', 'http://tenderlovemaking.com/')
        assert node.namespaced_key?('foo', nil)
        assert !node.namespaced_key?('foo', 'foo')
      end

      def test_set_attribute_frees_nodes # testing a segv
        skip("JRuby doesn't do GC.") if Nokogiri.jruby?
        document = Nokogiri::XML.parse("<foo></foo>")

        node = document.root
        node['visible'] = 'foo'
        attribute = node.attribute('visible')
        text = Nokogiri::XML::Text.new 'bar', document
        attribute.add_child(text)

        begin
          gc_previous = GC.stress
          GC.stress = true
          node['visible'] = 'attr'
        ensure
          GC.stress = gc_previous
        end
      end
    end
  end
end

Version data entries

88 entries across 88 versions & 7 rubygems

Version Path
nokogiri-fitzsimmons-1.5.5.3-java test/xml/test_node_attributes.rb
nokogiri-fitzsimmons-1.5.5.3 test/xml/test_node_attributes.rb
nokogiri-fitzsimmons-1.5.5 test/xml/test_node_attributes.rb
nokogiri-maglev--1.5.5.20120817130721 test/xml/test_node_attributes.rb
nokogiri-maglev--1.5.2 test/xml/test_node_attributes.rb
nokogiri-maglev--1.5.5 test/xml/test_node_attributes.rb
nokogiri-maglev--1.5.4.20120815005250 test/xml/test_node_attributes.rb
nokogiri-maglev--1.5.3 test/xml/test_node_attributes.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/test/xml/test_node_attributes.rb
nokogiri-1.5.5 test/xml/test_node_attributes.rb
nokogiri-1.5.5-x86-mswin32-60 test/xml/test_node_attributes.rb
nokogiri-1.5.5-x86-mingw32 test/xml/test_node_attributes.rb
nokogiri-1.5.5-java test/xml/test_node_attributes.rb
nokogiri-1.5.5.rc3 test/xml/test_node_attributes.rb
nokogiri-1.5.5.rc3-x86-mswin32-60 test/xml/test_node_attributes.rb
nokogiri-1.5.5.rc3-x86-mingw32 test/xml/test_node_attributes.rb
nokogiri-1.5.5.rc3-java test/xml/test_node_attributes.rb
sunrise-cms-0.3.2 vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/test/xml/test_node_attributes.rb
sunrise-cms-0.3.1 vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/test/xml/test_node_attributes.rb
sunrise-cms-0.3.0 vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/test/xml/test_node_attributes.rb