rtiss_soap4r 2.1.1 → 3.0.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +20 -0
  3. data/.envrc +4 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +39 -0
  6. data/COPYING +7 -0
  7. data/GPL +340 -0
  8. data/Gemfile +53 -0
  9. data/Gemfile.lock +221 -0
  10. data/README.md +57 -0
  11. data/RELEASE_en.html +1900 -0
  12. data/RUBYS +56 -0
  13. data/Rakefile +88 -0
  14. data/bin/wsdl2ruby.rb +1 -4
  15. data/bin/xsd2ruby.rb +2 -4
  16. data/gemfiles/httpclient.gemfile +26 -0
  17. data/install.rb +91 -0
  18. data/lib/soap/attachment.rb +27 -11
  19. data/lib/soap/attrproxy.rb +0 -1
  20. data/lib/soap/baseData.rb +15 -3
  21. data/lib/soap/element.rb +1 -2
  22. data/lib/soap/encodingstyle/aspDotNetHandler.rb +0 -1
  23. data/lib/soap/encodingstyle/handler.rb +0 -1
  24. data/lib/soap/encodingstyle/literalHandler.rb +0 -1
  25. data/lib/soap/encodingstyle/soapHandler.rb +0 -1
  26. data/lib/soap/filter/filterchain.rb +1 -2
  27. data/lib/soap/filter/handler.rb +0 -1
  28. data/lib/soap/filter/streamhandler.rb +0 -1
  29. data/lib/soap/filter.rb +0 -1
  30. data/lib/soap/generator.rb +3 -3
  31. data/lib/soap/header/handler.rb +0 -1
  32. data/lib/soap/header/handlerset.rb +0 -1
  33. data/lib/soap/header/mappinghandler.rb +0 -1
  34. data/lib/soap/header/simplehandler.rb +0 -1
  35. data/lib/soap/httpconfigloader.rb +1 -2
  36. data/lib/soap/mapping/encodedregistry.rb +22 -20
  37. data/lib/soap/mapping/factory.rb +42 -13
  38. data/lib/soap/mapping/literalregistry.rb +3 -6
  39. data/lib/soap/mapping/mapping.rb +11 -12
  40. data/lib/soap/mapping/registry.rb +2 -5
  41. data/lib/soap/mapping/rubytypeFactory.rb +2 -2
  42. data/lib/soap/mapping/schemadefinition.rb +0 -1
  43. data/lib/soap/mapping/typeMap.rb +0 -2
  44. data/lib/soap/mapping/wsdlencodedregistry.rb +1 -2
  45. data/lib/soap/mapping/wsdlliteralregistry.rb +0 -1
  46. data/lib/soap/mapping.rb +0 -1
  47. data/lib/soap/marshal.rb +0 -1
  48. data/lib/soap/mimemessage.rb +52 -27
  49. data/lib/soap/nestedexception.rb +1 -2
  50. data/lib/soap/netHttpClient.rb +4 -5
  51. data/lib/soap/ns.rb +0 -5
  52. data/lib/soap/parser.rb +1 -1
  53. data/lib/soap/processor.rb +0 -1
  54. data/lib/soap/property.rb +21 -18
  55. data/lib/soap/proxy.rb +0 -1
  56. data/lib/soap/rpc/cgistub.rb +3 -4
  57. data/lib/soap/rpc/driver.rb +175 -176
  58. data/lib/soap/rpc/element.rb +2 -3
  59. data/lib/soap/rpc/element.rb.orig +374 -0
  60. data/lib/soap/rpc/httpserver.rb +1 -3
  61. data/lib/soap/rpc/methodDef.rb +0 -1
  62. data/lib/soap/rpc/proxy.rb +2 -3
  63. data/lib/soap/rpc/router.rb +36 -7
  64. data/lib/soap/rpc/rpc.rb +0 -1
  65. data/lib/soap/rpc/soaplet.rb +2 -3
  66. data/lib/soap/rpc/standaloneServer.rb +1 -2
  67. data/lib/soap/soap.rb +4 -30
  68. data/lib/soap/streamHandler.rb +8 -10
  69. data/lib/soap/version.rb +4 -4
  70. data/lib/soap/wsdlDriver.rb +0 -2
  71. data/lib/wsdl/binding.rb +0 -1
  72. data/lib/wsdl/data.rb +0 -1
  73. data/lib/wsdl/definitions.rb +0 -1
  74. data/lib/wsdl/documentation.rb +0 -1
  75. data/lib/wsdl/import.rb +0 -1
  76. data/lib/wsdl/importer.rb +0 -1
  77. data/lib/wsdl/info.rb +0 -1
  78. data/lib/wsdl/message.rb +0 -1
  79. data/lib/wsdl/operation.rb +0 -1
  80. data/lib/wsdl/operationBinding.rb +3 -4
  81. data/lib/wsdl/param.rb +0 -1
  82. data/lib/wsdl/parser.rb +5 -21
  83. data/lib/wsdl/part.rb +0 -1
  84. data/lib/wsdl/port.rb +0 -1
  85. data/lib/wsdl/portType.rb +0 -1
  86. data/lib/wsdl/service.rb +0 -1
  87. data/lib/wsdl/soap/address.rb +0 -1
  88. data/lib/wsdl/soap/binding.rb +0 -1
  89. data/lib/wsdl/soap/body.rb +0 -1
  90. data/lib/wsdl/soap/cgiStubCreator.rb +0 -1
  91. data/lib/wsdl/soap/classDefCreator.rb +20 -1
  92. data/lib/wsdl/soap/classDefCreatorSupport.rb +1 -2
  93. data/lib/wsdl/soap/classNameCreator.rb +0 -1
  94. data/lib/wsdl/soap/clientSkeltonCreator.rb +2 -5
  95. data/lib/wsdl/soap/complexType.rb +0 -1
  96. data/lib/wsdl/soap/data.rb +0 -1
  97. data/lib/wsdl/soap/definitions.rb +1 -2
  98. data/lib/wsdl/soap/driverCreator.rb +75 -74
  99. data/lib/wsdl/soap/element.rb +0 -1
  100. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +0 -1
  101. data/lib/wsdl/soap/fault.rb +0 -1
  102. data/lib/wsdl/soap/header.rb +0 -1
  103. data/lib/wsdl/soap/headerfault.rb +0 -1
  104. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +0 -1
  105. data/lib/wsdl/soap/mappingRegistryCreator.rb +0 -1
  106. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +0 -1
  107. data/lib/wsdl/soap/methodDefCreator.rb +9 -1
  108. data/lib/wsdl/soap/operation.rb +1 -2
  109. data/lib/wsdl/soap/servantSkeltonCreator.rb +2 -5
  110. data/lib/wsdl/soap/servletStubCreator.rb +0 -1
  111. data/lib/wsdl/soap/standaloneServerStubCreator.rb +0 -1
  112. data/lib/wsdl/soap/wsdl2ruby.rb +9 -5
  113. data/lib/wsdl/types.rb +0 -1
  114. data/lib/wsdl/wsdl.rb +0 -1
  115. data/lib/wsdl/xmlSchema/all.rb +0 -1
  116. data/lib/wsdl/xmlSchema/annotation.rb +0 -1
  117. data/lib/wsdl/xmlSchema/any.rb +0 -1
  118. data/lib/wsdl/xmlSchema/anyAttribute.rb +0 -1
  119. data/lib/wsdl/xmlSchema/attribute.rb +0 -1
  120. data/lib/wsdl/xmlSchema/attributeGroup.rb +0 -1
  121. data/lib/wsdl/xmlSchema/choice.rb +0 -1
  122. data/lib/wsdl/xmlSchema/complexContent.rb +0 -1
  123. data/lib/wsdl/xmlSchema/complexExtension.rb +0 -1
  124. data/lib/wsdl/xmlSchema/complexRestriction.rb +0 -1
  125. data/lib/wsdl/xmlSchema/complexType.rb +0 -1
  126. data/lib/wsdl/xmlSchema/content.rb +0 -1
  127. data/lib/wsdl/xmlSchema/data.rb +0 -1
  128. data/lib/wsdl/xmlSchema/element.rb +1 -2
  129. data/lib/wsdl/xmlSchema/enumeration.rb +0 -1
  130. data/lib/wsdl/xmlSchema/fractiondigits.rb +0 -1
  131. data/lib/wsdl/xmlSchema/group.rb +0 -1
  132. data/lib/wsdl/xmlSchema/import.rb +1 -1
  133. data/lib/wsdl/xmlSchema/importHandler.rb +1 -1
  134. data/lib/wsdl/xmlSchema/importer.rb +0 -1
  135. data/lib/wsdl/xmlSchema/include.rb +1 -1
  136. data/lib/wsdl/xmlSchema/length.rb +0 -1
  137. data/lib/wsdl/xmlSchema/list.rb +0 -1
  138. data/lib/wsdl/xmlSchema/maxexclusive.rb +0 -1
  139. data/lib/wsdl/xmlSchema/maxinclusive.rb +0 -1
  140. data/lib/wsdl/xmlSchema/maxlength.rb +0 -1
  141. data/lib/wsdl/xmlSchema/minexclusive.rb +0 -1
  142. data/lib/wsdl/xmlSchema/mininclusive.rb +0 -1
  143. data/lib/wsdl/xmlSchema/minlength.rb +0 -1
  144. data/lib/wsdl/xmlSchema/parser.rb +4 -5
  145. data/lib/wsdl/xmlSchema/pattern.rb +0 -1
  146. data/lib/wsdl/xmlSchema/ref.rb +0 -1
  147. data/lib/wsdl/xmlSchema/schema.rb +0 -1
  148. data/lib/wsdl/xmlSchema/sequence.rb +0 -1
  149. data/lib/wsdl/xmlSchema/simpleContent.rb +0 -1
  150. data/lib/wsdl/xmlSchema/simpleExtension.rb +0 -1
  151. data/lib/wsdl/xmlSchema/simpleRestriction.rb +0 -1
  152. data/lib/wsdl/xmlSchema/simpleType.rb +0 -1
  153. data/lib/wsdl/xmlSchema/totaldigits.rb +0 -1
  154. data/lib/wsdl/xmlSchema/union.rb +0 -1
  155. data/lib/wsdl/xmlSchema/unique.rb +0 -1
  156. data/lib/wsdl/xmlSchema/whitespace.rb +0 -1
  157. data/lib/wsdl/xmlSchema/xsd2ruby.rb +0 -3
  158. data/lib/xsd/charset.rb +162 -152
  159. data/lib/xsd/codegen/classdef.rb +0 -1
  160. data/lib/xsd/codegen/commentdef.rb +0 -1
  161. data/lib/xsd/codegen/gensupport.rb +5 -9
  162. data/lib/xsd/codegen/methoddef.rb +0 -1
  163. data/lib/xsd/codegen/moduledef.rb +0 -1
  164. data/lib/xsd/codegen.rb +0 -1
  165. data/lib/xsd/datatypes.rb +1122 -1098
  166. data/lib/xsd/datatypes1999.rb +0 -1
  167. data/lib/xsd/iconvcharset.rb +2 -19
  168. data/lib/xsd/mapping.rb +0 -1
  169. data/lib/xsd/namedelements.rb +0 -1
  170. data/lib/xsd/ns.rb +1 -2
  171. data/lib/xsd/qname.rb +2 -3
  172. data/lib/xsd/xmlparser/libxmlparser.rb +22 -39
  173. data/lib/xsd/xmlparser/parser.rb +1 -2
  174. data/lib/xsd/xmlparser/rexmlparser.rb +8 -4
  175. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  176. data/lib/xsd/xmlparser/xmlscanner.rb +149 -0
  177. data/lib/xsd/xmlparser.rb +18 -23
  178. data/lib/xsd/xmlparser.rb.orig +76 -0
  179. data/rtiss_soap4r.gemspec +751 -0
  180. data/rubyStyle.css +104 -0
  181. data/sample/attachment/complexmime/EdmService.rb +124 -0
  182. data/sample/attachment/complexmime/README.txt +3 -0
  183. data/sample/attachment/complexmime/client.rb +57 -0
  184. data/sample/attachment/complexmime/drift.cdf +1 -0
  185. data/sample/attachment/complexmime/plaatje.png +1 -0
  186. data/sample/attachment/complexmime/server.rb +68 -0
  187. data/sample/attachment/swa/client.rb +13 -0
  188. data/sample/attachment/swa/server.rb +23 -0
  189. data/sample/basic/apacheClient.rb +92 -0
  190. data/sample/basic/babelfish.rb +16 -0
  191. data/sample/basic/calc/calc.rb +17 -0
  192. data/sample/basic/calc/calc2.rb +29 -0
  193. data/sample/basic/calc/client.rb +26 -0
  194. data/sample/basic/calc/client2.rb +29 -0
  195. data/sample/basic/calc/httpd.rb +20 -0
  196. data/sample/basic/calc/samplehttpd.conf +2 -0
  197. data/sample/basic/calc/server.cgi +15 -0
  198. data/sample/basic/calc/server.fcgi +22 -0
  199. data/sample/basic/calc/server.rb +21 -0
  200. data/sample/basic/calc/server2.rb +24 -0
  201. data/sample/basic/exchange/client.rb +19 -0
  202. data/sample/basic/exchange/exchange.rb +17 -0
  203. data/sample/basic/exchange/httpd.rb +20 -0
  204. data/sample/basic/exchange/samplehttpd.conf +2 -0
  205. data/sample/basic/exchange/server.cgi +14 -0
  206. data/sample/basic/exchange/server.rb +20 -0
  207. data/sample/basic/flickr.rb +26 -0
  208. data/sample/basic/helloworld/client.rb +6 -0
  209. data/sample/basic/helloworld/server.rb +20 -0
  210. data/sample/basic/sampleStruct/client.rb +16 -0
  211. data/sample/basic/sampleStruct/httpd.rb +20 -0
  212. data/sample/basic/sampleStruct/iSampleStruct.rb +22 -0
  213. data/sample/basic/sampleStruct/sampleStruct.rb +13 -0
  214. data/sample/basic/sampleStruct/samplehttpd.conf +2 -0
  215. data/sample/basic/sampleStruct/server.cgi +14 -0
  216. data/sample/basic/sampleStruct/server.rb +20 -0
  217. data/sample/basic/whois.rb +14 -0
  218. data/sample/basic/wsdl_helloworld/README +15 -0
  219. data/sample/basic/wsdl_helloworld/client/default.rb +1 -0
  220. data/sample/basic/wsdl_helloworld/client/defaultDriver.rb +47 -0
  221. data/sample/basic/wsdl_helloworld/client/hws.wsdl +46 -0
  222. data/sample/basic/wsdl_helloworld/client/hwsClient.rb +22 -0
  223. data/sample/basic/wsdl_helloworld/server/hw_s.rb +25 -0
  224. data/sample/basic/wsdl_helloworld/server/hws.wsdl +46 -0
  225. data/sample/basic/yahooNewsSearch.rb +36 -0
  226. data/sample/howto/as_xml/client.rb +22 -0
  227. data/sample/howto/as_xml/server.rb +22 -0
  228. data/sample/howto/base64/client.rb +17 -0
  229. data/sample/howto/base64/server.rb +30 -0
  230. data/sample/howto/custom_ns/client.rb +37 -0
  231. data/sample/howto/custom_ns/server.rb +42 -0
  232. data/sample/howto/documentliteral/README.txt +19 -0
  233. data/sample/howto/documentliteral/client.rb +11 -0
  234. data/sample/howto/documentliteral/echo.wsdl +66 -0
  235. data/sample/howto/documentliteral/servant.rb +11 -0
  236. data/sample/howto/filter/client.rb +42 -0
  237. data/sample/howto/filter/server.rb +67 -0
  238. data/sample/howto/scopesample/client.rb +34 -0
  239. data/sample/howto/scopesample/httpd.rb +22 -0
  240. data/sample/howto/scopesample/samplehttpd.conf +2 -0
  241. data/sample/howto/scopesample/servant.rb +18 -0
  242. data/sample/howto/scopesample/server.cgi +29 -0
  243. data/sample/howto/scopesample/server.rb +20 -0
  244. data/sample/howto/styleuse/client.rb +21 -0
  245. data/sample/howto/styleuse/server.rb +86 -0
  246. data/sample/howto/wsdl_fault/README.txt +11 -0
  247. data/sample/howto/wsdl_fault/fault/AddClient.rb +24 -0
  248. data/sample/howto/wsdl_fault/fault/AddServer.rb +15 -0
  249. data/sample/howto/wsdl_fault/fault/AddServiceImpl.rb +18 -0
  250. data/sample/howto/wsdl_fault/fault/fault.wsdl +79 -0
  251. data/sample/howto/wsdl_fault/multifault/AddClient.rb +28 -0
  252. data/sample/howto/wsdl_fault/multifault/AddServer.rb +15 -0
  253. data/sample/howto/wsdl_fault/multifault/AddServiceImpl.rb +24 -0
  254. data/sample/howto/wsdl_fault/multifault/fault.wsdl +96 -0
  255. data/sample/howto/wsdl_hash/client.rb +11 -0
  256. data/sample/howto/wsdl_hash/hash.wsdl +69 -0
  257. data/sample/howto/wsdl_hash/server.rb +17 -0
  258. data/sample/marshal/customfactory.rb +97 -0
  259. data/sample/marshal/customregistry.rb +17 -0
  260. data/sample/marshal/digraph.rb +43 -0
  261. data/sample/marshal/enum/README.txt +6 -0
  262. data/sample/marshal/enum/enum.xsd +23 -0
  263. data/sample/marshal/enum/enumsample.rb +20 -0
  264. data/sample/marshal/enum/enumsample_mapper.rb +7 -0
  265. data/sample/marshal/enum/enumsample_mapping_registry.rb +23 -0
  266. data/sample/marshal/enum/marshal.rb +9 -0
  267. data/sample/payload/basicauth/client.rb +10 -0
  268. data/sample/payload/basicauth/htpasswd +2 -0
  269. data/sample/payload/basicauth/server.rb +43 -0
  270. data/sample/payload/cookies/calc.rb +52 -0
  271. data/sample/payload/cookies/client.rb +30 -0
  272. data/sample/payload/cookies/filterclient.rb +52 -0
  273. data/sample/payload/cookies/server.rb +24 -0
  274. data/sample/payload/gzipped/client.rb +8 -0
  275. data/sample/payload/gzipped/server.rb +21 -0
  276. data/sample/payload/ssl/files/README +1 -0
  277. data/sample/payload/ssl/files/ca.cert +23 -0
  278. data/sample/payload/ssl/files/client.cert +19 -0
  279. data/sample/payload/ssl/files/client.key +15 -0
  280. data/sample/payload/ssl/files/server.cert +19 -0
  281. data/sample/payload/ssl/files/server.key +15 -0
  282. data/sample/payload/ssl/files/sslclient.properties +5 -0
  283. data/sample/payload/ssl/files/sslclient_require_noserverauth.properties +2 -0
  284. data/sample/payload/ssl/files/sslclient_with_clientauth.properties +9 -0
  285. data/sample/payload/ssl/files/subca.cert +21 -0
  286. data/sample/payload/ssl/sslclient.rb +12 -0
  287. data/sample/payload/ssl/sslclient_require_noserverauth.rb +12 -0
  288. data/sample/payload/ssl/sslclient_with_clientauth.rb +12 -0
  289. data/sample/payload/ssl/sslserver.rb +49 -0
  290. data/sample/payload/ssl/sslserver_noauth.rb +45 -0
  291. data/sample/payload/ssl/sslserver_require_clientauth.rb +50 -0
  292. data/sample/showcase/soap/hippo5tq/hippo5tq.rb +41 -0
  293. data/sample/showcase/soap/hippo5tq/hippo5tq2.rb +99 -0
  294. data/sample/showcase/soap/hippo5tq/hippoClient.rb +106 -0
  295. data/sample/showcase/soap/icd/IICD.rb +17 -0
  296. data/sample/showcase/soap/icd/icd.rb +46 -0
  297. data/sample/showcase/soap/mssoap/README.txt +62 -0
  298. data/sample/showcase/soap/mssoap/client.vba +19 -0
  299. data/sample/showcase/soap/mssoap/stockQuoteService.cgi +44 -0
  300. data/sample/showcase/soap/mssoap/stockQuoteService.rb +9 -0
  301. data/sample/showcase/soap/mssoap/stockQuoteService.wsdl +47 -0
  302. data/sample/showcase/soap/mssoap/stockQuoteServiceClient.rb +26 -0
  303. data/sample/showcase/soap/mssoap/stockQuoteServiceClient.xls +0 -0
  304. data/sample/showcase/soap/mssoap/stockQuoteServicePortTypeDriver.rb +46 -0
  305. data/sample/showcase/soap/netDicV06/INetDicV06.rb +36 -0
  306. data/sample/showcase/soap/netDicV06/netDicV06.rb +16 -0
  307. data/sample/showcase/soap/raa/SOAP__Lite.pl +15 -0
  308. data/sample/showcase/soap/raa/pocketSOAP.js +33 -0
  309. data/sample/showcase/soap/raa2.4/raa.rb +332 -0
  310. data/sample/showcase/soap/raa2.4/raa.wsdl +644 -0
  311. data/sample/showcase/soap/raa2.4/raaDriver.rb +255 -0
  312. data/sample/showcase/soap/raa2.4/raaServiceClient.rb +354 -0
  313. data/sample/showcase/soap/raa2.4/sample.rb +115 -0
  314. data/sample/showcase/soap/rwiki/rwikiClient.rb +29 -0
  315. data/sample/showcase/soap/rwiki/rwikiServer.cgi +44 -0
  316. data/sample/showcase/soap/soapbox/ContactsDataSet.xml +37 -0
  317. data/sample/showcase/soap/soapbox/ExceptionDataSet.xml +23 -0
  318. data/sample/showcase/soap/soapbox/MessageDataSet.xml +8 -0
  319. data/sample/showcase/soap/soapbox/SoapBoxWebService.wsdl +1233 -0
  320. data/sample/showcase/soap/soapbox/SoapBoxWebServiceWithRawXML.wsdl +1226 -0
  321. data/sample/showcase/soap/soapbox/wsdlDriver.rb +23 -0
  322. data/sample/showcase/wsdl/PayPalSvc/client.rb +36 -0
  323. data/sample/showcase/wsdl/amazon/AmazonSearch.rb +3160 -0
  324. data/sample/showcase/wsdl/amazon/AmazonSearchDriver.rb +546 -0
  325. data/sample/showcase/wsdl/amazon/sampleClient.rb +37 -0
  326. data/sample/showcase/wsdl/amazon/wsdlDriver.rb +52 -0
  327. data/sample/showcase/wsdl/amazonEC/client.rb +13 -0
  328. data/sample/showcase/wsdl/eBaySvc/sampleclient.rb +60 -0
  329. data/sample/showcase/wsdl/googleAdwords/CampaignService.wsdl +785 -0
  330. data/sample/showcase/wsdl/googleAdwords/ca.pem +19 -0
  331. data/sample/showcase/wsdl/googleAdwords/client.rb +40 -0
  332. data/sample/showcase/wsdl/googleAdwords/soap/property +1 -0
  333. data/sample/showcase/wsdl/googleSearch/GoogleSearch.rb +97 -0
  334. data/sample/showcase/wsdl/googleSearch/GoogleSearchDriver.rb +102 -0
  335. data/sample/showcase/wsdl/googleSearch/README +6 -0
  336. data/sample/showcase/wsdl/googleSearch/httpd.rb +20 -0
  337. data/sample/showcase/wsdl/googleSearch/sampleClient.rb +56 -0
  338. data/sample/showcase/wsdl/googleSearch/samplehttpd.conf +2 -0
  339. data/sample/showcase/wsdl/googleSearch/sjissearch.sh +3 -0
  340. data/sample/showcase/wsdl/googleSearch/wsdlDriver.rb +29 -0
  341. data/sample/showcase/wsdl/noaa/README.txt +5 -0
  342. data/sample/showcase/wsdl/noaa/client.rb +44 -0
  343. data/sample/showcase/wsdl/noaa/default.rb +46 -0
  344. data/sample/showcase/wsdl/noaa/defaultDriver.rb +66 -0
  345. data/sample/showcase/wsdl/noaa/defaultMappingRegistry.rb +74 -0
  346. data/sample/showcase/wsdl/noaa/ndfdXMLClient.rb +43 -0
  347. data/sample/showcase/wsdl/raa2.4/raa.rb +134 -0
  348. data/sample/showcase/wsdl/raa2.4/raa.wsdl +644 -0
  349. data/sample/showcase/wsdl/raa2.4/wsdlDriver.rb +117 -0
  350. data/sample/showcase/wsdl/rnn/client.rb +59 -0
  351. data/sample/showcase/wsdl/rnn/post.rb +27 -0
  352. data/sample/showcase/wsdl/rnn/rnn-hash.wsdl +282 -0
  353. data/sample/showcase/wsdl/rnn/rnn.wsdl +310 -0
  354. data/sample/showcase/wsdl/rnn/submit.rb +63 -0
  355. data/sample/showcase/wsdl/salesforce/SforceServiceClient.rb +280 -0
  356. data/sample/showcase/wsdl/salesforce/ca.pem +35 -0
  357. data/sample/showcase/wsdl/salesforce/client.rb +156 -0
  358. data/sample/showcase/wsdl/salesforce/default.rb +1740 -0
  359. data/sample/showcase/wsdl/salesforce/defaultDriver.rb +165 -0
  360. data/sample/showcase/wsdl/salesforce/soap/property +1 -0
  361. data/sample/soapheader/authheader/authmgr.rb +41 -0
  362. data/sample/soapheader/authheader/client.rb +40 -0
  363. data/sample/soapheader/authheader/client2.rb +42 -0
  364. data/sample/soapheader/authheader/server.rb +73 -0
  365. data/sample/soapheader/authheader/server2.rb +83 -0
  366. data/sample/soapheader/soapext_basicauth/client.rb +25 -0
  367. data/sample/soapheader/soapext_basicauth/mms_MizGIS.rb +701 -0
  368. data/sample/soapheader/soapext_basicauth/mms_MizGIS.wsdl +1007 -0
  369. data/sample/soapheader/soapext_basicauth/mms_MizGISClient.rb +231 -0
  370. data/sample/soapheader/soapext_basicauth/mms_MizGISDriver.rb +210 -0
  371. data/sample/soapheader/soapext_basicauth/mms_MizGISMappingRegistry.rb +1232 -0
  372. data/test/16runner.rb +68 -0
  373. data/test/interopR2/README.txt +2 -0
  374. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  375. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  376. data/test/interopR2/base.rb +288 -0
  377. data/test/interopR2/client.NetRemoting.rb +17 -0
  378. data/test/interopR2/client.rb +1234 -0
  379. data/test/interopR2/client4S4C.rb +15 -0
  380. data/test/interopR2/client4S4C2.rb +14 -0
  381. data/test/interopR2/clientASP.NET.rb +17 -0
  382. data/test/interopR2/clientApacheAxis.rb +16 -0
  383. data/test/interopR2/clientApacheSOAP.rb +17 -0
  384. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  385. data/test/interopR2/clientBase.rb +1967 -0
  386. data/test/interopR2/clientCapeConnect.rb +18 -0
  387. data/test/interopR2/clientDelphi.rb +19 -0
  388. data/test/interopR2/clientEasySoap.rb +14 -0
  389. data/test/interopR2/clientFrontier.rb +25 -0
  390. data/test/interopR2/clientGLUE.rb +32 -0
  391. data/test/interopR2/clientHP.rb +13 -0
  392. data/test/interopR2/clientJAX-RPC.rb +19 -0
  393. data/test/interopR2/clientJSOAP.rb +14 -0
  394. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  395. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  396. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  397. data/test/interopR2/clientNuSOAP.rb +19 -0
  398. data/test/interopR2/clientNuWave.rb +15 -0
  399. data/test/interopR2/clientOpenLink.rb +15 -0
  400. data/test/interopR2/clientOracle.rb +15 -0
  401. data/test/interopR2/clientPEAR.rb +18 -0
  402. data/test/interopR2/clientPhalanx.rb +18 -0
  403. data/test/interopR2/clientSIMACE.rb +18 -0
  404. data/test/interopR2/clientSOAP4R.rb +18 -0
  405. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  406. data/test/interopR2/clientSQLData.rb +18 -0
  407. data/test/interopR2/clientSilverStream.rb +17 -0
  408. data/test/interopR2/clientSpray2001.rb +17 -0
  409. data/test/interopR2/clientSun.rb +19 -0
  410. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  411. data/test/interopR2/clientWASP.rb +19 -0
  412. data/test/interopR2/clientWASPC.rb +18 -0
  413. data/test/interopR2/clientWebMethods.rb +15 -0
  414. data/test/interopR2/clientWhiteMesa.rb +28 -0
  415. data/test/interopR2/clientWingfoot.rb +15 -0
  416. data/test/interopR2/clientXMLBus.rb +19 -0
  417. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  418. data/test/interopR2/clientXSOAP.rb +14 -0
  419. data/test/interopR2/clientZSI.rb +19 -0
  420. data/test/interopR2/clienteSOAP.rb +18 -0
  421. data/test/interopR2/clientgSOAP.rb +18 -0
  422. data/test/interopR2/clientkSOAP.rb +17 -0
  423. data/test/interopR2/iSimonReg.rb +112 -0
  424. data/test/interopR2/interopResultBase.rb +114 -0
  425. data/test/interopR2/interopService.rb +247 -0
  426. data/test/interopR2/rwikiInteropService.rb +105 -0
  427. data/test/interopR2/server.cgi +270 -0
  428. data/test/interopR2/server.rb +275 -0
  429. data/test/interopR2/simonReg.rb +123 -0
  430. data/test/interopR2/test.sh +49 -0
  431. data/test/interopR4/client.rb +112 -0
  432. data/test/results +4810 -0
  433. data/test/runner.rb +7 -0
  434. data/test/sm11/classDef.rb +156 -0
  435. data/test/sm11/client.rb +542 -0
  436. data/test/sm11/driver.rb +183 -0
  437. data/test/sm11/servant.rb +1067 -0
  438. data/test/sm11/server.rb +25 -0
  439. data/test/soap/asp.net/hello.wsdl +96 -0
  440. data/test/soap/asp.net/test_aspdotnet.rb +123 -0
  441. data/test/soap/auth/htdigest +2 -0
  442. data/test/soap/auth/htpasswd +2 -0
  443. data/test/soap/auth/test_basic.rb +116 -0
  444. data/test/soap/auth/test_digest.rb +118 -0
  445. data/test/soap/calc/calc.rb +17 -0
  446. data/test/soap/calc/calc2.rb +29 -0
  447. data/test/soap/calc/server.cgi +13 -0
  448. data/test/soap/calc/server.rb +17 -0
  449. data/test/soap/calc/server2.rb +20 -0
  450. data/test/soap/calc/test_calc2.rb +55 -0
  451. data/test/soap/case/test_mapping.rb +33 -0
  452. data/test/soap/fault/test_customfault.rb +60 -0
  453. data/test/soap/fault/test_fault.rb +46 -0
  454. data/test/soap/fault/test_soaparray.rb +35 -0
  455. data/test/soap/filter/test_filter.rb +147 -0
  456. data/test/soap/header/server.cgi +122 -0
  457. data/test/soap/header/session.pstoredb +0 -0
  458. data/test/soap/header/test_authheader.rb +234 -0
  459. data/test/soap/header/test_authheader_cgi.rb +120 -0
  460. data/test/soap/header/test_simplehandler.rb +120 -0
  461. data/test/soap/helloworld/hw_s.rb +16 -0
  462. data/test/soap/helloworld/test_helloworld.rb +42 -0
  463. data/test/soap/htpasswd +2 -0
  464. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  465. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  466. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  467. data/test/soap/literalArrayMapping/test_definedarray.rb +33 -0
  468. data/test/soap/marshal/marshaltestlib.rb +456 -0
  469. data/test/soap/marshal/test_digraph.rb +56 -0
  470. data/test/soap/marshal/test_marshal.rb +26 -0
  471. data/test/soap/marshal/test_struct.rb +47 -0
  472. data/test/soap/ssl/README +1 -0
  473. data/test/soap/ssl/ca.cert +23 -0
  474. data/test/soap/ssl/client.cert +19 -0
  475. data/test/soap/ssl/client.key +15 -0
  476. data/test/soap/ssl/server.cert +19 -0
  477. data/test/soap/ssl/server.key +15 -0
  478. data/test/soap/ssl/sslsvr.rb +57 -0
  479. data/test/soap/ssl/subca.cert +21 -0
  480. data/test/soap/ssl/test_ssl.rb +238 -0
  481. data/test/soap/struct/test_struct.rb +69 -0
  482. data/test/soap/styleuse/client.rb +20 -0
  483. data/test/soap/styleuse/server.rb +86 -0
  484. data/test/soap/swa/test_file.rb +76 -0
  485. data/test/soap/test_basetype.rb +1090 -0
  486. data/test/soap/test_cookie.rb +111 -0
  487. data/test/soap/test_custom_ns.rb +105 -0
  488. data/test/soap/test_custommap.rb +110 -0
  489. data/test/soap/test_empty.rb +105 -0
  490. data/test/soap/test_envelopenamespace.rb +84 -0
  491. data/test/soap/test_extraattr.rb +54 -0
  492. data/test/soap/test_generator.rb +27 -0
  493. data/test/soap/test_httpconfigloader.rb +71 -0
  494. data/test/soap/test_mapping.rb +122 -0
  495. data/test/soap/test_nestedexception.rb +61 -0
  496. data/test/soap/test_nil.rb +61 -0
  497. data/test/soap/test_no_indent.rb +88 -0
  498. data/test/soap/test_property.rb +427 -0
  499. data/test/soap/test_response_as_xml.rb +116 -0
  500. data/test/soap/test_soapelement.rb +138 -0
  501. data/test/soap/test_streamhandler.rb +269 -0
  502. data/test/soap/test_styleuse.rb +327 -0
  503. data/test/soap/wsdlDriver/README.txt +2 -0
  504. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  505. data/test/soap/wsdlDriver/document.wsdl +54 -0
  506. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  507. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  508. data/test/soap/wsdlDriver/test_calc.rb +72 -0
  509. data/test/soap/wsdlDriver/test_document.rb +72 -0
  510. data/test/soap/wsdlDriver/test_simpletype.rb +81 -0
  511. data/test/test_helper.rb +82 -0
  512. data/test/wsdl/abstract/abstract.rb +102 -0
  513. data/test/wsdl/abstract/abstract.wsdl +176 -0
  514. data/test/wsdl/abstract/abstractDriver.rb +73 -0
  515. data/test/wsdl/abstract/abstractMappingRegistry.rb +139 -0
  516. data/test/wsdl/abstract/test_abstract.rb +158 -0
  517. data/test/wsdl/anonymous/expectedClassDef.rb +128 -0
  518. data/test/wsdl/anonymous/expectedDriver.rb +61 -0
  519. data/test/wsdl/anonymous/expectedMappingRegistry.rb +176 -0
  520. data/test/wsdl/anonymous/lp.rb +128 -0
  521. data/test/wsdl/anonymous/lp.wsdl +147 -0
  522. data/test/wsdl/anonymous/lpDriver.rb +61 -0
  523. data/test/wsdl/anonymous/lpMappingRegistry.rb +176 -0
  524. data/test/wsdl/anonymous/test_anonymous.rb +130 -0
  525. data/test/wsdl/any/any.wsdl +114 -0
  526. data/test/wsdl/any/echo.rb +57 -0
  527. data/test/wsdl/any/echoDriver.rb +70 -0
  528. data/test/wsdl/any/echoMappingRegistry.rb +63 -0
  529. data/test/wsdl/any/echoServant.rb +52 -0
  530. data/test/wsdl/any/echo_service.rb +69 -0
  531. data/test/wsdl/any/echo_serviceClient.rb +52 -0
  532. data/test/wsdl/any/expectedDriver.rb +70 -0
  533. data/test/wsdl/any/expectedEcho.rb +57 -0
  534. data/test/wsdl/any/expectedMappingRegistry.rb +63 -0
  535. data/test/wsdl/any/expectedService.rb +69 -0
  536. data/test/wsdl/any/test_any.rb +193 -0
  537. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  538. data/test/wsdl/axisArray/itemList.rb +31 -0
  539. data/test/wsdl/axisArray/itemListDriver.rb +62 -0
  540. data/test/wsdl/axisArray/itemListMappingRegistry.rb +60 -0
  541. data/test/wsdl/axisArray/test_axisarray.rb +124 -0
  542. data/test/wsdl/choice/choice.rb +117 -0
  543. data/test/wsdl/choice/choice.wsdl +167 -0
  544. data/test/wsdl/choice/choiceDriver.rb +69 -0
  545. data/test/wsdl/choice/choiceMappingRegistry.rb +131 -0
  546. data/test/wsdl/choice/test_choice.rb +310 -0
  547. data/test/wsdl/complexcontent/complexContent.rb +40 -0
  548. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  549. data/test/wsdl/complexcontent/complexContentMappingRegistry.rb +67 -0
  550. data/test/wsdl/complexcontent/test_echo.rb +89 -0
  551. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  552. data/test/wsdl/datetime/datetime.rb +0 -0
  553. data/test/wsdl/datetime/datetime.wsdl +45 -0
  554. data/test/wsdl/datetime/datetimeServant.rb +22 -0
  555. data/test/wsdl/datetime/test_datetime.rb +88 -0
  556. data/test/wsdl/document/array/double.rb +114 -0
  557. data/test/wsdl/document/array/double.wsdl +161 -0
  558. data/test/wsdl/document/array/doubleDriver.rb +69 -0
  559. data/test/wsdl/document/array/doubleMappingRegistry.rb +115 -0
  560. data/test/wsdl/document/array/test_array.rb +202 -0
  561. data/test/wsdl/document/document.wsdl +76 -0
  562. data/test/wsdl/document/echo.rb +120 -0
  563. data/test/wsdl/document/echoDriver.rb +53 -0
  564. data/test/wsdl/document/echoMappingRegistry.rb +64 -0
  565. data/test/wsdl/document/number.wsdl +54 -0
  566. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  567. data/test/wsdl/document/test_nosoapaction.rb +102 -0
  568. data/test/wsdl/document/test_number.rb +92 -0
  569. data/test/wsdl/document/test_rpc.rb +351 -0
  570. data/test/wsdl/emptycomplextype.wsdl +31 -0
  571. data/test/wsdl/fault/Add.rb +53 -0
  572. data/test/wsdl/fault/AddMappingRegistry.rb +46 -0
  573. data/test/wsdl/fault/AddServant.rb +28 -0
  574. data/test/wsdl/fault/AddService.rb +51 -0
  575. data/test/wsdl/fault/fault.wsdl +79 -0
  576. data/test/wsdl/fault/multifault.wsdl +96 -0
  577. data/test/wsdl/fault/test_fault.rb +119 -0
  578. data/test/wsdl/fault/test_multifault.rb +133 -0
  579. data/test/wsdl/group/echo.rb +58 -0
  580. data/test/wsdl/group/echoDriver.rb +53 -0
  581. data/test/wsdl/group/echoMappingRegistry.rb +67 -0
  582. data/test/wsdl/group/expectedClassdef.rb +58 -0
  583. data/test/wsdl/group/expectedDriver.rb +53 -0
  584. data/test/wsdl/group/expectedMappingRegistry.rb +67 -0
  585. data/test/wsdl/group/group.wsdl +88 -0
  586. data/test/wsdl/group/test_rpc.rb +145 -0
  587. data/test/wsdl/list/list.rb +55 -0
  588. data/test/wsdl/list/list.wsdl +93 -0
  589. data/test/wsdl/list/listDriver.rb +53 -0
  590. data/test/wsdl/list/listMappingRegistry.rb +40 -0
  591. data/test/wsdl/list/test_list.rb +123 -0
  592. data/test/wsdl/map/map.wsdl +92 -0
  593. data/test/wsdl/map/map.xml +43 -0
  594. data/test/wsdl/map/test_map.rb +100 -0
  595. data/test/wsdl/marshal/Person.rb +23 -0
  596. data/test/wsdl/marshal/person.wsdl +21 -0
  597. data/test/wsdl/marshal/person_org.rb +23 -0
  598. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  599. data/test/wsdl/multiplefault.wsdl +75 -0
  600. data/test/wsdl/oneway/oneway.rb +17 -0
  601. data/test/wsdl/oneway/oneway.wsdl +36 -0
  602. data/test/wsdl/oneway/onewayDriver.rb +52 -0
  603. data/test/wsdl/oneway/onewayMappingRegistry.rb +20 -0
  604. data/test/wsdl/oneway/test_oneway.rb +107 -0
  605. data/test/wsdl/overload/OverloadServiceClient.rb +37 -0
  606. data/test/wsdl/overload/default.rb +1 -0
  607. data/test/wsdl/overload/defaultDriver.rb +61 -0
  608. data/test/wsdl/overload/defaultMappingRegistry.rb +8 -0
  609. data/test/wsdl/overload/defaultServant.rb +35 -0
  610. data/test/wsdl/overload/expectedClient.rb +37 -0
  611. data/test/wsdl/overload/expectedDriver.rb +61 -0
  612. data/test/wsdl/overload/expectedServant.rb +35 -0
  613. data/test/wsdl/overload/overload.wsdl +70 -0
  614. data/test/wsdl/overload/test_overload.rb +131 -0
  615. data/test/wsdl/qualified/default.rb +30 -0
  616. data/test/wsdl/qualified/defaultDriver.rb +51 -0
  617. data/test/wsdl/qualified/defaultMappingRegistry.rb +29 -0
  618. data/test/wsdl/qualified/lp.rb +45 -0
  619. data/test/wsdl/qualified/lp.wsdl +47 -0
  620. data/test/wsdl/qualified/lp.xsd +26 -0
  621. data/test/wsdl/qualified/lpDriver.rb +51 -0
  622. data/test/wsdl/qualified/lpMappingRegistry.rb +96 -0
  623. data/test/wsdl/qualified/np.wsdl +51 -0
  624. data/test/wsdl/qualified/test_qualified.rb +136 -0
  625. data/test/wsdl/qualified/test_unqualified.rb +138 -0
  626. data/test/wsdl/raa/RAAService.rb +125 -0
  627. data/test/wsdl/raa/README.txt +8 -0
  628. data/test/wsdl/raa/expectedClassDef.rb +100 -0
  629. data/test/wsdl/raa/expectedDriver.rb +96 -0
  630. data/test/wsdl/raa/expectedMappingRegistry.rb +121 -0
  631. data/test/wsdl/raa/raa.wsdl +264 -0
  632. data/test/wsdl/raa/test_raa.rb +128 -0
  633. data/test/wsdl/ref/expectedDriver.rb +53 -0
  634. data/test/wsdl/ref/expectedProduct.rb +243 -0
  635. data/test/wsdl/ref/product.rb +243 -0
  636. data/test/wsdl/ref/product.wsdl +147 -0
  637. data/test/wsdl/ref/productDriver.rb +53 -0
  638. data/test/wsdl/ref/productMappingRegistry.rb +150 -0
  639. data/test/wsdl/ref/test_ref.rb +267 -0
  640. data/test/wsdl/rpc/RPC-Literal-TestDefinitions.rb +90 -0
  641. data/test/wsdl/rpc/RPC-Literal-TestDefinitionsDriver.rb +149 -0
  642. data/test/wsdl/rpc/RPC-Literal-TestDefinitionsMappingRegistry.rb +168 -0
  643. data/test/wsdl/rpc/echo.rb +35 -0
  644. data/test/wsdl/rpc/echoDriver.rb +74 -0
  645. data/test/wsdl/rpc/echoMappingRegistry.rb +46 -0
  646. data/test/wsdl/rpc/rpc.wsdl +109 -0
  647. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  648. data/test/wsdl/rpc/test_rpc.rb +177 -0
  649. data/test/wsdl/rpc/test_rpc_lit.rb +471 -0
  650. data/test/wsdl/simplecontent/simpleContent.rb +78 -0
  651. data/test/wsdl/simplecontent/simpleContentDriver.rb +53 -0
  652. data/test/wsdl/simplecontent/simpleContentMappingRegistry.rb +77 -0
  653. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  654. data/test/wsdl/simplecontent/test_simplecontent.rb +101 -0
  655. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  656. data/test/wsdl/simpletype/rpc/expectedDriver.rb +58 -0
  657. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +36 -0
  658. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +57 -0
  659. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  660. data/test/wsdl/simpletype/rpc/expectedService.rb +55 -0
  661. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  662. data/test/wsdl/simpletype/rpc/test_rpc.rb +52 -0
  663. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  664. data/test/wsdl/simpletype/test_simpletype.rb +93 -0
  665. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  666. data/test/wsdl/soap/test_soapbodyparts.rb +80 -0
  667. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +21 -0
  668. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  669. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +58 -0
  670. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +36 -0
  671. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  672. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +48 -0
  673. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +55 -0
  674. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  675. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +37 -0
  676. data/test/wsdl/soap/wsdl2ruby/section/mysample.rb +37 -0
  677. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  678. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +53 -0
  679. data/test/wsdl/soap/wsdl2ruby/soapenc/echo.rb +21 -0
  680. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  681. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +83 -0
  682. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +102 -0
  683. data/test/wsdl/soaptype/echo.rb +23 -0
  684. data/test/wsdl/soaptype/echoDriver.rb +55 -0
  685. data/test/wsdl/soaptype/echoMappingRegistry.rb +32 -0
  686. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  687. data/test/wsdl/soaptype/test_soaptype.rb +176 -0
  688. data/test/wsdl/test_emptycomplextype.rb +21 -0
  689. data/test/wsdl/test_fault.rb +50 -0
  690. data/test/wsdl/test_multiplefault.rb +41 -0
  691. data/test/xsd/codegen/test_classdef.rb +244 -0
  692. data/test/xsd/noencoding.xml +4 -0
  693. data/test/xsd/test_iconvcharset.rb +20 -0
  694. data/test/xsd/test_noencoding.rb +33 -0
  695. data/test/xsd/test_ns.rb +41 -0
  696. data/test/xsd/test_xmlschemaparser.rb +22 -0
  697. data/test/xsd/test_xsd.rb +1640 -0
  698. data/test/xsd/xmllang.xml +43 -0
  699. data/test/xsd/xmlschema.xml +12 -0
  700. data/test/xsd/xsd2ruby/expected_mysample.rb +65 -0
  701. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +11 -0
  702. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +51 -0
  703. data/test/xsd/xsd2ruby/mysample.rb +65 -0
  704. data/test/xsd/xsd2ruby/mysample_mapper.rb +11 -0
  705. data/test/xsd/xsd2ruby/mysample_mapping_registry.rb +51 -0
  706. data/test/xsd/xsd2ruby/section.xsd +49 -0
  707. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +89 -0
  708. metadata +762 -24
  709. data/lib/xsd/xmlparser/nokogiriparser.rb +0 -63
  710. data/lib/xsd/xmlparser/ogaparser.rb +0 -53
  711. data/lib/xsd/xmlparser/oxparser.rb +0 -97
@@ -0,0 +1,1640 @@
1
+ # encoding: US-ASCII
2
+
3
+ require 'test/unit'
4
+ require 'xsd/datatypes'
5
+
6
+
7
+ module XSD
8
+
9
+
10
+ class TestXSD < Test::Unit::TestCase
11
+ NegativeZero = (-1.0 / (1.0 / 0.0))
12
+
13
+ def setup
14
+ end
15
+
16
+ def teardown
17
+ end
18
+
19
+ def assert_parsed_result(klass, str)
20
+ o = klass.new(str)
21
+ assert_equal(str, o.to_s)
22
+ end
23
+
24
+ def test_NSDBase
25
+ o = XSD::NSDBase.new
26
+ assert_equal(nil, o.type)
27
+ end
28
+
29
+ def test_XSDBase
30
+ o = XSD::XSDAnySimpleType.new
31
+ assert_equal(nil, o.data)
32
+ assert_equal(true, o.is_nil)
33
+ assert_equal('', o.to_s)
34
+ end
35
+
36
+ def test_XSDNil
37
+ o = XSD::XSDNil.new
38
+ assert_equal(XSD::Namespace, o.type.namespace)
39
+ assert_equal(XSD::NilLiteral, o.type.name)
40
+ assert_equal(nil, o.data)
41
+ assert_equal(true, o.is_nil)
42
+
43
+ o = XSD::XSDNil.new(nil)
44
+ assert_equal(true, o.is_nil)
45
+ assert_equal(nil, o.data)
46
+ assert_equal("", o.to_s)
47
+ o = XSD::XSDNil.new('var')
48
+ assert_equal(false, o.is_nil)
49
+ assert_equal('var', o.data)
50
+ assert_equal('var', o.to_s)
51
+ end
52
+
53
+ def test_XSDString_UTF8
54
+ o = XSD::XSDString.new
55
+ assert_equal(XSD::Namespace, o.type.namespace)
56
+ assert_equal(XSD::StringLiteral, o.type.name)
57
+ assert_equal(nil, o.data)
58
+ assert_equal(true, o.is_nil)
59
+
60
+ str = "abc"
61
+ assert_equal(str, XSD::XSDString.new(str).data)
62
+ assert_equal(str, XSD::XSDString.new(str).to_s)
63
+ back = XSD::XSDString.strict_ces_validation
64
+ XSD::XSDString.strict_ces_validation = true
65
+ begin
66
+ assert_raises(XSD::ValueSpaceError) do
67
+ XSD::XSDString.new("\0")
68
+ end
69
+ assert_raises(XSD::ValueSpaceError) do
70
+ p XSD::XSDString.new("\xC0\xC0").to_s
71
+ end
72
+ ensure
73
+ XSD::XSDString.strict_ces_validation = back
74
+ end
75
+ end
76
+
77
+ def test_XSDString_NONE
78
+ XSD::Charset.module_eval { @encoding_backup = @internal_encoding; @internal_encoding = "NONE" }
79
+ begin
80
+ o = XSD::XSDString.new
81
+ assert_equal(XSD::Namespace, o.type.namespace)
82
+ assert_equal(XSD::StringLiteral, o.type.name)
83
+ assert_equal(nil, o.data)
84
+ assert_equal(true, o.is_nil)
85
+
86
+ str = "abc"
87
+ assert_equal(str, XSD::XSDString.new(str).data)
88
+ assert_equal(str, XSD::XSDString.new(str).to_s)
89
+ back = XSD::XSDString.strict_ces_validation
90
+ XSD::XSDString.strict_ces_validation = true
91
+ begin
92
+ assert_raises(XSD::ValueSpaceError) do
93
+ XSD::XSDString.new("\0")
94
+ end
95
+ assert_raises(XSD::ValueSpaceError) do
96
+ XSD::XSDString.new("\xC0\xC0").to_s
97
+ end
98
+ ensure
99
+ XSD::XSDString.strict_ces_validation = back
100
+ end
101
+ ensure
102
+ XSD::Charset.module_eval { @internal_encoding = @encoding_backup }
103
+ end
104
+ end
105
+
106
+ def test_XSDNormalizedString
107
+ XSD::Charset.module_eval { @encoding_backup = @internal_encoding; @internal_encoding = "NONE" }
108
+ begin
109
+ o = XSD::XSDNormalizedString.new
110
+ assert_equal(XSD::Namespace, o.type.namespace)
111
+ assert_equal(XSD::NormalizedStringLiteral, o.type.name)
112
+ assert_equal(nil, o.data)
113
+ assert_equal(true, o.is_nil)
114
+
115
+ str = "abc"
116
+ assert_equal(str, XSD::XSDNormalizedString.new(str).data)
117
+ assert_equal(str, XSD::XSDNormalizedString.new(str).to_s)
118
+ back = XSD::XSDString.strict_ces_validation
119
+ XSD::XSDString.strict_ces_validation = true
120
+ begin
121
+ assert_raises(XSD::ValueSpaceError) do
122
+ XSD::XSDNormalizedString.new("\0")
123
+ end
124
+ assert_raises(XSD::ValueSpaceError) do
125
+ XSD::XSDNormalizedString.new("\xC0\xC0").to_s
126
+ end
127
+ assert_raises(XSD::ValueSpaceError) do
128
+ XSD::XSDNormalizedString.new("a\tb").to_s
129
+ end
130
+ assert_raises(XSD::ValueSpaceError) do
131
+ XSD::XSDNormalizedString.new("a\r").to_s
132
+ end
133
+ assert_raises(XSD::ValueSpaceError) do
134
+ XSD::XSDNormalizedString.new("\nb").to_s
135
+ end
136
+ ensure
137
+ XSD::XSDString.strict_ces_validation = back
138
+ end
139
+ ensure
140
+ XSD::Charset.module_eval { @internal_encoding = @encoding_backup }
141
+ end
142
+ end
143
+
144
+ def test_XSDToken
145
+ XSD::Charset.module_eval { @encoding_backup = @internal_encoding; @internal_encoding = "NONE" }
146
+ begin
147
+ o = XSD::XSDToken.new
148
+ assert_equal(XSD::Namespace, o.type.namespace)
149
+ assert_equal(XSD::TokenLiteral, o.type.name)
150
+ assert_equal(nil, o.data)
151
+ assert_equal(true, o.is_nil)
152
+
153
+ str = "abc"
154
+ assert_equal(str, XSD::XSDToken.new(str).data)
155
+ assert_equal(str, XSD::XSDToken.new(str).to_s)
156
+ back = XSD::XSDString.strict_ces_validation
157
+ XSD::XSDString.strict_ces_validation = true
158
+ begin
159
+ assert_raises(XSD::ValueSpaceError) do
160
+ XSD::XSDToken.new("\0")
161
+ end
162
+ assert_raises(XSD::ValueSpaceError) do
163
+ XSD::XSDToken.new("\xC0\xC0").to_s
164
+ end
165
+ assert_raises(XSD::ValueSpaceError) do
166
+ XSD::XSDToken.new("a\tb").to_s
167
+ end
168
+ assert_raises(XSD::ValueSpaceError) do
169
+ XSD::XSDToken.new("a\r").to_s
170
+ end
171
+ assert_raises(XSD::ValueSpaceError) do
172
+ XSD::XSDToken.new("\nb").to_s
173
+ end
174
+ assert_raises(XSD::ValueSpaceError) do
175
+ XSD::XSDToken.new(" a").to_s
176
+ end
177
+ assert_raises(XSD::ValueSpaceError) do
178
+ XSD::XSDToken.new("b ").to_s
179
+ end
180
+ assert_raises(XSD::ValueSpaceError) do
181
+ XSD::XSDToken.new("a b").to_s
182
+ end
183
+ assert_equal("a b", XSD::XSDToken.new("a b").data)
184
+ ensure
185
+ XSD::XSDString.strict_ces_validation = back
186
+ end
187
+ ensure
188
+ XSD::Charset.module_eval { @internal_encoding = @encoding_backup }
189
+ end
190
+ end
191
+
192
+ def test_XSDLanguage
193
+ o = XSD::XSDLanguage.new
194
+ assert_equal(XSD::Namespace, o.type.namespace)
195
+ assert_equal(XSD::LanguageLiteral, o.type.name)
196
+ assert_equal(nil, o.data)
197
+ assert_equal(true, o.is_nil)
198
+
199
+ str = "ja"
200
+ assert_equal(str, XSD::XSDLanguage.new(str).data)
201
+ assert_equal(str, XSD::XSDLanguage.new(str).to_s)
202
+ str = "ja-jp"
203
+ assert_equal(str, XSD::XSDLanguage.new(str).data)
204
+ assert_equal(str, XSD::XSDLanguage.new(str).to_s)
205
+ assert_raises(XSD::ValueSpaceError) do
206
+ XSD::XSDLanguage.new("ja-jp-")
207
+ end
208
+ assert_raises(XSD::ValueSpaceError) do
209
+ XSD::XSDLanguage.new("-ja-")
210
+ end
211
+ assert_raises(XSD::ValueSpaceError) do
212
+ XSD::XSDLanguage.new("ja-")
213
+ end
214
+ assert_raises(XSD::ValueSpaceError) do
215
+ XSD::XSDLanguage.new("a1-01")
216
+ end
217
+ assert_equal("aA-01", XSD::XSDLanguage.new("aA-01").to_s)
218
+ end
219
+
220
+ def test_XSDBoolean
221
+ o = XSD::XSDBoolean.new
222
+ assert_equal(XSD::Namespace, o.type.namespace)
223
+ assert_equal(XSD::BooleanLiteral, o.type.name)
224
+ assert_equal(nil, o.data)
225
+ assert_equal(true, o.is_nil)
226
+
227
+ targets = [
228
+ ["true", true],
229
+ ["1", true],
230
+ ["false", false],
231
+ ["0", false],
232
+ ]
233
+ targets.each do |data, expected|
234
+ assert_equal(expected, XSD::XSDBoolean.new(data).data)
235
+ assert_equal(expected.to_s, XSD::XSDBoolean.new(data).to_s)
236
+ end
237
+
238
+ assert_raises(XSD::ValueSpaceError) do
239
+ XSD::XSDBoolean.new("nil").to_s
240
+ end
241
+ end
242
+
243
+ def test_XSDDecimal
244
+ o = XSD::XSDDecimal.new
245
+ assert_equal(XSD::Namespace, o.type.namespace)
246
+ assert_equal(XSD::DecimalLiteral, o.type.name)
247
+ assert_equal(nil, o.data)
248
+ assert_equal(true, o.is_nil)
249
+
250
+ targets = [
251
+ 0,
252
+ 1000000000,
253
+ -9999999999,
254
+ 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890,
255
+ 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890,
256
+ -1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789,
257
+ ]
258
+ targets.each do |dec|
259
+ assert_equal(dec.to_s, XSD::XSDDecimal.new(dec).data)
260
+ end
261
+
262
+ targets = [
263
+ "0",
264
+ "0.00000001",
265
+ "1000000000",
266
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
267
+ "-12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123.45678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
268
+ ]
269
+ targets.each do |str|
270
+ assert_equal(str, XSD::XSDDecimal.new(str).to_s)
271
+ end
272
+
273
+ targets = [
274
+ ["-0", "0"],
275
+ ["+0", "0"],
276
+ ["0.0", "0"],
277
+ ["-0.0", "0"],
278
+ ["+0.0", "0"],
279
+ ["0.", "0"],
280
+ [".0", "0"],
281
+ [
282
+ "+0.12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
283
+ "0.1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
284
+ ],
285
+ [
286
+ ".0000012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
287
+ "0.000001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
288
+ ],
289
+ [
290
+ "-12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.",
291
+ "-12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
292
+ ],
293
+ ]
294
+ targets.each do |data, expected|
295
+ assert_equal(expected, XSD::XSDDecimal.new(data).to_s)
296
+ end
297
+
298
+ targets = [
299
+ "0.000000000000a",
300
+ "00a.0000000000001",
301
+ "+-5",
302
+ ]
303
+ targets.each do |d|
304
+ assert_raises(XSD::ValueSpaceError) do
305
+ XSD::XSDDecimal.new(d)
306
+ end
307
+ end
308
+ end
309
+
310
+ def test_XSDFloat
311
+ o = XSD::XSDFloat.new
312
+ assert_equal(XSD::Namespace, o.type.namespace)
313
+ assert_equal(XSD::FloatLiteral, o.type.name)
314
+ assert_equal(nil, o.data)
315
+ assert_equal(true, o.is_nil)
316
+
317
+ targets = [
318
+ 3.14159265358979,
319
+ 12.34e36,
320
+ 1.402e-45,
321
+ -1.402e-45,
322
+ ]
323
+ targets.each do |f|
324
+ assert_equal(f, XSD::XSDFloat.new(f).data)
325
+ end
326
+
327
+ targets = [
328
+ "+3.141592654",
329
+ "+1.234e+37",
330
+ "+1.402e-45",
331
+ "-1.402e-45",
332
+ ]
333
+ targets.each do |f|
334
+ assert_equal(f, XSD::XSDFloat.new(f).to_s)
335
+ end
336
+
337
+ targets = [
338
+ [3, "+3"], # should be 3.0?
339
+ [-2, "-2"], # ditto
340
+ [3.14159265358979, "+3.141592654"],
341
+ [12.34e36, "+1.234e+37"],
342
+ [1.402e-45, "+1.402e-45"],
343
+ [-1.402e-45, "-1.402e-45"],
344
+ ["1.402e", "+1.402"],
345
+ ["12.34E36", "+1.234e+37"],
346
+ ["1.402E-45", "+1.402e-45"],
347
+ ["-1.402E-45", "-1.402e-45"],
348
+ ["1.402E", "+1.402"],
349
+ ]
350
+ targets.each do |f, str|
351
+ assert_equal(str, XSD::XSDFloat.new(f).to_s)
352
+ end
353
+
354
+ assert_equal("+0", XSD::XSDFloat.new(+0.0).to_s)
355
+ assert_equal("-0", XSD::XSDFloat.new(NegativeZero).to_s)
356
+ assert(XSD::XSDFloat.new(0.0/0.0).data.nan?)
357
+ assert_equal("INF", XSD::XSDFloat.new(1.0/0.0).to_s)
358
+ assert_equal(1, XSD::XSDFloat.new(1.0/0.0).data.infinite?)
359
+ assert_equal("-INF", XSD::XSDFloat.new(-1.0/0.0).to_s)
360
+ assert_equal(-1, XSD::XSDFloat.new(-1.0/0.0).data.infinite?)
361
+
362
+ targets = [
363
+ "0.000000000000a",
364
+ "00a.0000000000001",
365
+ "+-5",
366
+ "5_0",
367
+ ]
368
+ targets.each do |d|
369
+ assert_raises(XSD::ValueSpaceError) do
370
+ XSD::XSDFloat.new(d)
371
+ end
372
+ end
373
+ end
374
+
375
+ def test_XSDDouble
376
+ o = XSD::XSDDouble.new
377
+ assert_equal(XSD::Namespace, o.type.namespace)
378
+ assert_equal(XSD::DoubleLiteral, o.type.name)
379
+ assert_equal(nil, o.data)
380
+ assert_equal(true, o.is_nil)
381
+
382
+ targets = [
383
+ 3.14159265358979,
384
+ 12.34e36,
385
+ 1.402e-45,
386
+ -1.402e-45,
387
+ ]
388
+ targets.each do |f|
389
+ assert_equal(f, XSD::XSDDouble.new(f).data)
390
+ end
391
+
392
+ targets = [
393
+ "+3.14159265358979",
394
+ "+1.234e+37",
395
+ "+1.402e-45",
396
+ "-1.402e-45",
397
+ ]
398
+ targets.each do |f|
399
+ assert_equal(f, XSD::XSDDouble.new(f).to_s)
400
+ end
401
+
402
+ targets = [
403
+ [3, "+3"], # should be 3.0?
404
+ [-2, "-2"], # ditto.
405
+ [3.14159265358979, "+3.14159265358979"],
406
+ [12.34e36, "+1.234e+37"],
407
+ [1.402e-45, "+1.402e-45"],
408
+ [-1.402e-45, "-1.402e-45"],
409
+ ["1.402e", "+1.402"],
410
+ ["12.34E36", "+1.234e+37"],
411
+ ["1.402E-45", "+1.402e-45"],
412
+ ["-1.402E-45", "-1.402e-45"],
413
+ ["1.402E", "+1.402"],
414
+ ]
415
+ targets.each do |f, str|
416
+ assert_equal(str, XSD::XSDDouble.new(f).to_s)
417
+ end
418
+
419
+ assert_equal("+0", XSD::XSDFloat.new(+0.0).to_s)
420
+ assert_equal("-0", XSD::XSDFloat.new(NegativeZero).to_s)
421
+ assert_equal("NaN", XSD::XSDDouble.new(0.0/0.0).to_s)
422
+ assert(XSD::XSDDouble.new(0.0/0.0).data.nan?)
423
+ assert_equal("INF", XSD::XSDDouble.new(1.0/0.0).to_s)
424
+ assert_equal(1, XSD::XSDDouble.new(1.0/0.0).data.infinite?)
425
+ assert_equal("-INF", XSD::XSDDouble.new(-1.0/0.0).to_s)
426
+ assert_equal(-1, XSD::XSDDouble.new(-1.0/0.0).data.infinite?)
427
+
428
+ targets = [
429
+ "0.000000000000a",
430
+ "00a.0000000000001",
431
+ "+-5",
432
+ ]
433
+ targets.each do |d|
434
+ assert_raises(XSD::ValueSpaceError) do
435
+ XSD::XSDDouble.new(d)
436
+ end
437
+ end
438
+ end
439
+
440
+ def test_XSDDuration
441
+ o = XSD::XSDDuration.new
442
+ assert_equal(XSD::Namespace, o.type.namespace)
443
+ assert_equal(XSD::DurationLiteral, o.type.name)
444
+ assert_equal(nil, o.data)
445
+ assert_equal(true, o.is_nil)
446
+
447
+ targets = [
448
+ "P1Y2M3DT4H5M6S",
449
+ "P1234Y5678M9012DT3456H7890M1234.5678S",
450
+ "PT3456H7890M1234.5678S",
451
+ "P1234Y5678M9012D",
452
+ "-P1234Y5678M9012DT3456H7890M1234.5678S",
453
+ "P5678M9012DT3456H7890M1234.5678S",
454
+ "-P1234Y9012DT3456H7890M1234.5678S",
455
+ "+P1234Y5678MT3456H7890M1234.5678S",
456
+ "P1234Y5678M9012DT7890M1234.5678S",
457
+ "-P1234Y5678M9012DT3456H1234.5678S",
458
+ "+P1234Y5678M9012DT3456H7890M",
459
+ "P123400000000000Y",
460
+ "-P567800000000000M",
461
+ "+P901200000000000D",
462
+ "PT345600000000000H",
463
+ "-PT789000000000000M",
464
+ "+PT123400000000000.000000000005678S",
465
+ "P1234YT1234.5678S",
466
+ "-P5678MT7890M",
467
+ "+P9012DT3456H",
468
+ "PT5S",
469
+ ]
470
+ targets.each do |str|
471
+ assert_parsed_result(XSD::XSDDuration, str)
472
+ end
473
+
474
+ targets = [
475
+ ["P0Y0M0DT0H0M0S",
476
+ "P0D"],
477
+ ["-P0DT0S",
478
+ "-P0D"],
479
+ ["P01234Y5678M9012DT3456H7890M1234.5678S",
480
+ "P1234Y5678M9012DT3456H7890M1234.5678S"],
481
+ ["P1234Y005678M9012DT3456H7890M1234.5678S",
482
+ "P1234Y5678M9012DT3456H7890M1234.5678S"],
483
+ ["P1234Y5678M0009012DT3456H7890M1234.5678S",
484
+ "P1234Y5678M9012DT3456H7890M1234.5678S"],
485
+ ["P1234Y5678M9012DT00003456H7890M1234.5678S",
486
+ "P1234Y5678M9012DT3456H7890M1234.5678S"],
487
+ ["P1234Y5678M9012DT3456H000007890M1234.5678S",
488
+ "P1234Y5678M9012DT3456H7890M1234.5678S"],
489
+ ["P1234Y5678M9012DT3456H7890M0000001234.5678S",
490
+ "P1234Y5678M9012DT3456H7890M1234.5678S"],
491
+ ]
492
+ targets.each do |data, expected|
493
+ assert_equal(expected, XSD::XSDDuration.new(data).to_s)
494
+ end
495
+ end
496
+
497
+ def test_XSDDateTime
498
+ o = XSD::XSDDateTime.new
499
+ assert_equal(XSD::Namespace, o.type.namespace)
500
+ assert_equal(XSD::DateTimeLiteral, o.type.name)
501
+ assert_equal(nil, o.data)
502
+ assert_equal(true, o.is_nil)
503
+
504
+ targets = [
505
+ "2002-05-18T16:52:20Z",
506
+ "0001-01-01T00:00:00Z",
507
+ "9999-12-31T23:59:59Z",
508
+ "19999-12-31T23:59:59Z",
509
+ "2002-12-31T23:59:59.999Z",
510
+ "2002-12-31T23:59:59.001Z",
511
+ "2002-12-31T23:59:59.99999999999999999999Z",
512
+ "2002-12-31T23:59:59.00000000000000000001Z",
513
+ "2002-12-31T23:59:59+09:00",
514
+ "2002-12-31T23:59:59+00:01",
515
+ "2002-12-31T23:59:59-00:01",
516
+ "2002-12-31T23:59:59-23:59",
517
+ "2002-12-31T23:59:59.00000000000000000001+13:30",
518
+ "2002-12-31T23:59:59.5137Z",
519
+ "2002-12-31T23:59:59.51375Z", # 411/800
520
+ "2002-12-31T23:59:59.51375+12:34",
521
+ "-2002-05-18T16:52:20Z",
522
+ "-4713-01-01T12:00:00Z",
523
+ "-2002-12-31T23:59:59+00:01",
524
+ "-0001-12-31T23:59:59.00000000000000000001+13:30",
525
+ ]
526
+ targets.each do |str|
527
+ assert_parsed_result(XSD::XSDDateTime, str)
528
+ end
529
+
530
+ targets = [
531
+ ["2002-12-31T23:59:59.00",
532
+ "2002-12-31T23:59:59Z"],
533
+ ["2002-12-31T23:59:59+00:00",
534
+ "2002-12-31T23:59:59Z"],
535
+ ["2002-12-31T23:59:59-00:00",
536
+ "2002-12-31T23:59:59Z"],
537
+ ["-2002-12-31T23:59:59.00",
538
+ "-2002-12-31T23:59:59Z"],
539
+ ["-2002-12-31T23:59:59+00:00",
540
+ "-2002-12-31T23:59:59Z"],
541
+ ["-2002-12-31T23:59:59-00:00",
542
+ "-2002-12-31T23:59:59Z"],
543
+ ]
544
+ targets.each do |data, expected|
545
+ assert_equal(expected, XSD::XSDDateTime.new(data).to_s)
546
+ d = DateTime.parse(data)
547
+ d >>= 12 if d.year < 0 # XSDDateTime.year(-1) == DateTime.year(0)
548
+ assert_equal(expected, XSD::XSDDateTime.new(d).to_s)
549
+ end
550
+
551
+ targets = [
552
+ "0000-05-18T16:52:20Z",
553
+ "05-18T16:52:20Z",
554
+ "2002-05T16:52:20Z",
555
+ "2002-05-18T16:52Z",
556
+ "",
557
+ ]
558
+ targets.each do |d|
559
+ assert_raises(XSD::ValueSpaceError, d.to_s) do
560
+ XSD::XSDDateTime.new(d)
561
+ end
562
+ end
563
+ end
564
+
565
+ def test_XSDTime
566
+ o = XSD::XSDTime.new
567
+ assert_equal(XSD::Namespace, o.type.namespace)
568
+ assert_equal(XSD::TimeLiteral, o.type.name)
569
+ assert_equal(nil, o.data)
570
+ assert_equal(true, o.is_nil)
571
+
572
+ targets = [
573
+ "16:52:20Z",
574
+ "00:00:00Z",
575
+ "23:59:59Z",
576
+ "23:59:59.999Z",
577
+ "23:59:59.001Z",
578
+ "23:59:59.99999999999999999999Z",
579
+ "23:59:59.00000000000000000001Z",
580
+ "23:59:59+09:00",
581
+ "23:59:59+00:01",
582
+ "23:59:59-00:01",
583
+ "23:59:59-23:59",
584
+ "23:59:59.00000000000000000001+13:30",
585
+ "23:59:59.51345Z",
586
+ "23:59:59.51345+12:34",
587
+ "23:59:59+00:01",
588
+ ]
589
+ targets.each do |str|
590
+ assert_parsed_result(XSD::XSDTime, str)
591
+ end
592
+
593
+ targets = [
594
+ ["23:59:59.00",
595
+ "23:59:59Z"],
596
+ ["23:59:59+00:00",
597
+ "23:59:59Z"],
598
+ ["23:59:59-00:00",
599
+ "23:59:59Z"],
600
+ ]
601
+ targets.each do |data, expected|
602
+ assert_equal(expected, XSD::XSDTime.new(data).to_s)
603
+ end
604
+ end
605
+
606
+ def test_XSDDate
607
+ o = XSD::XSDDate.new
608
+ assert_equal(XSD::Namespace, o.type.namespace)
609
+ assert_equal(XSD::DateLiteral, o.type.name)
610
+ assert_equal(nil, o.data)
611
+ assert_equal(true, o.is_nil)
612
+
613
+ targets = [
614
+ "2002-05-18Z",
615
+ "0001-01-01Z",
616
+ "9999-12-31Z",
617
+ "19999-12-31Z",
618
+ "2002-12-31+09:00",
619
+ "2002-12-31+00:01",
620
+ "2002-12-31-00:01",
621
+ "2002-12-31-23:59",
622
+ "2002-12-31+13:30",
623
+ "-2002-05-18Z",
624
+ "-19999-12-31Z",
625
+ "-2002-12-31+00:01",
626
+ "-0001-12-31+13:30",
627
+ ]
628
+ targets.each do |str|
629
+ assert_parsed_result(XSD::XSDDate, str)
630
+ end
631
+
632
+ targets = [
633
+ ["2002-12-31",
634
+ "2002-12-31Z"],
635
+ ["2002-12-31+00:00",
636
+ "2002-12-31Z"],
637
+ ["2002-12-31-00:00",
638
+ "2002-12-31Z"],
639
+ ["-2002-12-31",
640
+ "-2002-12-31Z"],
641
+ ["-2002-12-31+00:00",
642
+ "-2002-12-31Z"],
643
+ ["-2002-12-31-00:00",
644
+ "-2002-12-31Z"],
645
+ ]
646
+ targets.each do |data, expected|
647
+ assert_equal(expected, XSD::XSDDate.new(data).to_s)
648
+ d = Date.parse(data)
649
+ d >>= 12 if d.year < 0 # XSDDate.year(-1) == Date.year(0)
650
+ assert_equal(expected, XSD::XSDDate.new(d).to_s)
651
+ end
652
+ end
653
+ end
654
+
655
+ class TestXSD2 < Test::Unit::TestCase
656
+ def setup
657
+ # Nothing to do.
658
+ end
659
+
660
+ def teardown
661
+ # Nothing to do.
662
+ end
663
+
664
+ def assert_parsed_result(klass, str)
665
+ o = klass.new(str)
666
+ assert_equal(str, o.to_s)
667
+ end
668
+
669
+ def test_XSDGYearMonth
670
+ o = XSD::XSDGYearMonth.new
671
+ assert_equal(XSD::Namespace, o.type.namespace)
672
+ assert_equal(XSD::GYearMonthLiteral, o.type.name)
673
+ assert_equal(nil, o.data)
674
+ assert_equal(true, o.is_nil)
675
+
676
+ targets = [
677
+ "2002-05Z",
678
+ "0001-01Z",
679
+ "9999-12Z",
680
+ "19999-12Z",
681
+ "2002-12+09:00",
682
+ "2002-12+00:01",
683
+ "2002-12-00:01",
684
+ "2002-12-23:59",
685
+ "2002-12+13:30",
686
+ "-2002-05Z",
687
+ "-19999-12Z",
688
+ "-2002-12+00:01",
689
+ "-0001-12+13:30",
690
+ ]
691
+ targets.each do |str|
692
+ assert_parsed_result(XSD::XSDGYearMonth, str)
693
+ end
694
+
695
+ targets = [
696
+ ["2002-12",
697
+ "2002-12Z"],
698
+ ["2002-12+00:00",
699
+ "2002-12Z"],
700
+ ["2002-12-00:00",
701
+ "2002-12Z"],
702
+ ["-2002-12",
703
+ "-2002-12Z"],
704
+ ["-2002-12+00:00",
705
+ "-2002-12Z"],
706
+ ["-2002-12-00:00",
707
+ "-2002-12Z"],
708
+ ]
709
+ targets.each do |data, expected|
710
+ assert_equal(expected, XSD::XSDGYearMonth.new(data).to_s)
711
+ end
712
+ end
713
+
714
+ def test_XSDGYear
715
+ o = XSD::XSDGYear.new
716
+ assert_equal(XSD::Namespace, o.type.namespace)
717
+ assert_equal(XSD::GYearLiteral, o.type.name)
718
+ assert_equal(nil, o.data)
719
+ assert_equal(true, o.is_nil)
720
+
721
+ targets = [
722
+ "2002Z",
723
+ "0001Z",
724
+ "9999Z",
725
+ "19999Z",
726
+ "2002+09:00",
727
+ "2002+00:01",
728
+ "2002-00:01",
729
+ "2002-23:59",
730
+ "2002+13:30",
731
+ "-2002Z",
732
+ "-19999Z",
733
+ "-2002+00:01",
734
+ "-0001+13:30",
735
+ ]
736
+ targets.each do |str|
737
+ assert_parsed_result(XSD::XSDGYear, str)
738
+ end
739
+
740
+ targets = [
741
+ ["2002",
742
+ "2002Z"],
743
+ ["2002+00:00",
744
+ "2002Z"],
745
+ ["2002-00:00",
746
+ "2002Z"],
747
+ ["-2002",
748
+ "-2002Z"],
749
+ ["-2002+00:00",
750
+ "-2002Z"],
751
+ ["-2002-00:00",
752
+ "-2002Z"],
753
+ ]
754
+ targets.each do |data, expected|
755
+ assert_equal(expected, XSD::XSDGYear.new(data).to_s)
756
+ end
757
+ end
758
+
759
+ def test_XSDGMonthDay
760
+ o = XSD::XSDGMonthDay.new
761
+ assert_equal(XSD::Namespace, o.type.namespace)
762
+ assert_equal(XSD::GMonthDayLiteral, o.type.name)
763
+ assert_equal(nil, o.data)
764
+ assert_equal(true, o.is_nil)
765
+
766
+ targets = [
767
+ "--05-18Z",
768
+ "--01-01Z",
769
+ "--12-31Z",
770
+ "--12-31+09:00",
771
+ "--12-31+00:01",
772
+ "--12-31-00:01",
773
+ "--12-31-23:59",
774
+ "--12-31+13:30",
775
+ ]
776
+ targets.each do |str|
777
+ assert_parsed_result(XSD::XSDGMonthDay, str)
778
+ end
779
+
780
+ targets = [
781
+ ["--12-31",
782
+ "--12-31Z"],
783
+ ["--12-31+00:00",
784
+ "--12-31Z"],
785
+ ["--12-31-00:00",
786
+ "--12-31Z"],
787
+ ]
788
+ targets.each do |data, expected|
789
+ assert_equal(expected, XSD::XSDGMonthDay.new(data).to_s)
790
+ end
791
+ end
792
+
793
+ def test_XSDGDay
794
+ o = XSD::XSDGDay.new
795
+ assert_equal(XSD::Namespace, o.type.namespace)
796
+ assert_equal(XSD::GDayLiteral, o.type.name)
797
+ assert_equal(nil, o.data)
798
+ assert_equal(true, o.is_nil)
799
+
800
+ targets = [
801
+ "---18Z",
802
+ "---01Z",
803
+ "---31Z",
804
+ "---31+09:00",
805
+ "---31+00:01",
806
+ "---31-00:01",
807
+ "---31-23:59",
808
+ "---31+13:30",
809
+ ]
810
+ targets.each do |str|
811
+ assert_parsed_result(XSD::XSDGDay, str)
812
+ end
813
+
814
+ targets = [
815
+ ["---31",
816
+ "---31Z"],
817
+ ["---31+00:00",
818
+ "---31Z"],
819
+ ["---31-00:00",
820
+ "---31Z"],
821
+ ]
822
+ targets.each do |data, expected|
823
+ assert_equal(expected, XSD::XSDGDay.new(data).to_s)
824
+ end
825
+ end
826
+
827
+ def test_XSDGMonth
828
+ o = XSD::XSDGMonth.new
829
+ assert_equal(XSD::Namespace, o.type.namespace)
830
+ assert_equal(XSD::GMonthLiteral, o.type.name)
831
+ assert_equal(nil, o.data)
832
+ assert_equal(true, o.is_nil)
833
+
834
+ targets = [
835
+ "--05Z",
836
+ "--01Z",
837
+ "--12Z",
838
+ "--12+09:00",
839
+ "--12+00:01",
840
+ "--12-00:01",
841
+ "--12-23:59",
842
+ "--12+13:30",
843
+ ]
844
+ targets.each do |str|
845
+ assert_parsed_result(XSD::XSDGMonth, str)
846
+ end
847
+
848
+ targets = [
849
+ ["--12",
850
+ "--12Z"],
851
+ ["--12+00:00",
852
+ "--12Z"],
853
+ ["--12-00:00",
854
+ "--12Z"],
855
+ ]
856
+ targets.each do |data, expected|
857
+ assert_equal(expected, XSD::XSDGMonth.new(data).to_s)
858
+ end
859
+ end
860
+
861
+ def test_XSDHexBinary
862
+ o = XSD::XSDHexBinary.new
863
+ assert_equal(XSD::Namespace, o.type.namespace)
864
+ assert_equal(XSD::HexBinaryLiteral, o.type.name)
865
+ assert_equal(nil, o.data)
866
+ assert_equal(true, o.is_nil)
867
+
868
+ targets = [
869
+ "abcdef",
870
+ "\xe3\x81\xaa\xe3\x81\xb2",
871
+ %Q(\0),
872
+ "",
873
+ ]
874
+ targets.each do |str|
875
+ assert_equal(str, XSD::XSDHexBinary.new(str).string)
876
+ assert_equal(str.unpack("H*")[0 ].tr('a-f', 'A-F'),
877
+ XSD::XSDHexBinary.new(str).data)
878
+ o = XSD::XSDHexBinary.new
879
+ o.set_encoded(str.unpack("H*")[0 ].tr('a-f', 'A-F'))
880
+ assert_equal(str, o.string)
881
+ o.set_encoded(str.unpack("H*")[0 ].tr('A-F', 'a-f'))
882
+ assert_equal(str, o.string)
883
+ end
884
+
885
+ targets = [
886
+ "0FG7",
887
+ "0fg7",
888
+ ]
889
+ targets.each do |d|
890
+ assert_raises(XSD::ValueSpaceError, d.to_s) do
891
+ o = XSD::XSDHexBinary.new
892
+ o.set_encoded(d)
893
+ p o.string
894
+ end
895
+ end
896
+ end
897
+
898
+ def test_XSDBase64Binary
899
+ o = XSD::XSDBase64Binary.new
900
+ assert_equal(XSD::Namespace, o.type.namespace)
901
+ assert_equal(XSD::Base64BinaryLiteral, o.type.name)
902
+ assert_equal(nil, o.data)
903
+ assert_equal(true, o.is_nil)
904
+
905
+ targets = [
906
+ "abcdef",
907
+ "\xe3\x81\xaa\xe3\x81\xb2",
908
+ %Q(\0),
909
+ "",
910
+ ]
911
+ targets.each do |str|
912
+ assert_equal(str, XSD::XSDBase64Binary.new(str).string)
913
+ assert_equal([str ].pack("m").chomp, XSD::XSDBase64Binary.new(str).data)
914
+ o = XSD::XSDBase64Binary.new
915
+ o.set_encoded([str ].pack("m").chomp)
916
+ assert_equal(str, o.string)
917
+ end
918
+
919
+ targets = [
920
+ "-",
921
+ "*",
922
+ ]
923
+ targets.each do |d|
924
+ assert_raises(XSD::ValueSpaceError, d.to_s) do
925
+ o = XSD::XSDBase64Binary.new
926
+ o.set_encoded(d)
927
+ p o.string
928
+ end
929
+ end
930
+ end
931
+
932
+ def test_XSDAnyURI
933
+ o = XSD::XSDAnyURI.new
934
+ assert_equal(XSD::Namespace, o.type.namespace)
935
+ assert_equal(XSD::AnyURILiteral, o.type.name)
936
+ assert_equal(nil, o.data)
937
+ assert_equal(true, o.is_nil)
938
+
939
+ # Too few tests here I know. Believe uri module. :)
940
+ targets = [
941
+ "foo",
942
+ "http://foo",
943
+ "http://foo/bar/baz",
944
+ "http://foo/bar#baz",
945
+ "http://foo/bar%20%20?a+b",
946
+ "http://FOO/BAR%20%20?A+B",
947
+ ]
948
+ targets.each do |str|
949
+ assert_parsed_result(XSD::XSDAnyURI, str)
950
+ end
951
+ end
952
+
953
+ def test_XSDQName
954
+ o = XSD::XSDQName.new
955
+ assert_equal(XSD::Namespace, o.type.namespace)
956
+ assert_equal(XSD::QNameLiteral, o.type.name)
957
+ assert_equal(nil, o.data)
958
+ assert_equal(true, o.is_nil)
959
+
960
+ # More strict test is needed but current implementation allows all non-':'
961
+ # chars like ' ', C0 or C1...
962
+ targets = [
963
+ "foo",
964
+ "foo:bar",
965
+ "a:b",
966
+ ]
967
+ targets.each do |str|
968
+ assert_parsed_result(XSD::XSDQName, str)
969
+ end
970
+ end
971
+
972
+
973
+ ###
974
+ ## Derived types
975
+ #
976
+
977
+ def test_XSDInteger
978
+ o = XSD::XSDInteger.new
979
+ assert_equal(XSD::Namespace, o.type.namespace)
980
+ assert_equal(XSD::IntegerLiteral, o.type.name)
981
+ assert_equal(nil, o.data)
982
+ assert_equal(true, o.is_nil)
983
+
984
+ targets = [
985
+ 0,
986
+ 1000000000,
987
+ -9999999999,
988
+ 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890,
989
+ 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890,
990
+ -1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789,
991
+ ]
992
+ targets.each do |int|
993
+ assert_equal(int, XSD::XSDInteger.new(int).data)
994
+ end
995
+
996
+ targets = [
997
+ "0",
998
+ "1000000000",
999
+ "-9999999999",
1000
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
1001
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
1002
+ "-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
1003
+ ]
1004
+ targets.each do |str|
1005
+ assert_equal(str, XSD::XSDInteger.new(str).to_s)
1006
+ end
1007
+
1008
+ targets = [
1009
+ ["-0", "0"],
1010
+ ["+0", "0"],
1011
+ ["000123", "123"],
1012
+ ["-000123", "-123"],
1013
+ [
1014
+ "+12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
1015
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
1016
+ ],
1017
+ ]
1018
+ targets.each do |data, expected|
1019
+ assert_equal(expected, XSD::XSDInteger.new(data).to_s)
1020
+ end
1021
+
1022
+ targets = [
1023
+ "0.0",
1024
+ "-5.2",
1025
+ "0.000000000000a",
1026
+ "+-5",
1027
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890."
1028
+ ]
1029
+ targets.each do |d|
1030
+ assert_raises(XSD::ValueSpaceError) do
1031
+ XSD::XSDInteger.new(d)
1032
+ end
1033
+ end
1034
+ end
1035
+
1036
+ def test_XSDNonPositiveInteger
1037
+ o = XSD::XSDNonPositiveInteger.new
1038
+ assert_equal(XSD::Namespace, o.type.namespace)
1039
+ assert_equal(XSD::NonPositiveIntegerLiteral, o.type.name)
1040
+ assert_equal(nil, o.data)
1041
+ assert_equal(true, o.is_nil)
1042
+
1043
+ targets = [
1044
+ 0,
1045
+ -9999999999,
1046
+ -1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789,
1047
+ ]
1048
+ targets.each do |int|
1049
+ assert_equal(int, XSD::XSDNonPositiveInteger.new(int).data)
1050
+ end
1051
+
1052
+ targets = [
1053
+ "0",
1054
+ "-9999999999",
1055
+ "-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
1056
+ ]
1057
+ targets.each do |str|
1058
+ assert_equal(str, XSD::XSDNonPositiveInteger.new(str).to_s)
1059
+ end
1060
+
1061
+ targets = [
1062
+ ["-0", "0"],
1063
+ ["-000123", "-123"],
1064
+ ]
1065
+ targets.each do |data, expected|
1066
+ assert_equal(expected, XSD::XSDNonPositiveInteger.new(data).to_s)
1067
+ end
1068
+
1069
+ targets = [
1070
+ "0.0",
1071
+ "-5.2",
1072
+ "0.000000000000a",
1073
+ "+-5",
1074
+ "-12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890."
1075
+ ]
1076
+ targets.each do |d|
1077
+ assert_raises(XSD::ValueSpaceError) do
1078
+ XSD::XSDNonPositiveInteger.new(d)
1079
+ end
1080
+ end
1081
+ end
1082
+
1083
+ def test_XSDNegativeInteger
1084
+ o = XSD::XSDNegativeInteger.new
1085
+ assert_equal(XSD::Namespace, o.type.namespace)
1086
+ assert_equal(XSD::NegativeIntegerLiteral, o.type.name)
1087
+ assert_equal(nil, o.data)
1088
+ assert_equal(true, o.is_nil)
1089
+
1090
+ targets = [
1091
+ -1,
1092
+ -9999999999,
1093
+ -1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789,
1094
+ ]
1095
+ targets.each do |int|
1096
+ assert_equal(int, XSD::XSDNegativeInteger.new(int).data)
1097
+ end
1098
+
1099
+ targets = [
1100
+ "-1",
1101
+ "-9999999999",
1102
+ "-1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
1103
+ ]
1104
+ targets.each do |str|
1105
+ assert_equal(str, XSD::XSDNegativeInteger.new(str).to_s)
1106
+ end
1107
+
1108
+ targets = [
1109
+ ["-000123", "-123"],
1110
+ ]
1111
+ targets.each do |data, expected|
1112
+ assert_equal(expected, XSD::XSDNegativeInteger.new(data).to_s)
1113
+ end
1114
+
1115
+ targets = [
1116
+ "-0.0",
1117
+ "-5.2",
1118
+ "-0.000000000000a",
1119
+ "+-5",
1120
+ "-12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890."
1121
+ ]
1122
+ targets.each do |d|
1123
+ assert_raises(XSD::ValueSpaceError) do
1124
+ XSD::XSDNegativeInteger.new(d)
1125
+ end
1126
+ end
1127
+ end
1128
+
1129
+ def test_XSDLong
1130
+ o = XSD::XSDLong.new
1131
+ assert_equal(XSD::Namespace, o.type.namespace)
1132
+ assert_equal(XSD::LongLiteral, o.type.name)
1133
+ assert_equal(nil, o.data)
1134
+ assert_equal(true, o.is_nil)
1135
+
1136
+ targets = [
1137
+ 0,
1138
+ 123,
1139
+ -123,
1140
+ 9223372036854775807,
1141
+ -9223372036854775808,
1142
+ ]
1143
+ targets.each do |lng|
1144
+ assert_equal(lng, XSD::XSDLong.new(lng).data)
1145
+ end
1146
+
1147
+ targets = [
1148
+ "0",
1149
+ "123",
1150
+ "-123",
1151
+ "9223372036854775807",
1152
+ "-9223372036854775808",
1153
+ ]
1154
+ targets.each do |str|
1155
+ assert_equal(str, XSD::XSDLong.new(str).to_s)
1156
+ end
1157
+
1158
+ targets = [
1159
+ ["-0", "0"],
1160
+ ["+0", "0"],
1161
+ ["000123", "123"],
1162
+ ["-000123", "-123"],
1163
+ ]
1164
+ targets.each do |data, expected|
1165
+ assert_equal(expected, XSD::XSDLong.new(data).to_s)
1166
+ end
1167
+
1168
+ targets = [
1169
+ 9223372036854775808,
1170
+ -9223372036854775809,
1171
+ "0.0",
1172
+ "-5.2",
1173
+ "0.000000000000a",
1174
+ "+-5",
1175
+ ]
1176
+ targets.each do |d|
1177
+ assert_raises(XSD::ValueSpaceError) do
1178
+ XSD::XSDLong.new(d)
1179
+ end
1180
+ end
1181
+ end
1182
+
1183
+ def test_XSDInt
1184
+ o = XSD::XSDInt.new
1185
+ assert_equal(XSD::Namespace, o.type.namespace)
1186
+ assert_equal(XSD::IntLiteral, o.type.name)
1187
+ assert_equal(nil, o.data)
1188
+ assert_equal(true, o.is_nil)
1189
+
1190
+ targets = [
1191
+ 0,
1192
+ 123,
1193
+ -123,
1194
+ 2147483647,
1195
+ -2147483648,
1196
+ ]
1197
+ targets.each do |lng|
1198
+ assert_equal(lng, XSD::XSDInt.new(lng).data)
1199
+ end
1200
+
1201
+ targets = [
1202
+ "0",
1203
+ "123",
1204
+ "-123",
1205
+ "2147483647",
1206
+ "-2147483648",
1207
+ ]
1208
+ targets.each do |str|
1209
+ assert_equal(str, XSD::XSDInt.new(str).to_s)
1210
+ end
1211
+
1212
+ targets = [
1213
+ ["-0", "0"],
1214
+ ["+0", "0"],
1215
+ ["000123", "123"],
1216
+ ["-000123", "-123"],
1217
+ ]
1218
+ targets.each do |data, expected|
1219
+ assert_equal(expected, XSD::XSDInt.new(data).to_s)
1220
+ end
1221
+
1222
+ targets = [
1223
+ 2147483648,
1224
+ -2147483649,
1225
+ "0.0",
1226
+ "-5.2",
1227
+ "0.000000000000a",
1228
+ "+-5",
1229
+ ]
1230
+ targets.each do |d|
1231
+ assert_raises(XSD::ValueSpaceError) do
1232
+ XSD::XSDInt.new(d)
1233
+ end
1234
+ end
1235
+ end
1236
+
1237
+ def test_XSDShort
1238
+ o = XSD::XSDShort.new
1239
+ assert_equal(XSD::Namespace, o.type.namespace)
1240
+ assert_equal(XSD::ShortLiteral, o.type.name)
1241
+ assert_equal(nil, o.data)
1242
+ assert_equal(true, o.is_nil)
1243
+
1244
+ targets = [
1245
+ 0,
1246
+ 123,
1247
+ -123,
1248
+ 32767,
1249
+ -32768,
1250
+ ]
1251
+ targets.each do |lng|
1252
+ assert_equal(lng, XSD::XSDShort.new(lng).data)
1253
+ end
1254
+
1255
+ targets = [
1256
+ "0",
1257
+ "123",
1258
+ "-123",
1259
+ "32767",
1260
+ "-32768",
1261
+ ]
1262
+ targets.each do |str|
1263
+ assert_equal(str, XSD::XSDShort.new(str).to_s)
1264
+ end
1265
+
1266
+ targets = [
1267
+ ["-0", "0"],
1268
+ ["+0", "0"],
1269
+ ["000123", "123"],
1270
+ ["-000123", "-123"],
1271
+ ]
1272
+ targets.each do |data, expected|
1273
+ assert_equal(expected, XSD::XSDShort.new(data).to_s)
1274
+ end
1275
+
1276
+ targets = [
1277
+ 32768,
1278
+ -32769,
1279
+ "0.0",
1280
+ "-5.2",
1281
+ "0.000000000000a",
1282
+ "+-5",
1283
+ ]
1284
+ targets.each do |d|
1285
+ assert_raises(XSD::ValueSpaceError) do
1286
+ XSD::XSDShort.new(d)
1287
+ end
1288
+ end
1289
+ end
1290
+
1291
+ def test_XSDByte
1292
+ o = XSD::XSDByte.new
1293
+ assert_equal(XSD::Namespace, o.type.namespace)
1294
+ assert_equal(XSD::ByteLiteral, o.type.name)
1295
+ assert_equal(nil, o.data)
1296
+ assert_equal(true, o.is_nil)
1297
+
1298
+ targets = [
1299
+ 0,
1300
+ 123,
1301
+ -123,
1302
+ 127,
1303
+ -128,
1304
+ ]
1305
+ targets.each do |lng|
1306
+ assert_equal(lng, XSD::XSDByte.new(lng).data)
1307
+ end
1308
+
1309
+ targets = [
1310
+ "0",
1311
+ "123",
1312
+ "-123",
1313
+ "127",
1314
+ "-128",
1315
+ ]
1316
+ targets.each do |str|
1317
+ assert_equal(str, XSD::XSDByte.new(str).to_s)
1318
+ end
1319
+
1320
+ targets = [
1321
+ ["-0", "0"],
1322
+ ["+0", "0"],
1323
+ ["000123", "123"],
1324
+ ["-000123", "-123"],
1325
+ ]
1326
+ targets.each do |data, expected|
1327
+ assert_equal(expected, XSD::XSDByte.new(data).to_s)
1328
+ end
1329
+
1330
+ targets = [
1331
+ 128,
1332
+ -129,
1333
+ "0.0",
1334
+ "-5.2",
1335
+ "0.000000000000a",
1336
+ "+-5",
1337
+ ]
1338
+ targets.each do |d|
1339
+ assert_raises(XSD::ValueSpaceError) do
1340
+ XSD::XSDByte.new(d)
1341
+ end
1342
+ end
1343
+ end
1344
+
1345
+ def test_XSDNonNegativeInteger
1346
+ o = XSD::XSDNonNegativeInteger.new
1347
+ assert_equal(XSD::Namespace, o.type.namespace)
1348
+ assert_equal(XSD::NonNegativeIntegerLiteral, o.type.name)
1349
+ assert_equal(nil, o.data)
1350
+ assert_equal(true, o.is_nil)
1351
+
1352
+ targets = [
1353
+ 0,
1354
+ 1000000000,
1355
+ 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890,
1356
+ ]
1357
+ targets.each do |int|
1358
+ assert_equal(int, XSD::XSDNonNegativeInteger.new(int).data)
1359
+ end
1360
+
1361
+ targets = [
1362
+ "0",
1363
+ "1000000000",
1364
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
1365
+ ]
1366
+ targets.each do |str|
1367
+ assert_equal(str, XSD::XSDNonNegativeInteger.new(str).to_s)
1368
+ end
1369
+
1370
+ targets = [
1371
+ ["-0", "0"],
1372
+ ["+0", "0"],
1373
+ ["000123", "123"],
1374
+ [
1375
+ "+12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
1376
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
1377
+ ],
1378
+ ]
1379
+ targets.each do |data, expected|
1380
+ assert_equal(expected, XSD::XSDNonNegativeInteger.new(data).to_s)
1381
+ end
1382
+
1383
+ targets = [
1384
+ "0.0",
1385
+ "0.000000000000a",
1386
+ "+-5",
1387
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890."
1388
+ ]
1389
+ targets.each do |d|
1390
+ assert_raises(XSD::ValueSpaceError) do
1391
+ XSD::XSDNonNegativeInteger.new(d)
1392
+ end
1393
+ end
1394
+ end
1395
+
1396
+ def test_XSDUnsignedLong
1397
+ o = XSD::XSDUnsignedLong.new
1398
+ assert_equal(XSD::Namespace, o.type.namespace)
1399
+ assert_equal(XSD::UnsignedLongLiteral, o.type.name)
1400
+ assert_equal(nil, o.data)
1401
+ assert_equal(true, o.is_nil)
1402
+
1403
+ targets = [
1404
+ 0,
1405
+ 1000000000,
1406
+ 18446744073709551615,
1407
+ ]
1408
+ targets.each do |int|
1409
+ assert_equal(int, XSD::XSDUnsignedLong.new(int).data)
1410
+ end
1411
+
1412
+ targets = [
1413
+ "0",
1414
+ "1000000000",
1415
+ "18446744073709551615",
1416
+ ]
1417
+ targets.each do |str|
1418
+ assert_equal(str, XSD::XSDUnsignedLong.new(str).to_s)
1419
+ end
1420
+
1421
+ targets = [
1422
+ ["-0", "0"],
1423
+ ["+0", "0"],
1424
+ ["000123", "123"],
1425
+ ["+18446744073709551615", "18446744073709551615"],
1426
+ ]
1427
+ targets.each do |data, expected|
1428
+ assert_equal(expected, XSD::XSDUnsignedLong.new(data).to_s)
1429
+ end
1430
+
1431
+ targets = [
1432
+ "0.0",
1433
+ "0.000000000000a",
1434
+ "+-5",
1435
+ "18446744073709551615."
1436
+ ]
1437
+ targets.each do |d|
1438
+ assert_raises(XSD::ValueSpaceError) do
1439
+ XSD::XSDUnsignedLong.new(d)
1440
+ end
1441
+ end
1442
+ end
1443
+
1444
+ def test_XSDUnsignedInt
1445
+ o = XSD::XSDUnsignedInt.new
1446
+ assert_equal(XSD::Namespace, o.type.namespace)
1447
+ assert_equal(XSD::UnsignedIntLiteral, o.type.name)
1448
+ assert_equal(nil, o.data)
1449
+ assert_equal(true, o.is_nil)
1450
+
1451
+ targets = [
1452
+ 0,
1453
+ 1000000000,
1454
+ 4294967295,
1455
+ ]
1456
+ targets.each do |int|
1457
+ assert_equal(int, XSD::XSDUnsignedInt.new(int).data)
1458
+ end
1459
+
1460
+ targets = [
1461
+ "0",
1462
+ "1000000000",
1463
+ "4294967295",
1464
+ ]
1465
+ targets.each do |str|
1466
+ assert_equal(str, XSD::XSDUnsignedInt.new(str).to_s)
1467
+ end
1468
+
1469
+ targets = [
1470
+ ["-0", "0"],
1471
+ ["+0", "0"],
1472
+ ["000123", "123"],
1473
+ ["+4294967295", "4294967295"],
1474
+ ]
1475
+ targets.each do |data, expected|
1476
+ assert_equal(expected, XSD::XSDUnsignedInt.new(data).to_s)
1477
+ end
1478
+
1479
+ targets = [
1480
+ "0.0",
1481
+ "0.000000000000a",
1482
+ "+-5",
1483
+ "4294967295."
1484
+ ]
1485
+ targets.each do |d|
1486
+ assert_raises(XSD::ValueSpaceError) do
1487
+ XSD::XSDUnsignedInt.new(d)
1488
+ end
1489
+ end
1490
+ end
1491
+
1492
+ def test_XSDUnsignedShort
1493
+ o = XSD::XSDUnsignedShort.new
1494
+ assert_equal(XSD::Namespace, o.type.namespace)
1495
+ assert_equal(XSD::UnsignedShortLiteral, o.type.name)
1496
+ assert_equal(nil, o.data)
1497
+ assert_equal(true, o.is_nil)
1498
+
1499
+ targets = [
1500
+ 0,
1501
+ 10000,
1502
+ 65535,
1503
+ ]
1504
+ targets.each do |int|
1505
+ assert_equal(int, XSD::XSDUnsignedShort.new(int).data)
1506
+ end
1507
+
1508
+ targets = [
1509
+ "0",
1510
+ "1000",
1511
+ "65535",
1512
+ ]
1513
+ targets.each do |str|
1514
+ assert_equal(str, XSD::XSDUnsignedShort.new(str).to_s)
1515
+ end
1516
+
1517
+ targets = [
1518
+ ["-0", "0"],
1519
+ ["+0", "0"],
1520
+ ["000123", "123"],
1521
+ ["+65535", "65535"],
1522
+ ]
1523
+ targets.each do |data, expected|
1524
+ assert_equal(expected, XSD::XSDUnsignedShort.new(data).to_s)
1525
+ end
1526
+
1527
+ targets = [
1528
+ "0.0",
1529
+ "0.000000000000a",
1530
+ "+-5",
1531
+ "65535."
1532
+ ]
1533
+ targets.each do |d|
1534
+ assert_raises(XSD::ValueSpaceError) do
1535
+ XSD::XSDUnsignedShort.new(d)
1536
+ end
1537
+ end
1538
+ end
1539
+
1540
+ def test_XSDUnsignedByte
1541
+ o = XSD::XSDUnsignedByte.new
1542
+ assert_equal(XSD::Namespace, o.type.namespace)
1543
+ assert_equal(XSD::UnsignedByteLiteral, o.type.name)
1544
+ assert_equal(nil, o.data)
1545
+ assert_equal(true, o.is_nil)
1546
+
1547
+ targets = [
1548
+ 0,
1549
+ 10,
1550
+ 255,
1551
+ ]
1552
+ targets.each do |int|
1553
+ assert_equal(int, XSD::XSDUnsignedByte.new(int).data)
1554
+ end
1555
+
1556
+ targets = [
1557
+ "0",
1558
+ "10",
1559
+ "255",
1560
+ ]
1561
+ targets.each do |str|
1562
+ assert_equal(str, XSD::XSDUnsignedByte.new(str).to_s)
1563
+ end
1564
+
1565
+ targets = [
1566
+ ["-0", "0"],
1567
+ ["+0", "0"],
1568
+ ["000123", "123"],
1569
+ ["+255", "255"],
1570
+ ]
1571
+ targets.each do |data, expected|
1572
+ assert_equal(expected, XSD::XSDUnsignedByte.new(data).to_s)
1573
+ end
1574
+
1575
+ targets = [
1576
+ "0.0",
1577
+ "0.000000000000a",
1578
+ "+-5",
1579
+ "255."
1580
+ ]
1581
+ targets.each do |d|
1582
+ assert_raises(XSD::ValueSpaceError) do
1583
+ XSD::XSDUnsignedByte.new(d)
1584
+ end
1585
+ end
1586
+ end
1587
+
1588
+ def test_XSDPositiveInteger
1589
+ o = XSD::XSDPositiveInteger.new
1590
+ assert_equal(XSD::Namespace, o.type.namespace)
1591
+ assert_equal(XSD::PositiveIntegerLiteral, o.type.name)
1592
+ assert_equal(nil, o.data)
1593
+ assert_equal(true, o.is_nil)
1594
+
1595
+ targets = [
1596
+ 1,
1597
+ 1000000000,
1598
+ 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890,
1599
+ ]
1600
+ targets.each do |int|
1601
+ assert_equal(int, XSD::XSDPositiveInteger.new(int).data)
1602
+ end
1603
+
1604
+ targets = [
1605
+ "1",
1606
+ "1000000000",
1607
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
1608
+ ]
1609
+ targets.each do |str|
1610
+ assert_equal(str, XSD::XSDPositiveInteger.new(str).to_s)
1611
+ end
1612
+
1613
+ targets = [
1614
+ ["+1", "1"],
1615
+ ["000123", "123"],
1616
+ [
1617
+ "+12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
1618
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
1619
+ ],
1620
+ ]
1621
+ targets.each do |data, expected|
1622
+ assert_equal(expected, XSD::XSDPositiveInteger.new(data).to_s)
1623
+ end
1624
+
1625
+ targets = [
1626
+ "1.0",
1627
+ "1.000000000000a",
1628
+ "+-5",
1629
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890."
1630
+ ]
1631
+ targets.each do |d|
1632
+ assert_raises(XSD::ValueSpaceError) do
1633
+ XSD::XSDPositiveInteger.new(d)
1634
+ end
1635
+ end
1636
+ end
1637
+ end
1638
+
1639
+
1640
+ end