File: test_ns.rb

package info (click to toggle)
ruby-soap4r 2.0.5-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,032 kB
  • sloc: ruby: 52,729; xml: 266; sh: 42; javascript: 20; makefile: 13; perl: 10
file content (41 lines) | stat: -rw-r--r-- 1,000 bytes parent folder | download | duplicates (5)
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
39
40
41
require 'test/unit'
require 'soap/marshal'


module XSD


class TestNS < Test::Unit::TestCase
  def test_xmllang
    @file = File.join(File.dirname(File.expand_path(__FILE__)), 'xmllang.xml')
    obj = SOAP::Marshal.load(File.open(@file) { |f| f.read })
    assert_equal("12345", obj.partyDataLine.gln)
    lang = obj.partyDataLine.__xmlattr[
      XSD::QName.new(XSD::NS::Namespace, "lang")]
    assert_equal("EN", lang)
  end

  def test_no_default_namespace
    env = SOAP::Processor.unmarshal(NO_DEFAULT_NAMESPACE)
    array = env.body.root_node["array"]
    item = array["item"]
    assert_equal("urn:ns", array.elename.namespace)
    assert_equal(nil, item.elename.namespace)
  end

NO_DEFAULT_NAMESPACE = <<__XML__
<?xml version="1.0" encoding="utf-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Body>
    <response xmlns="urn:ns">
      <array>
        <item attr="1" xmlns=""/>
      </array>
    </response>
  </env:Body>
</env:Envelope>
__XML__
end


end