File: test_exception_handling.rb

package info (click to toggle)
ruby-nokogiri 1.10.0%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 5,088 kB
  • sloc: xml: 28,081; ruby: 16,687; java: 13,293; ansic: 4,954; yacc: 265; sh: 76; makefile: 19
file content (37 lines) | stat: -rw-r--r-- 794 bytes parent folder | download | duplicates (3)
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
require "helper"

module Nokogiri
  module XSLT
    class TestExceptionHandling < Nokogiri::TestCase
      def test_java_exception_handling
        skip('This test is for Java only') if Nokogiri.uses_libxml?

        xml = Nokogiri.XML(<<-EOXML)
<foo>
  <bar/>
</foo>
EOXML

        xsl = Nokogiri.XSLT(<<-EOXSL)
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
    <a/>
    <b/>
  </xsl:template>
</xsl:stylesheet>
EOXSL

        begin
          xsl.transform xml
          fail('It should not get here')
        rescue RuntimeError => e
          assert_match(/Can't have more than one root/, e.to_s, 'The exception message does not contain the expected information')
        end
      end

    end
  end
end