xmlslurpertest.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 65 行

GROOVY
65
字号
package groovy.utilimport groovy.xml.TraversalTestSupportimport groovy.xml.GpathSyntaxTestSupportimport groovy.xml.MixedMarkupTestSupportclass XmlSlurperTest extends GroovyTestCase {    def getRoot = { xml -> new XmlSlurper().parseText(xml) }    void testWsdl() {        def wsdl = '''            <definitions name="AgencyManagementService"                         xmlns:ns1="http://www.example.org/NS1"                         xmlns:xsd="http://www.w3.org/2001/XMLSchema"                         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"                         xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"                         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"                         xmlns="http://schemas.xmlsoap.org/wsdl/">                                                              <message name="SomeRequest">                                                                              <part name="parameters" element="ns1:SomeReq" />                                                  </message>                                                                                            <message name="SomeResponse">                                                                             <part name="result" element="ns1:SomeRsp" />                                                      </message>                                                                                        </definitions>                                                                                        '''        def xml = new XmlSlurper().parseText(wsdl)        assert xml.message.part.@element.findAll {it =~ /.Req$/}.size() == 1        assert xml.message.part.findAll { true }.size() == 2        assert xml.message.part.find { it.name() == 'part' }.name() == 'part'        assert xml.message.findAll { true }.size() == 2        assert xml.message.part.lookupNamespace("ns1") == "http://www.example.org/NS1"        assert xml.message.part.lookupNamespace("") == "http://schemas.xmlsoap.org/wsdl/"        assert xml.message.part.lookupNamespace("undefinedPrefix") == null        xml.message.findAll { true }.each { assert it.name() == "message"}    }    void testElement() {        GpathSyntaxTestSupport.checkElement(getRoot)        GpathSyntaxTestSupport.checkFindElement(getRoot)        GpathSyntaxTestSupport.checkElementTypes(getRoot)        GpathSyntaxTestSupport.checkElementClosureInteraction(getRoot)    }    void testAttribute() {        GpathSyntaxTestSupport.checkAttribute(getRoot)        GpathSyntaxTestSupport.checkAttributes(getRoot)    }    void testNavigation() {        GpathSyntaxTestSupport.checkChildren(getRoot)        GpathSyntaxTestSupport.checkParent(getRoot)    }    void testTraversal() {        TraversalTestSupport.checkDepthFirst(getRoot)        TraversalTestSupport.checkBreadthFirst(getRoot)    }    void testMixedMarkup() {        MixedMarkupTestSupport.checkMixedMarkup(getRoot)    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?