Sha256: 36e023aa8197f44780edd77a4d42147a5a37d331c8b97f6f42cecf83ba59cfd9
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 KB
Contents
require_relative 'helper' describe 'XML::SAX::Debug event method warning' do it 'warns #start_document' do assert_match regexp('start_document: []'), parse('<r/>') end it 'warns #end_document' do assert_match regexp('end_document: []'), parse('<r/>') end it 'warns #start_element' do assert_match regexp('start_element: ["r", []]'), parse('<r/>') end it 'warns #start_element with attributes' do assert_match regexp('start_element: ["r", [["id", "1"]]]'), parse('<r id="1"/>') end it 'warns #end_element' do assert_match regexp('end_element: ["r"]'), parse('<r/>') end it 'warns #characters' do assert_match regexp('characters: ["woot"]'), parse('<r>woot</r>') end it 'warns #comment' do assert_match regexp('comment: [" woot "]'), parse('<r><!-- woot --></r>') end it 'warns #cdata_block' do assert_match regexp('cdata_block: [" woot "]'), parse('<r><![CDATA[ woot ]]></r>') end protected def parse(xml) parser = Nokogiri::XML::SAX::PushParser.new(XML::SAX::Debug.new) capture_stderr do parser << xml parser.finish end end def regexp(string) Regexp.compile('^' + Regexp.escape(string)) end def capture_stderr(&block) $stderr = StringIO.new yield result = $stderr.rewind && $stderr.read $stderr = STDERR result end end # DebugTest
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
xml-sax-machines-0.4.1 | test/test_debug.rb |
xml-sax-machines-0.4.0 | test/test_debug.rb |
xml-sax-machines-0.3.0 | test/test_debug.rb |