File: test_exception_handling.rb

package info (click to toggle)
ruby-nokogiri 1.13.10%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 7,416 kB
  • sloc: ansic: 38,198; xml: 28,086; ruby: 22,271; java: 15,517; cpp: 7,037; yacc: 244; sh: 148; makefile: 136
file content (38 lines) | stat: -rw-r--r-- 903 bytes parent folder | download
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
38
# frozen_string_literal: true

require "helper"

module Nokogiri
  module XSLT
    class TestExceptionHandling < Nokogiri::TestCase
      def test_java_exception_handling
        skip_unless_jruby("This test is for Java only")

        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

        e = assert_raises(RuntimeError) do
          xsl.transform(xml)
        end

        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