daslabs 0.12.0 → 0.13.0

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 (535) hide show
  1. checksums.yaml +4 -4
  2. data/bin/daslabs +6 -0
  3. data/lib/daslabs/version.rb +1 -1
  4. metadata +5 -534
  5. data/.gitignore +0 -8
  6. data/.shell.rb.swp +0 -0
  7. data/CODE_OF_CONDUCT.md +0 -74
  8. data/Gemfile +0 -6
  9. data/Gemfile.lock +0 -24
  10. data/LICENSE.txt +0 -21
  11. data/README.md +0 -93
  12. data/Rakefile +0 -2
  13. data/daslabs.gemspec +0 -44
  14. data/examples/interactive.rb +0 -14
  15. data/examples/shell.rb +0 -49
  16. data/vendor/cache/mini_portile2-2.3.0.gem +0 -0
  17. data/vendor/cache/nokogiri-1.8.2.gem +0 -0
  18. data/vendor/cache/rake-10.5.0.gem +0 -0
  19. data/vendor/cache/ruby/2.5.0/bin/nokogiri +0 -27
  20. data/vendor/cache/ruby/2.5.0/bin/rake +0 -27
  21. data/vendor/cache/ruby/2.5.0/cache/mini_portile2-2.3.0.gem +0 -0
  22. data/vendor/cache/ruby/2.5.0/cache/nokogiri-1.8.2.gem +0 -0
  23. data/vendor/cache/ruby/2.5.0/cache/rake-10.5.0.gem +0 -0
  24. data/vendor/cache/ruby/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/nokogiri-1.8.2/gem.build_complete +0 -0
  25. data/vendor/cache/ruby/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/nokogiri-1.8.2/gem_make.out +0 -181
  26. data/vendor/cache/ruby/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/nokogiri-1.8.2/mkmf.log +0 -542
  27. data/vendor/cache/ruby/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/nokogiri-1.8.2/nokogiri/nokogiri.bundle +0 -0
  28. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/.concourse.yml +0 -83
  29. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/.gitignore +0 -7
  30. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/.travis.yml +0 -15
  31. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/CHANGELOG.md +0 -202
  32. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/Gemfile +0 -4
  33. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/LICENSE.txt +0 -20
  34. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/README.md +0 -245
  35. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/Rakefile +0 -29
  36. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/appveyor.yml +0 -25
  37. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/concourse/mini_portile.yml +0 -160
  38. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/concourse/tasks/rake-test/task.ps1 +0 -13
  39. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/concourse/tasks/rake-test/task.sh +0 -13
  40. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/lib/mini_portile2.rb +0 -3
  41. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb +0 -551
  42. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile_cmake.rb +0 -40
  43. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/lib/mini_portile2/version.rb +0 -3
  44. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/mini_portile2.gemspec +0 -42
  45. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/git/config +0 -4
  46. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/gpg-fixtures/data +0 -1
  47. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/gpg-fixtures/data.asc +0 -9
  48. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/gpg-fixtures/data.invalid.asc +0 -9
  49. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/patch 1.diff +0 -7
  50. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/test mini portile-1.0.0/configure +0 -11
  51. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/test-cmake-1.0/CMakeLists.txt +0 -7
  52. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/test-cmake-1.0/hello.c +0 -4
  53. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/assets/test-download-archive.tar.gz +0 -1
  54. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/helper.rb +0 -60
  55. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/test_cmake.rb +0 -64
  56. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/test_cook.rb +0 -115
  57. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/test_digest.rb +0 -215
  58. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/test_download.rb +0 -71
  59. data/vendor/cache/ruby/2.5.0/gems/mini_portile2-2.3.0/test/test_proxy.rb +0 -121
  60. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/.autotest +0 -22
  61. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/.cross_rubies +0 -8
  62. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/.editorconfig +0 -17
  63. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/.gemtest +0 -0
  64. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/.travis.yml +0 -63
  65. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/CHANGELOG.md +0 -1306
  66. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/CONTRIBUTING.md +0 -42
  67. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/C_CODING_STYLE.rdoc +0 -33
  68. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/Gemfile +0 -23
  69. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/Gemfile-libxml-ruby +0 -3
  70. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/LICENSE-DEPENDENCIES.md +0 -1612
  71. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/LICENSE.md +0 -31
  72. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/Manifest.txt +0 -365
  73. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/README.md +0 -173
  74. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ROADMAP.md +0 -111
  75. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/Rakefile +0 -354
  76. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/STANDARD_RESPONSES.md +0 -47
  77. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/Y_U_NO_GEMSPEC.md +0 -155
  78. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/appveyor.yml +0 -29
  79. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/bin/nokogiri +0 -118
  80. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/build_all +0 -44
  81. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/dependencies.yml +0 -69
  82. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/.sitearchdir.-.nokogiri.time +0 -0
  83. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/Makefile +0 -626
  84. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/depend +0 -358
  85. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/extconf.rb +0 -678
  86. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_document.c +0 -170
  87. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_document.h +0 -10
  88. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_document.o +0 -0
  89. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_element_description.c +0 -279
  90. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_element_description.h +0 -10
  91. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_element_description.o +0 -0
  92. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_entity_lookup.c +0 -32
  93. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_entity_lookup.h +0 -8
  94. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_entity_lookup.o +0 -0
  95. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_parser_context.c +0 -116
  96. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_parser_context.h +0 -11
  97. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_parser_context.o +0 -0
  98. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_push_parser.c +0 -87
  99. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_push_parser.h +0 -9
  100. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/html_sax_push_parser.o +0 -0
  101. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.bundle +0 -0
  102. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.c +0 -141
  103. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.h +0 -121
  104. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/nokogiri.o +0 -0
  105. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_attr.c +0 -98
  106. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_attr.h +0 -9
  107. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_attr.o +0 -0
  108. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_attribute_decl.c +0 -70
  109. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_attribute_decl.h +0 -9
  110. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_attribute_decl.o +0 -0
  111. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_cdata.c +0 -60
  112. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_cdata.h +0 -9
  113. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_cdata.o +0 -0
  114. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_comment.c +0 -69
  115. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_comment.h +0 -9
  116. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_comment.o +0 -0
  117. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_document.c +0 -606
  118. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_document.h +0 -23
  119. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_document.o +0 -0
  120. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_document_fragment.c +0 -48
  121. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_document_fragment.h +0 -10
  122. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_document_fragment.o +0 -0
  123. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_dtd.c +0 -202
  124. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_dtd.h +0 -10
  125. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_dtd.o +0 -0
  126. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_content.c +0 -123
  127. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_content.h +0 -10
  128. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_content.o +0 -0
  129. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_decl.c +0 -69
  130. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_decl.h +0 -9
  131. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_element_decl.o +0 -0
  132. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_encoding_handler.c +0 -79
  133. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_encoding_handler.h +0 -8
  134. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_encoding_handler.o +0 -0
  135. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_decl.c +0 -110
  136. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_decl.h +0 -10
  137. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_decl.o +0 -0
  138. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_reference.c +0 -52
  139. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_reference.h +0 -9
  140. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_entity_reference.o +0 -0
  141. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_io.c +0 -60
  142. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_io.h +0 -11
  143. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_io.o +0 -0
  144. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  145. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  146. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_libxml2_hacks.o +0 -0
  147. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_namespace.c +0 -117
  148. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_namespace.h +0 -13
  149. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_namespace.o +0 -0
  150. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_node.c +0 -1682
  151. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_node.h +0 -13
  152. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_node.o +0 -0
  153. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_node_set.c +0 -485
  154. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_node_set.h +0 -13
  155. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_node_set.o +0 -0
  156. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_processing_instruction.c +0 -56
  157. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_processing_instruction.h +0 -9
  158. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_processing_instruction.o +0 -0
  159. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_reader.c +0 -668
  160. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_reader.h +0 -10
  161. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_reader.o +0 -0
  162. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_relax_ng.c +0 -161
  163. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_relax_ng.h +0 -9
  164. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_relax_ng.o +0 -0
  165. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser.c +0 -310
  166. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser.h +0 -39
  167. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser.o +0 -0
  168. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser_context.c +0 -262
  169. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser_context.h +0 -10
  170. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_parser_context.o +0 -0
  171. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_push_parser.c +0 -159
  172. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_push_parser.h +0 -9
  173. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_sax_push_parser.o +0 -0
  174. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_schema.c +0 -205
  175. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_schema.h +0 -9
  176. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_schema.o +0 -0
  177. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_syntax_error.c +0 -64
  178. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_syntax_error.h +0 -13
  179. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_syntax_error.o +0 -0
  180. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_text.c +0 -52
  181. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_text.h +0 -9
  182. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_text.o +0 -0
  183. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_xpath_context.c +0 -298
  184. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_xpath_context.h +0 -10
  185. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xml_xpath_context.o +0 -0
  186. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xslt_stylesheet.c +0 -270
  187. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xslt_stylesheet.h +0 -14
  188. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/ext/nokogiri/xslt_stylesheet.o +0 -0
  189. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri.rb +0 -144
  190. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css.rb +0 -27
  191. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/node.rb +0 -52
  192. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/parser.rb +0 -732
  193. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/parser.y +0 -261
  194. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/parser_extras.rb +0 -91
  195. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/syntax_error.rb +0 -7
  196. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/tokenizer.rb +0 -152
  197. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/tokenizer.rex +0 -55
  198. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/css/xpath_visitor.rb +0 -223
  199. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/decorators/slop.rb +0 -42
  200. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html.rb +0 -37
  201. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/builder.rb +0 -35
  202. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/document.rb +0 -335
  203. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/document_fragment.rb +0 -39
  204. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/element_description.rb +0 -23
  205. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/element_description_defaults.rb +0 -671
  206. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/entity_lookup.rb +0 -13
  207. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/sax/parser.rb +0 -62
  208. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/sax/parser_context.rb +0 -16
  209. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/html/sax/push_parser.rb +0 -36
  210. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/nokogiri.bundle +0 -0
  211. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/syntax_error.rb +0 -4
  212. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/version.rb +0 -109
  213. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml.rb +0 -75
  214. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/attr.rb +0 -14
  215. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/attribute_decl.rb +0 -18
  216. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/builder.rb +0 -443
  217. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/cdata.rb +0 -11
  218. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/character_data.rb +0 -7
  219. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/document.rb +0 -285
  220. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/document_fragment.rb +0 -149
  221. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/dtd.rb +0 -32
  222. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/element_content.rb +0 -36
  223. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/element_decl.rb +0 -13
  224. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/entity_decl.rb +0 -19
  225. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/entity_reference.rb +0 -18
  226. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/namespace.rb +0 -13
  227. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/node.rb +0 -832
  228. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/node/save_options.rb +0 -61
  229. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/node_set.rb +0 -327
  230. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/notation.rb +0 -6
  231. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/parse_options.rb +0 -120
  232. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/pp.rb +0 -2
  233. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/pp/character_data.rb +0 -18
  234. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/pp/node.rb +0 -56
  235. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/processing_instruction.rb +0 -8
  236. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/reader.rb +0 -112
  237. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/relax_ng.rb +0 -32
  238. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax.rb +0 -4
  239. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/document.rb +0 -171
  240. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/parser.rb +0 -122
  241. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/parser_context.rb +0 -16
  242. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/sax/push_parser.rb +0 -60
  243. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/schema.rb +0 -63
  244. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/searchable.rb +0 -230
  245. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/syntax_error.rb +0 -70
  246. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/text.rb +0 -9
  247. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/xpath.rb +0 -10
  248. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/xpath/syntax_error.rb +0 -11
  249. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xml/xpath_context.rb +0 -16
  250. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xslt.rb +0 -56
  251. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/nokogiri/xslt/stylesheet.rb +0 -25
  252. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/lib/xsd/xmlparser/nokogiri.rb +0 -102
  253. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/patches/sort-patches-by-date +0 -25
  254. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/suppressions/README.txt +0 -1
  255. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/suppressions/nokogiri_ruby-2.supp +0 -10
  256. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/tasks/test.rb +0 -100
  257. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/css/test_nthiness.rb +0 -226
  258. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/css/test_parser.rb +0 -369
  259. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/css/test_tokenizer.rb +0 -215
  260. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/css/test_xpath_visitor.rb +0 -96
  261. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/decorators/test_slop.rb +0 -23
  262. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/2ch.html +0 -108
  263. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/GH_1042.html +0 -18
  264. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/address_book.rlx +0 -12
  265. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/address_book.xml +0 -10
  266. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/atom.xml +0 -344
  267. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/bar/bar.xsd +0 -4
  268. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/bogus.xml +0 -0
  269. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/dont_hurt_em_why.xml +0 -422
  270. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/encoding.html +0 -82
  271. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/encoding.xhtml +0 -84
  272. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/exslt.xml +0 -8
  273. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/exslt.xslt +0 -35
  274. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/foo/foo.xsd +0 -4
  275. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/metacharset.html +0 -10
  276. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/namespace_pressure_test.xml +0 -1684
  277. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/noencoding.html +0 -47
  278. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/po.xml +0 -32
  279. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/po.xsd +0 -66
  280. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/saml/saml20assertion_schema.xsd +0 -283
  281. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/saml/saml20protocol_schema.xsd +0 -302
  282. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/saml/xenc_schema.xsd +0 -146
  283. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/saml/xmldsig_schema.xsd +0 -318
  284. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/shift_jis.html +0 -10
  285. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/shift_jis.xml +0 -5
  286. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/shift_jis_no_charset.html +0 -9
  287. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/slow-xpath.xml +0 -25509
  288. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/snuggles.xml +0 -3
  289. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/staff.dtd +0 -10
  290. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/staff.xml +0 -59
  291. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/staff.xslt +0 -32
  292. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/test_document_url/bar.xml +0 -2
  293. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/test_document_url/document.dtd +0 -4
  294. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/test_document_url/document.xml +0 -6
  295. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/tlm.html +0 -851
  296. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/to_be_xincluded.xml +0 -2
  297. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/valid_bar.xml +0 -2
  298. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/files/xinclude.xml +0 -4
  299. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/helper.rb +0 -271
  300. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/sax/test_parser.rb +0 -168
  301. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/sax/test_parser_context.rb +0 -46
  302. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/sax/test_parser_text.rb +0 -163
  303. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/sax/test_push_parser.rb +0 -87
  304. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_builder.rb +0 -164
  305. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_document.rb +0 -712
  306. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_document_encoding.rb +0 -143
  307. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_document_fragment.rb +0 -304
  308. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_element_description.rb +0 -105
  309. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_named_characters.rb +0 -14
  310. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_node.rb +0 -212
  311. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/html/test_node_encoding.rb +0 -91
  312. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  313. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_aliased_default.rb +0 -24
  314. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  315. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_cloned_doc.rb +0 -31
  316. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  317. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -80
  318. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/namespaces/test_namespaces_preservation.rb +0 -31
  319. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/test_convert_xpath.rb +0 -135
  320. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/test_css_cache.rb +0 -45
  321. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/test_encoding_handler.rb +0 -48
  322. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/test_memory_leak.rb +0 -156
  323. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/test_nokogiri.rb +0 -138
  324. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/test_soap4r_sax.rb +0 -52
  325. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/test_xslt_transforms.rb +0 -314
  326. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/node/test_save_options.rb +0 -28
  327. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/node/test_subclass.rb +0 -44
  328. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/sax/test_parser.rb +0 -394
  329. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/sax/test_parser_context.rb +0 -115
  330. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/sax/test_parser_text.rb +0 -202
  331. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/sax/test_push_parser.rb +0 -205
  332. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_attr.rb +0 -74
  333. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_attribute_decl.rb +0 -86
  334. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_builder.rb +0 -341
  335. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_c14n.rb +0 -180
  336. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_cdata.rb +0 -54
  337. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_comment.rb +0 -40
  338. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_document.rb +0 -982
  339. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_document_encoding.rb +0 -31
  340. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_document_fragment.rb +0 -298
  341. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_dtd.rb +0 -187
  342. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_dtd_encoding.rb +0 -31
  343. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_element_content.rb +0 -56
  344. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_element_decl.rb +0 -73
  345. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_entity_decl.rb +0 -122
  346. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_entity_reference.rb +0 -262
  347. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_namespace.rb +0 -96
  348. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_node.rb +0 -1242
  349. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_node_attributes.rb +0 -115
  350. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_node_encoding.rb +0 -75
  351. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_node_inheritance.rb +0 -32
  352. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_node_reparenting.rb +0 -563
  353. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_node_set.rb +0 -782
  354. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_parse_options.rb +0 -64
  355. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_processing_instruction.rb +0 -30
  356. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_reader.rb +0 -608
  357. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_reader_encoding.rb +0 -134
  358. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_relax_ng.rb +0 -60
  359. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_schema.rb +0 -142
  360. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_syntax_error.rb +0 -36
  361. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_text.rb +0 -60
  362. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_unparented_node.rb +0 -483
  363. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_xinclude.rb +0 -83
  364. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xml/test_xpath.rb +0 -462
  365. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xslt/test_custom_functions.rb +0 -133
  366. data/vendor/cache/ruby/2.5.0/gems/nokogiri-1.8.2/test/xslt/test_exception_handling.rb +0 -37
  367. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/.autotest +0 -7
  368. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/.rubocop.yml +0 -27
  369. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/.togglerc +0 -7
  370. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/CONTRIBUTING.rdoc +0 -38
  371. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/History.rdoc +0 -659
  372. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/MIT-LICENSE +0 -21
  373. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/Manifest.txt +0 -166
  374. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/README.rdoc +0 -139
  375. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/Rakefile +0 -81
  376. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/bin/rake +0 -33
  377. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/command_line_usage.rdoc +0 -158
  378. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/example/Rakefile1 +0 -38
  379. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/example/Rakefile2 +0 -35
  380. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/example/a.c +0 -6
  381. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/example/b.c +0 -6
  382. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/example/main.c +0 -11
  383. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/glossary.rdoc +0 -42
  384. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/jamis.rb +0 -591
  385. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/proto_rake.rdoc +0 -127
  386. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/rake.1 +0 -141
  387. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/rakefile.rdoc +0 -624
  388. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/rational.rdoc +0 -151
  389. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +0 -23
  390. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +0 -35
  391. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +0 -53
  392. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +0 -78
  393. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +0 -46
  394. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +0 -141
  395. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +0 -119
  396. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +0 -59
  397. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +0 -121
  398. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +0 -47
  399. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +0 -114
  400. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +0 -165
  401. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +0 -112
  402. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +0 -147
  403. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +0 -53
  404. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +0 -37
  405. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +0 -55
  406. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +0 -112
  407. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +0 -52
  408. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  409. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +0 -49
  410. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +0 -102
  411. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +0 -60
  412. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +0 -55
  413. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +0 -64
  414. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +0 -178
  415. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +0 -58
  416. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +0 -53
  417. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +0 -191
  418. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +0 -61
  419. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake.rb +0 -79
  420. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/alt_system.rb +0 -110
  421. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/application.rb +0 -790
  422. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/backtrace.rb +0 -23
  423. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/clean.rb +0 -76
  424. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/cloneable.rb +0 -16
  425. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/.document +0 -1
  426. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +0 -21
  427. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +0 -137
  428. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +0 -81
  429. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  430. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +0 -61
  431. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb +0 -4
  432. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb +0 -125
  433. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/default_loader.rb +0 -14
  434. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb +0 -201
  435. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/early_time.rb +0 -21
  436. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/core.rb +0 -25
  437. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/module.rb +0 -2
  438. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb +0 -25
  439. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/string.rb +0 -175
  440. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ext/time.rb +0 -18
  441. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb +0 -24
  442. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_list.rb +0 -428
  443. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_task.rb +0 -46
  444. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_utils.rb +0 -128
  445. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +0 -144
  446. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb +0 -4
  447. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb +0 -56
  448. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +0 -16
  449. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/late_time.rb +0 -17
  450. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/linked_list.rb +0 -103
  451. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +0 -53
  452. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/multi_task.rb +0 -13
  453. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/name_space.rb +0 -38
  454. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/packagetask.rb +0 -199
  455. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/pathmap.rb +0 -3
  456. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/phony.rb +0 -15
  457. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/private_reader.rb +0 -20
  458. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/promise.rb +0 -99
  459. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb +0 -29
  460. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rake_module.rb +0 -38
  461. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +0 -22
  462. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rdoctask.rb +0 -4
  463. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +0 -29
  464. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +0 -20
  465. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/runtest.rb +0 -27
  466. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/scope.rb +0 -42
  467. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task.rb +0 -383
  468. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb +0 -7
  469. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_arguments.rb +0 -98
  470. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/task_manager.rb +0 -307
  471. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/tasklib.rb +0 -24
  472. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/testtask.rb +0 -213
  473. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb +0 -48
  474. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/thread_pool.rb +0 -164
  475. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/trace_output.rb +0 -22
  476. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/version.rb +0 -7
  477. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/lib/rake/win32.rb +0 -56
  478. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/rakelib/publish.rake +0 -20
  479. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/rakelib/test_times.rake +0 -25
  480. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/file_creation.rb +0 -34
  481. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/helper.rb +0 -129
  482. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb +0 -478
  483. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/support/ruby_runner.rb +0 -34
  484. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_private_reader.rb +0 -42
  485. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake.rb +0 -40
  486. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_application.rb +0 -643
  487. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_application_options.rb +0 -468
  488. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_backtrace.rb +0 -119
  489. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_clean.rb +0 -61
  490. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +0 -68
  491. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_definitions.rb +0 -84
  492. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_directory_task.rb +0 -76
  493. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_dsl.rb +0 -40
  494. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_early_time.rb +0 -31
  495. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_extension.rb +0 -59
  496. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +0 -56
  497. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_list.rb +0 -670
  498. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +0 -8
  499. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_task.rb +0 -197
  500. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_file_utils.rb +0 -314
  501. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb +0 -74
  502. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_functional.rb +0 -482
  503. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +0 -64
  504. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_late_time.rb +0 -18
  505. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_linked_list.rb +0 -84
  506. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +0 -46
  507. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_multi_task.rb +0 -64
  508. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_name_space.rb +0 -57
  509. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_package_task.rb +0 -79
  510. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map.rb +0 -168
  511. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +0 -34
  512. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +0 -18
  513. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +0 -15
  514. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +0 -21
  515. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +0 -20
  516. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +0 -26
  517. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_require.rb +0 -40
  518. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_rules.rb +0 -388
  519. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_scope.rb +0 -44
  520. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task.rb +0 -393
  521. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +0 -119
  522. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb +0 -127
  523. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_lib.rb +0 -9
  524. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_manager.rb +0 -178
  525. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +0 -19
  526. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +0 -172
  527. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_test_task.rb +0 -146
  528. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb +0 -145
  529. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +0 -71
  530. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_rake_win32.rb +0 -72
  531. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_thread_history_display.rb +0 -101
  532. data/vendor/cache/ruby/2.5.0/gems/rake-10.5.0/test/test_trace_output.rb +0 -52
  533. data/vendor/cache/ruby/2.5.0/specifications/mini_portile2-2.3.0.gemspec +0 -48
  534. data/vendor/cache/ruby/2.5.0/specifications/nokogiri-1.8.2.gemspec +0 -78
  535. data/vendor/cache/ruby/2.5.0/specifications/rake-10.5.0.gemspec +0 -43
@@ -1,96 +0,0 @@
1
- require "helper"
2
-
3
- module Nokogiri
4
- module XML
5
- class TestNamespace < Nokogiri::TestCase
6
- def setup
7
- super
8
- @xml = Nokogiri::XML <<-eoxml
9
- <root xmlns="http://tenderlovemaking.com/" xmlns:foo="bar">
10
- <awesome/>
11
- </root>
12
- eoxml
13
- end
14
-
15
- if Nokogiri.uses_libxml?
16
- def test_namespace_is_in_node_cache
17
- node = @xml.root.namespace
18
- assert @xml.instance_variable_get(:@node_cache).include?(node)
19
- end
20
- end
21
-
22
- def test_built_nodes_keep_namespace_decls
23
- doc = Document.new
24
- e = Node.new 'element', doc
25
- c = Node.new 'child', doc
26
- c.default_namespace = 'woop:de:doo'
27
-
28
- assert c.namespace, 'has a namespace'
29
- e.add_child c
30
- assert c.namespace, 'has a namespace'
31
-
32
- doc.add_child e
33
- assert c.namespace, 'has a namespace'
34
- end
35
-
36
- def test_inspect
37
- ns = @xml.root.namespace
38
- assert_equal "#<#{ns.class.name}:#{sprintf("0x%x", ns.object_id)} href=#{ns.href.inspect}>", ns.inspect
39
- end
40
-
41
- def test_namespace_node_prefix
42
- namespaces = @xml.root.namespace_definitions
43
- assert_equal [nil, 'foo'], namespaces.map(&:prefix)
44
- end
45
-
46
- def test_namespace_node_href
47
- namespaces = @xml.root.namespace_definitions
48
- assert_equal [
49
- 'http://tenderlovemaking.com/',
50
- 'bar'
51
- ], namespaces.map(&:href)
52
- end
53
-
54
- def test_equality
55
- namespaces = @xml.root.namespace_definitions
56
- assert_equal namespaces, @xml.root.namespace_definitions
57
- end
58
-
59
- def test_add_definition
60
- @xml.root.add_namespace_definition('baz', 'bar')
61
- assert_equal 3, @xml.root.namespace_definitions.length
62
- end
63
-
64
- def test_add_definition_return
65
- ns = @xml.root.add_namespace_definition('baz', 'bar')
66
- assert_equal 'baz', ns.prefix
67
- end
68
-
69
- def test_remove_entity_namespace
70
- s = %q{<?xml version='1.0'?><!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [<!ENTITY % p ''>]>}
71
- Nokogiri::XML(s).remove_namespaces!
72
- # TODO: we should probably assert something here. See commit 14d2f59.
73
- end
74
-
75
- def test_maintain_element_namespaces
76
- doc = Document.new
77
- subject = Nokogiri::XML::Node.new 'foo', doc
78
- subject << '<foobar xmlns="barfoo"/>'
79
- child = subject.children.first
80
- assert_equal 'foobar', child.name
81
- assert_equal 'barfoo', child.namespace.href
82
- assert_empty child.attributes
83
- end
84
-
85
- def test_maintain_element_namespaces_in_urn
86
- doc = Document.new
87
- subject = Nokogiri::XML::Node.new 'foo', doc
88
- subject << '<foobar xmlns="urn:xmpp:foospec:barfoo"/>'
89
- child = subject.children.first
90
- assert_equal 'foobar', child.name
91
- assert_equal 'urn:xmpp:foospec:barfoo', child.namespace.href
92
- assert_empty child.attributes
93
- end
94
- end
95
- end
96
- end
@@ -1,1242 +0,0 @@
1
- require "helper"
2
-
3
- require 'stringio'
4
-
5
- module Nokogiri
6
- module XML
7
- class TestNode < Nokogiri::TestCase
8
- def setup
9
- super
10
- @xml = Nokogiri::XML(File.read(XML_FILE), XML_FILE)
11
- end
12
-
13
- def test_first_element_child
14
- node = @xml.root.first_element_child
15
- assert_equal 'employee', node.name
16
- assert node.element?, 'node is an element'
17
- end
18
-
19
- def test_element_children
20
- nodes = @xml.root.element_children
21
- assert_equal @xml.root.first_element_child, nodes.first
22
- assert nodes.all?(&:element?), 'all nodes are elements'
23
- end
24
-
25
- def test_last_element_child
26
- nodes = @xml.root.element_children
27
- assert_equal nodes.last, @xml.root.element_children.last
28
- end
29
-
30
- def test_bad_xpath
31
- bad_xpath = '//foo['
32
-
33
- begin
34
- @xml.xpath(bad_xpath)
35
- rescue Nokogiri::XML::XPath::SyntaxError => e
36
- assert_match(bad_xpath, e.to_s)
37
- end
38
- end
39
-
40
- def test_namespace_type_error
41
- assert_raises(TypeError) do
42
- @xml.root.namespace = Object.new
43
- end
44
- end
45
-
46
- def test_remove_namespace
47
- @xml = Nokogiri::XML('<r xmlns="v"><s /></r>')
48
- tag = @xml.at('s')
49
- assert tag.namespace
50
- tag.namespace = nil
51
- assert_nil tag.namespace
52
- end
53
-
54
- def test_parse_needs_doc
55
- list = @xml.root.parse('fooooooo <hello />')
56
- assert_equal 1, list.css('hello').length
57
- end
58
-
59
- def test_parse
60
- list = @xml.root.parse('fooooooo <hello />')
61
- assert_equal 2, list.length
62
- end
63
-
64
- def test_parse_with_block
65
- called = false
66
- list = @xml.root.parse('<hello />') { |cfg|
67
- called = true
68
- assert_instance_of Nokogiri::XML::ParseOptions, cfg
69
- }
70
- assert called, 'config block called'
71
- assert_equal 1, list.length
72
- end
73
-
74
- def test_parse_with_io
75
- list = @xml.root.parse(StringIO.new('<hello />'))
76
- assert_equal 1, list.length
77
- assert_equal 'hello', list.first.name
78
- end
79
-
80
- def test_parse_with_empty_string
81
- list = @xml.root.parse('')
82
- assert_equal 0, list.length
83
- end
84
-
85
- def test_parse_config_option
86
- node = @xml.root
87
- options = nil
88
- node.parse("<item></item>") do |config|
89
- options = config
90
- end
91
- assert_equal Nokogiri::XML::ParseOptions::DEFAULT_XML, options.to_i
92
- end
93
-
94
- def test_node_context_parsing_of_malformed_html_fragment
95
- doc = HTML.parse "<html><body><div></div></body></html>"
96
- context_node = doc.at_css "div"
97
- nodeset = context_node.parse("<div </div>")
98
-
99
- assert_equal 1, doc.errors.length
100
- assert_equal 1, nodeset.length
101
- assert_equal "<div></div>", nodeset.to_s
102
- end
103
-
104
- def test_node_context_parsing_of_malformed_html_fragment_with_recover_is_corrected
105
- doc = HTML.parse "<html><body><div></div></body></html>"
106
- context_node = doc.at_css "div"
107
- nodeset = context_node.parse("<div </div>") do |options|
108
- options.recover
109
- end
110
-
111
- assert_equal 1, doc.errors.length
112
- assert_equal 1, nodeset.length
113
- assert_equal "<div></div>", nodeset.to_s
114
- end
115
-
116
- def test_node_context_parsing_of_malformed_html_fragment_without_recover_is_not_corrected
117
- doc = HTML.parse "<html><body><div></div></body></html>"
118
- context_node = doc.at_css "div"
119
- nodeset = context_node.parse("<div </div>") do |options|
120
- options.strict
121
- end
122
-
123
- assert_equal 1, doc.errors.length
124
- assert_equal 0, nodeset.length
125
- end
126
-
127
- def test_parse_error_list
128
- error_count = @xml.errors.length
129
- @xml.root.parse('<hello>')
130
- assert(error_count < @xml.errors.length, "errors should have increased")
131
- end
132
-
133
- def test_parse_error_on_fragment_with_empty_document
134
- doc = Document.new
135
- fragment = DocumentFragment.new(doc, '<foo><bar/></foo>')
136
- node = fragment%'bar'
137
- node.parse('<baz><</baz>')
138
- end
139
-
140
- def test_parse_with_unparented_text_context_node
141
- doc = XML::Document.new
142
- elem = XML::Text.new("foo", doc)
143
- x = elem.parse("<bar/>") # should not raise an exception
144
- assert_equal x.first.name, "bar"
145
- end
146
-
147
- def test_parse_with_unparented_html_text_context_node
148
- doc = HTML::Document.new
149
- elem = XML::Text.new("div", doc)
150
- x = elem.parse("<div/>") # should not raise an exception
151
- assert_equal x.first.name, "div"
152
- end
153
-
154
- def test_parse_with_unparented_fragment_text_context_node
155
- doc = XML::DocumentFragment.parse "<div><span>foo</span></div>"
156
- elem = doc.at_css "span"
157
- x = elem.parse("<span/>") # should not raise an exception
158
- assert_equal x.first.name, "span"
159
- end
160
-
161
- def test_parse_with_unparented_html_fragment_text_context_node
162
- doc = HTML::DocumentFragment.parse "<div><span>foo</span></div>"
163
- elem = doc.at_css "span"
164
- x = elem.parse("<span/>") # should not raise an exception
165
- assert_equal x.first.name, "span"
166
- end
167
-
168
- def test_subclass_dup
169
- subclass = Class.new(Nokogiri::XML::Node)
170
- node = subclass.new('foo', @xml).dup
171
- assert_instance_of subclass, node
172
- end
173
-
174
- def test_gt_string_arg
175
- node = @xml.at('employee')
176
- nodes = (node > 'name')
177
- assert_equal 1, nodes.length
178
- assert_equal node, nodes.first.parent
179
- end
180
-
181
- def test_next_element_when_next_sibling_is_element_should_return_next_sibling
182
- doc = Nokogiri::XML "<root><foo /><quux /></root>"
183
- node = doc.at_css("foo")
184
- next_element = node.next_element
185
- assert next_element.element?
186
- assert_equal doc.at_css("quux"), next_element
187
- end
188
-
189
- def test_next_element_when_there_is_no_next_sibling_should_return_nil
190
- doc = Nokogiri::XML "<root><foo /><quux /></root>"
191
- assert_nil doc.at_css("quux").next_element
192
- end
193
-
194
- def test_next_element_when_next_sibling_is_not_an_element_should_return_closest_next_element_sibling
195
- doc = Nokogiri::XML "<root><foo />bar<quux /></root>"
196
- node = doc.at_css("foo")
197
- next_element = node.next_element
198
- assert next_element.element?
199
- assert_equal doc.at_css("quux"), next_element
200
- end
201
-
202
- def test_next_element_when_next_sibling_is_not_an_element_and_no_following_element_should_return_nil
203
- doc = Nokogiri::XML "<root><foo />bar</root>"
204
- node = doc.at_css("foo")
205
- next_element = node.next_element
206
- assert_nil next_element
207
- end
208
-
209
- def test_previous_element_when_previous_sibling_is_element_should_return_previous_sibling
210
- doc = Nokogiri::XML "<root><foo /><quux /></root>"
211
- node = doc.at_css("quux")
212
- previous_element = node.previous_element
213
- assert previous_element.element?
214
- assert_equal doc.at_css("foo"), previous_element
215
- end
216
-
217
- def test_previous_element_when_there_is_no_previous_sibling_should_return_nil
218
- doc = Nokogiri::XML "<root><foo /><quux /></root>"
219
- assert_nil doc.at_css("foo").previous_element
220
- end
221
-
222
- def test_previous_element_when_previous_sibling_is_not_an_element_should_return_closest_previous_element_sibling
223
- doc = Nokogiri::XML "<root><foo />bar<quux /></root>"
224
- node = doc.at_css("quux")
225
- previous_element = node.previous_element
226
- assert previous_element.element?
227
- assert_equal doc.at_css("foo"), previous_element
228
- end
229
-
230
- def test_previous_element_when_previous_sibling_is_not_an_element_and_no_following_element_should_return_nil
231
- doc = Nokogiri::XML "<root>foo<bar /></root>"
232
- node = doc.at_css("bar")
233
- previous_element = node.previous_element
234
- assert_nil previous_element
235
- end
236
-
237
- def test_element?
238
- assert @xml.root.element?, 'is an element'
239
- end
240
-
241
- def test_slash_search
242
- assert_equal 'EMP0001', (@xml/:staff/:employee/:employeeId).first.text
243
- end
244
-
245
- def test_append_with_document
246
- assert_raises(ArgumentError) do
247
- @xml.root << Nokogiri::XML::Document.new
248
- end
249
- end
250
-
251
- def test_append_with_attr
252
- r = Nokogiri.XML('<r a="1" />').root
253
- assert_raises(ArgumentError) do
254
- r << r.at_xpath('@a')
255
- end
256
- end
257
-
258
- def test_inspect_ns
259
- xml = Nokogiri::XML(<<-eoxml) { |c| c.noblanks }
260
- <root xmlns="http://tenderlovemaking.com/" xmlns:foo="bar">
261
- <awesome/>
262
- </root>
263
- eoxml
264
- ins = xml.inspect
265
-
266
- xml.traverse do |node|
267
- assert_match node.class.name, ins
268
- if node.respond_to? :attributes
269
- node.attributes.each do |k,v|
270
- assert_match k, ins
271
- assert_match v, ins
272
- end
273
- end
274
-
275
- if node.respond_to?(:namespace) && node.namespace
276
- assert_match node.namespace.class.name, ins
277
- assert_match node.namespace.href, ins
278
- end
279
- end
280
- end
281
-
282
- def test_namespace_definitions_when_some_exist
283
- xml = Nokogiri::XML <<-eoxml
284
- <root xmlns="http://tenderlovemaking.com/" xmlns:foo="bar">
285
- <awesome/>
286
- </root>
287
- eoxml
288
- namespace_definitions = xml.root.namespace_definitions
289
- assert_equal 2, namespace_definitions.length
290
- end
291
-
292
- def test_namespace_definitions_when_no_exist
293
- xml = Nokogiri::XML <<-eoxml
294
- <root xmlns="http://tenderlovemaking.com/" xmlns:foo="bar">
295
- <awesome/>
296
- </root>
297
- eoxml
298
- namespace_definitions = xml.at_xpath('//xmlns:awesome').namespace_definitions
299
- assert_equal 0, namespace_definitions.length
300
- end
301
-
302
- def test_namespace_goes_to_children
303
- fruits = Nokogiri::XML(<<-eoxml)
304
- <Fruit xmlns='www.fruits.org'>
305
- </Fruit>
306
- eoxml
307
- apple = Nokogiri::XML::Node.new('Apple', fruits)
308
- orange = Nokogiri::XML::Node.new('Orange', fruits)
309
- apple << orange
310
- fruits.root << apple
311
- assert fruits.at('//fruit:Orange',{'fruit'=>'www.fruits.org'})
312
- assert fruits.at('//fruit:Apple',{'fruit'=>'www.fruits.org'})
313
- end
314
-
315
- def test_description
316
- assert_nil @xml.at('employee').description
317
- end
318
-
319
- def test_spaceship
320
- nodes = @xml.xpath('//employee')
321
- assert_equal(-1, (nodes.first <=> nodes.last))
322
- list = [nodes.first, nodes.last].sort
323
- assert_equal nodes.first, list.first
324
- assert_equal nodes.last, list.last
325
- end
326
-
327
- def test_incorrect_spaceship
328
- nodes = @xml.xpath('//employee')
329
- assert_nil(nodes.first <=> 'asdf')
330
- end
331
-
332
- def test_document_compare
333
- skip "underlying libxml2 behavior changed in libxml2@a005199"
334
- nodes = @xml.xpath('//employee')
335
- assert_equal(-1, (nodes.first <=> @xml)) # post-libxml2@a005199, returns 1
336
- end
337
-
338
- def test_different_document_compare
339
- nodes = @xml.xpath('//employee')
340
- doc = Nokogiri::XML('<a><b/></a>')
341
- b = doc.at('b')
342
- assert_nil(nodes.first <=> b)
343
- end
344
-
345
- def test_duplicate_node_removes_namespace
346
- fruits = Nokogiri::XML(<<-eoxml)
347
- <Fruit xmlns='www.fruits.org'>
348
- <Apple></Apple>
349
- </Fruit>
350
- eoxml
351
- apple = fruits.root.xpath('fruit:Apple', {'fruit'=>'www.fruits.org'})[0]
352
- new_apple = apple.dup
353
- fruits.root << new_apple
354
- assert_equal 2, fruits.xpath('//xmlns:Apple').length
355
- assert_equal 1, fruits.to_xml.scan('www.fruits.org').length
356
- end
357
-
358
- [:clone, :dup].each do |symbol|
359
- define_method "test_#{symbol}" do
360
- node = @xml.at('//employee')
361
- other = node.send(symbol)
362
- assert_equal "employee", other.name
363
- assert_nil other.parent
364
- end
365
- end
366
-
367
- def test_fragment_creates_elements
368
- apple = @xml.fragment('<Apple/>')
369
- apple.children.each do |child|
370
- assert_equal Nokogiri::XML::Node::ELEMENT_NODE, child.type
371
- assert_instance_of Nokogiri::XML::Element, child
372
- end
373
- end
374
-
375
- def test_node_added_to_root_should_get_namespace
376
- fruits = Nokogiri::XML(<<-eoxml)
377
- <Fruit xmlns='http://www.fruits.org'>
378
- </Fruit>
379
- eoxml
380
- apple = fruits.fragment('<Apple/>')
381
- fruits.root << apple
382
- assert_equal 1, fruits.xpath('//xmlns:Apple').length
383
- end
384
-
385
- def test_new_node_can_have_ancestors
386
- xml = Nokogiri::XML('<root>text</root>')
387
- item = Nokogiri::XML::Element.new('item', xml)
388
- assert_equal 0, item.ancestors.length
389
- end
390
-
391
- def test_children
392
- doc = Nokogiri::XML(<<-eoxml)
393
- <root>#{'<a/>' * 9 }</root>
394
- eoxml
395
- assert_equal 9, doc.root.children.length
396
- assert_equal 9, doc.root.children.to_a.length
397
-
398
- doc = Nokogiri::XML(<<-eoxml)
399
- <root>#{'<a/>' * 15 }</root>
400
- eoxml
401
- assert_equal 15, doc.root.children.length
402
- assert_equal 15, doc.root.children.to_a.length
403
- end
404
-
405
- def test_add_namespace
406
- node = @xml.at('address')
407
- node.add_namespace('foo', 'http://tenderlovemaking.com')
408
- assert_equal 'http://tenderlovemaking.com', node.namespaces['xmlns:foo']
409
- end
410
-
411
- def test_add_namespace_twice
412
- node = @xml.at('address')
413
- ns = node.add_namespace('foo', 'http://tenderlovemaking.com')
414
- ns2 = node.add_namespace('foo', 'http://tenderlovemaking.com')
415
- assert_equal ns, ns2
416
- end
417
-
418
- def test_add_default_ns
419
- node = @xml.at('address')
420
- node.add_namespace(nil, 'http://tenderlovemaking.com')
421
- assert_equal 'http://tenderlovemaking.com', node.namespaces['xmlns']
422
- end
423
-
424
- def test_add_multiple_namespaces
425
- node = @xml.at('address')
426
-
427
- node.add_namespace(nil, 'http://tenderlovemaking.com')
428
- assert_equal 'http://tenderlovemaking.com', node.namespaces['xmlns']
429
-
430
- node.add_namespace('foo', 'http://tenderlovemaking.com')
431
- assert_equal 'http://tenderlovemaking.com', node.namespaces['xmlns:foo']
432
- end
433
-
434
- def test_default_namespace=
435
- node = @xml.at('address')
436
- node.default_namespace = 'http://tenderlovemaking.com'
437
- assert_equal 'http://tenderlovemaking.com', node.namespaces['xmlns']
438
- end
439
-
440
- def test_namespace=
441
- node = @xml.at('address')
442
- assert_nil node.namespace
443
- definition = node.add_namespace_definition 'bar', 'http://tlm.com/'
444
-
445
- node.namespace = definition
446
-
447
- assert_equal definition, node.namespace
448
-
449
- assert_equal node, @xml.at('//foo:address', {
450
- 'foo' => 'http://tlm.com/'
451
- })
452
- end
453
-
454
- def test_add_namespace_with_nil_associates_node
455
- node = @xml.at('address')
456
- assert_nil node.namespace
457
- definition = node.add_namespace_definition nil, 'http://tlm.com/'
458
- assert_equal definition, node.namespace
459
- end
460
-
461
- def test_add_namespace_does_not_associate_node
462
- node = @xml.at('address')
463
- assert_nil node.namespace
464
- assert node.add_namespace_definition 'foo', 'http://tlm.com/'
465
- assert_nil node.namespace
466
- end
467
-
468
- def test_set_namespace_from_different_doc
469
- node = @xml.at('address')
470
- doc = Nokogiri::XML(File.read(XML_FILE), XML_FILE)
471
- decl = doc.root.add_namespace_definition 'foo', 'bar'
472
-
473
- assert_raises(ArgumentError) do
474
- node.namespace = decl
475
- end
476
- end
477
-
478
- def test_set_namespace_must_only_take_a_namespace
479
- node = @xml.at('address')
480
- assert_raises(TypeError) do
481
- node.namespace = node
482
- end
483
- end
484
-
485
- def test_at
486
- node = @xml.at('address')
487
- assert_equal node, @xml.xpath('//address').first
488
- end
489
-
490
- def test_at_self
491
- node = @xml.at('address')
492
- assert_equal node, node.at('.')
493
- end
494
-
495
- def test_at_xpath
496
- node = @xml.at_xpath('//address')
497
- nodes = @xml.xpath('//address')
498
- assert_equal 5, nodes.size
499
- assert_equal node, nodes.first
500
- end
501
-
502
- def test_at_css
503
- node = @xml.at_css('address')
504
- nodes = @xml.css('address')
505
- assert_equal 5, nodes.size
506
- assert_equal node, nodes.first
507
- end
508
-
509
- def test_percent
510
- node = @xml % ('address')
511
- assert_equal node, @xml.xpath('//address').first
512
- end
513
-
514
- def test_accept
515
- visitor = Class.new {
516
- attr_accessor :visited
517
- def accept target
518
- target.accept(self)
519
- end
520
-
521
- def visit node
522
- node.children.each { |c| c.accept(self) }
523
- @visited = true
524
- end
525
- }.new
526
- visitor.accept(@xml.root)
527
- assert visitor.visited
528
- end
529
-
530
- def test_write_to
531
- io = StringIO.new
532
- @xml.write_to io
533
- io.rewind
534
- assert_equal @xml.to_xml, io.read
535
- end
536
-
537
- def test_attribute_with_symbol
538
- assert_equal 'Yes', @xml.css('address').first[:domestic]
539
- end
540
-
541
- def test_non_existent_attribute_should_return_nil
542
- node = @xml.root.first_element_child
543
- assert_nil node.attribute('type')
544
- end
545
-
546
- def test_write_to_with_block
547
- called = false
548
- io = StringIO.new
549
- conf = nil
550
- @xml.write_to io do |config|
551
- called = true
552
- conf = config
553
- config.format.as_html.no_empty_tags
554
- end
555
- io.rewind
556
- assert called
557
- string = io.read
558
- assert_equal @xml.serialize(nil, conf.options), string
559
- assert_equal @xml.serialize(nil, conf), string
560
- end
561
-
562
- %w{ xml html xhtml }.each do |type|
563
- define_method(:"test_write_#{type}_to") do
564
- io = StringIO.new
565
- assert @xml.send(:"write_#{type}_to", io)
566
- io.rewind
567
- assert_match @xml.send(:"to_#{type}"), io.read
568
- end
569
- end
570
-
571
- def test_serialize_with_block
572
- called = false
573
- conf = nil
574
- string = @xml.serialize do |config|
575
- called = true
576
- conf = config
577
- config.format.as_html.no_empty_tags
578
- end
579
- assert called
580
- assert_equal @xml.serialize(nil, conf.options), string
581
- assert_equal @xml.serialize(nil, conf), string
582
- end
583
-
584
- def test_hold_refence_to_subnode
585
- doc = Nokogiri::XML(<<-eoxml)
586
- <root>
587
- <a>
588
- <b />
589
- </a>
590
- </root>
591
- eoxml
592
- assert node_a = doc.css('a').first
593
- assert node_b = node_a.css('b').first
594
- node_a.unlink
595
- assert_equal 'b', node_b.name
596
- end
597
-
598
- def test_values
599
- assert_equal %w{ Yes Yes }, @xml.xpath('//address')[1].values
600
- end
601
-
602
- def test_keys
603
- assert_equal %w{ domestic street }, @xml.xpath('//address')[1].keys
604
- end
605
-
606
- def test_each
607
- attributes = []
608
- @xml.xpath('//address')[1].each do |key, value|
609
- attributes << [key, value]
610
- end
611
- assert_equal [['domestic', 'Yes'], ['street', 'Yes']], attributes
612
- end
613
-
614
- def test_new
615
- assert node = Nokogiri::XML::Node.new('input', @xml)
616
- assert_equal 1, node.node_type
617
- assert_instance_of Nokogiri::XML::Element, node
618
- end
619
-
620
- def test_to_str
621
- name = @xml.xpath('//name').first
622
- assert_match(/Margaret/, '' + name)
623
- assert_equal('Margaret Martin', '' + name.children.first)
624
- end
625
-
626
- def test_ancestors
627
- address = @xml.xpath('//address').first
628
- assert_equal 3, address.ancestors.length
629
- assert_equal ['employee', 'staff', 'document'],
630
- address.ancestors.map(&:name)
631
- end
632
-
633
- def test_read_only?
634
- assert entity_decl = @xml.internal_subset.children.find { |x|
635
- x.type == Node::ENTITY_DECL
636
- }
637
- assert entity_decl.read_only?
638
- end
639
-
640
- def test_remove_attribute
641
- address = @xml.xpath('/staff/employee/address').first
642
- assert_equal 'Yes', address['domestic']
643
- attr = address.attributes['domestic']
644
-
645
- returned_attr = address.remove_attribute 'domestic'
646
- assert_nil address['domestic']
647
- assert_equal attr, returned_attr
648
- end
649
-
650
- def test_remove_attribute_when_not_found
651
- address = @xml.xpath('/staff/employee/address').first
652
- attr = address.remove_attribute 'not-an-attribute'
653
- assert_nil attr
654
- end
655
-
656
- def test_attribute_setter_accepts_non_string
657
- address = @xml.xpath("/staff/employee/address").first
658
- assert_equal "Yes", address[:domestic]
659
- address[:domestic] = "Altered Yes"
660
- assert_equal "Altered Yes", address[:domestic]
661
- end
662
-
663
- def test_attribute_accessor_accepts_non_string
664
- address = @xml.xpath("/staff/employee/address").first
665
- assert_equal "Yes", address["domestic"]
666
- assert_equal "Yes", address[:domestic]
667
- end
668
-
669
- def test_empty_attribute_reading
670
- node = Nokogiri::XML '<foo empty="" whitespace=" "/>'
671
-
672
- assert_equal '', node.root['empty']
673
- assert_equal ' ', node.root['whitespace']
674
- end
675
-
676
- def test_delete
677
- address = @xml.xpath('/staff/employee/address').first
678
- assert_equal 'Yes', address['domestic']
679
- address.delete 'domestic'
680
- assert_nil address['domestic']
681
- end
682
-
683
- def test_set_content_with_symbol
684
- node = @xml.at('//name')
685
- node.content = :foo
686
- assert_equal 'foo', node.content
687
- end
688
-
689
- def test_set_native_content_is_unescaped
690
- comment = Nokogiri.XML('<r><!-- foo --></r>').at('//comment()')
691
-
692
- comment.native_content = " < " # content= will escape this string
693
- assert_equal "<!-- < -->", comment.to_xml
694
- end
695
-
696
- def test_find_by_css_class_with_nonstandard_whitespace
697
- doc = Nokogiri::HTML "<div class='a\nb'></div>"
698
- assert_not_nil doc.at_css(".b")
699
- end
700
-
701
- def test_find_by_css_with_tilde_eql
702
- xml = Nokogiri::XML.parse(<<-eoxml)
703
- <root>
704
- <a>Hello world</a>
705
- <a class='foo bar'>Bar</a>
706
- <a class='bar foo'>Bar</a>
707
- <a class='bar'>Bar</a>
708
- <a class='baz bar foo'>Bar</a>
709
- <a class='bazbarfoo'>Awesome</a>
710
- <a class='bazbar'>Awesome</a>
711
- </root>
712
- eoxml
713
- set = xml.css('a[@class~="bar"]')
714
- assert_equal 4, set.length
715
- assert_equal ['Bar'], set.map(&:content).uniq
716
- end
717
-
718
- def test_unlink
719
- xml = Nokogiri::XML.parse(<<-eoxml)
720
- <root>
721
- <a class='foo bar'>Bar</a>
722
- <a class='bar foo'>Bar</a>
723
- <a class='bar'>Bar</a>
724
- <a>Hello world</a>
725
- <a class='baz bar foo'>Bar</a>
726
- <a class='bazbarfoo'>Awesome</a>
727
- <a class='bazbar'>Awesome</a>
728
- </root>
729
- eoxml
730
- node = xml.xpath('//a')[3]
731
- assert_equal('Hello world', node.text)
732
- assert_match(/Hello world/, xml.to_s)
733
- assert node.parent
734
- assert node.document
735
- assert node.previous_sibling
736
- assert node.next_sibling
737
- node.unlink
738
- assert !node.parent
739
- #assert !node.document
740
- assert !node.previous_sibling
741
- assert !node.next_sibling
742
- assert_no_match(/Hello world/, xml.to_s)
743
- end
744
-
745
- def test_next_sibling
746
- assert node = @xml.root
747
- assert sibling = node.child.next_sibling
748
- assert_equal('employee', sibling.name)
749
- end
750
-
751
- def test_previous_sibling
752
- assert node = @xml.root
753
- assert sibling = node.child.next_sibling
754
- assert_equal('employee', sibling.name)
755
- assert_equal(sibling.previous_sibling, node.child)
756
- end
757
-
758
- def test_name=
759
- assert node = @xml.root
760
- node.name = 'awesome'
761
- assert_equal('awesome', node.name)
762
- end
763
-
764
- def test_child
765
- assert node = @xml.root
766
- assert child = node.child
767
- assert_equal('text', child.name)
768
- end
769
-
770
- def test_key?
771
- assert node = @xml.search('//address').first
772
- assert(!node.key?('asdfasdf'))
773
- end
774
-
775
- def test_set_property
776
- assert node = @xml.search('//address').first
777
- node['foo'] = 'bar'
778
- assert_equal('bar', node['foo'])
779
- end
780
-
781
- def test_set_property_non_string
782
- assert node = @xml.search('//address').first
783
- node['foo'] = 1
784
- assert_equal('1', node['foo'])
785
- node['foo'] = false
786
- assert_equal('false', node['foo'])
787
- end
788
-
789
- def test_attributes
790
- assert node = @xml.search('//address').first
791
- assert_nil(node['asdfasdfasdf'])
792
- assert_equal('Yes', node['domestic'])
793
-
794
- assert node = @xml.search('//address')[2]
795
- attr = node.attributes
796
- assert_equal 2, attr.size
797
- assert_equal 'Yes', attr['domestic'].value
798
- assert_equal 'Yes', attr['domestic'].to_s
799
- assert_equal 'No', attr['street'].value
800
- end
801
-
802
- def test_path
803
- assert set = @xml.search('//employee')
804
- assert node = set.first
805
- assert_equal('/staff/employee[1]', node.path)
806
- end
807
-
808
- def test_parent_xpath
809
- assert set = @xml.search('//employee')
810
- assert node = set.first
811
- assert parent_set = node.search('..')
812
- assert parent_node = parent_set.first
813
- assert_equal '/staff', parent_node.path
814
- assert_equal node.parent, parent_node
815
- end
816
-
817
- def test_search_self
818
- node = @xml.at('//employee')
819
- assert_equal node.search('.').to_a, [node]
820
- end
821
-
822
- def test_search_by_symbol
823
- assert set = @xml.search(:employee)
824
- assert 5, set.length
825
-
826
- assert node = @xml.at(:employee)
827
- assert node.text =~ /EMP0001/
828
- end
829
-
830
- def test_new_node
831
- node = Nokogiri::XML::Node.new('form', @xml)
832
- assert_equal('form', node.name)
833
- assert(node.document)
834
- end
835
-
836
- def test_encode_special_chars
837
- foo = @xml.css('employee').first.encode_special_chars('&')
838
- assert_equal '&amp;', foo
839
- end
840
-
841
- def test_content_equals
842
- node = Nokogiri::XML::Node.new('form', @xml)
843
- assert_equal('', node.content)
844
-
845
- node.content = 'hello world!'
846
- assert_equal('hello world!', node.content)
847
-
848
- node.content = '& <foo> &amp;'
849
- assert_equal('& <foo> &amp;', node.content)
850
- assert_equal('<form>&amp; &lt;foo&gt; &amp;amp;</form>', node.to_xml)
851
-
852
- node.content = "1234 <-> 1234"
853
- assert_equal "1234 <-> 1234", node.content
854
- assert_equal "<form>1234 &lt;-&gt; 1234</form>", node.to_xml
855
-
856
- node.content = '1234'
857
- node.add_child '<foo>5678</foo>'
858
- assert_equal '12345678', node.content
859
- end
860
-
861
- # issue #839
862
- def test_encoding_of_copied_nodes
863
- d1 = Nokogiri::XML('<r><a>&amp;</a></r>')
864
- d2 = Nokogiri::XML('<r></r>')
865
- ne = d1.root.xpath('//a').first.dup(1)
866
- ne.content += "& < & > \" &"
867
- d2.root << ne
868
- assert_match(/<a>&amp;&amp; &lt; &amp; &gt; \" &amp;<\/a>/, d2.to_s)
869
- end
870
-
871
- def test_content_after_appending_text
872
- doc = Nokogiri::XML '<foo />'
873
- node = doc.children.first
874
- node.content = 'bar'
875
- node << 'baz'
876
- assert_equal 'barbaz', node.content
877
- end
878
-
879
- def test_content_depth_first
880
- node = Nokogiri::XML '<foo>first<baz>second</baz>third</foo>'
881
- assert_equal 'firstsecondthird', node.content
882
- end
883
-
884
- def test_set_content_should_unlink_existing_content
885
- node = @xml.at_css("employee")
886
- children = node.children
887
- node.content = "hello"
888
- children.each { |child| assert_nil child.parent }
889
- end
890
-
891
- def test_whitespace_nodes
892
- doc = Nokogiri::XML.parse("<root><b>Foo</b>\n<i>Bar</i> <p>Bazz</p></root>")
893
- children = doc.at('//root').children.collect(&:to_s)
894
- assert_equal "\n", children[1]
895
- assert_equal " ", children[3]
896
- end
897
-
898
- def test_node_equality
899
- doc1 = Nokogiri::XML.parse(File.read(XML_FILE), XML_FILE)
900
- doc2 = Nokogiri::XML.parse(File.read(XML_FILE), XML_FILE)
901
-
902
- address1_1 = doc1.xpath('//address').first
903
- address1_2 = doc1.xpath('//address').first
904
-
905
- address2 = doc2.xpath('//address').first
906
-
907
- assert_not_equal address1_1, address2 # two references to very, very similar nodes
908
- assert_equal address1_1, address1_2 # two references to the exact same node
909
- end
910
-
911
- def test_namespace_search_with_xpath_and_hash
912
- xml = Nokogiri::XML.parse(<<-eoxml)
913
- <root>
914
- <car xmlns:part="http://general-motors.com/">
915
- <part:tire>Michelin Model XGV</part:tire>
916
- </car>
917
- <bicycle xmlns:part="http://schwinn.com/">
918
- <part:tire>I'm a bicycle tire!</part:tire>
919
- </bicycle>
920
- </root>
921
- eoxml
922
-
923
- tires = xml.xpath('//bike:tire', {'bike' => 'http://schwinn.com/'})
924
- assert_equal 1, tires.length
925
- end
926
-
927
- def test_namespace_search_with_xpath_and_hash_with_symbol_keys
928
- xml = Nokogiri::XML.parse(<<-eoxml)
929
- <root>
930
- <car xmlns:part="http://general-motors.com/">
931
- <part:tire>Michelin Model XGV</part:tire>
932
- </car>
933
- <bicycle xmlns:part="http://schwinn.com/">
934
- <part:tire>I'm a bicycle tire!</part:tire>
935
- </bicycle>
936
- </root>
937
- eoxml
938
-
939
- tires = xml.xpath('//bike:tire', :bike => 'http://schwinn.com/')
940
- assert_equal 1, tires.length
941
- end
942
-
943
- def test_namespace_search_with_css
944
- xml = Nokogiri::XML.parse(<<-eoxml)
945
- <root>
946
- <car xmlns:part="http://general-motors.com/">
947
- <part:tire>Michelin Model XGV</part:tire>
948
- </car>
949
- <bicycle xmlns:part="http://schwinn.com/">
950
- <part:tire>I'm a bicycle tire!</part:tire>
951
- </bicycle>
952
- </root>
953
- eoxml
954
-
955
- tires = xml.css('bike|tire', 'bike' => 'http://schwinn.com/' )
956
- assert_equal 1, tires.length
957
- end
958
-
959
- def test_namespaced_attribute_search_with_xpath
960
- # from #593
961
- xmlContent = <<-EOXML
962
- <?xml version="1.0"?>
963
- <ns1:el1 xmlns:ns1="http://blabla.com" >
964
- <ns1:el2 ns1:att="123">with namespace</ns1:el2 >
965
- <ns1:el2 att="noNameSpace">no namespace</ns1:el2 >
966
- </ns1:el1>
967
- EOXML
968
- xml_doc = Nokogiri::XML(xmlContent)
969
-
970
- no_ns = xml_doc.xpath("//*[@att]")
971
- assert_equal no_ns.length, 1
972
- assert_equal no_ns.first.content, "no namespace"
973
-
974
- with_ns = xml_doc.xpath("//*[@ns1:att]")
975
- assert_equal with_ns.length, 1
976
- assert_equal with_ns.first.content, "with namespace"
977
- end
978
-
979
- def test_namespaced_attribute_search_with_css
980
- # from #593
981
- xmlContent = <<-EOXML
982
- <?xml version="1.0"?>
983
- <ns1:el1 xmlns:ns1="http://blabla.com" >
984
- <ns1:el2 ns1:att="123">with namespace</ns1:el2 >
985
- <ns1:el2 att="noNameSpace">no namespace</ns1:el2 >
986
- </ns1:el1>
987
- EOXML
988
- xml_doc = Nokogiri::XML(xmlContent)
989
-
990
- no_ns = xml_doc.css('*[att]')
991
- assert_equal no_ns.length, 1
992
- assert_equal no_ns.first.content, "no namespace"
993
-
994
- with_ns = xml_doc.css('*[ns1|att]')
995
- assert_equal with_ns.length, 1
996
- assert_equal with_ns.first.content, "with namespace"
997
- end
998
-
999
- def test_namespaces_should_include_all_namespace_definitions
1000
- xml = Nokogiri::XML.parse(<<-EOF)
1001
- <x xmlns="http://quux.com/" xmlns:a="http://foo.com/" xmlns:b="http://bar.com/">
1002
- <y xmlns:c="http://bazz.com/">
1003
- <z>hello</z>
1004
- <a xmlns:c="http://newc.com/" />
1005
- </y>
1006
- </x>
1007
- EOF
1008
-
1009
- namespaces = xml.namespaces # Document#namespace
1010
- assert_equal({"xmlns" => "http://quux.com/",
1011
- "xmlns:a" => "http://foo.com/",
1012
- "xmlns:b" => "http://bar.com/"}, namespaces)
1013
-
1014
- namespaces = xml.root.namespaces
1015
- assert_equal({"xmlns" => "http://quux.com/",
1016
- "xmlns:a" => "http://foo.com/",
1017
- "xmlns:b" => "http://bar.com/"}, namespaces)
1018
-
1019
- namespaces = xml.at_xpath("//xmlns:y").namespaces
1020
- assert_equal({"xmlns" => "http://quux.com/",
1021
- "xmlns:a" => "http://foo.com/",
1022
- "xmlns:b" => "http://bar.com/",
1023
- "xmlns:c" => "http://bazz.com/"}, namespaces)
1024
-
1025
- namespaces = xml.at_xpath("//xmlns:z").namespaces
1026
- assert_equal({"xmlns" => "http://quux.com/",
1027
- "xmlns:a" => "http://foo.com/",
1028
- "xmlns:b" => "http://bar.com/",
1029
- "xmlns:c" => "http://bazz.com/"}, namespaces)
1030
-
1031
- namespaces = xml.at_xpath("//xmlns:a").namespaces
1032
- assert_equal({"xmlns" => "http://quux.com/",
1033
- "xmlns:a" => "http://foo.com/",
1034
- "xmlns:b" => "http://bar.com/",
1035
- "xmlns:c" => "http://newc.com/"}, namespaces)
1036
- end
1037
-
1038
- def test_namespace
1039
- xml = Nokogiri::XML.parse(<<-EOF)
1040
- <x xmlns:a='http://foo.com/' xmlns:b='http://bar.com/'>
1041
- <y xmlns:c='http://bazz.com/'>
1042
- <a:div>hello a</a:div>
1043
- <b:div>hello b</b:div>
1044
- <c:div x="1" b:y="2">hello c</c:div>
1045
- <div x="1" xmlns="http://ns.example.com/d"/>
1046
- <div x="1">hello moon</div>
1047
- </y>
1048
- </x>
1049
- EOF
1050
- set = xml.search("//y/*")
1051
- assert_equal "a", set[0].namespace.prefix
1052
- assert_equal 'http://foo.com/', set[0].namespace.href
1053
- assert_equal "b", set[1].namespace.prefix
1054
- assert_equal 'http://bar.com/', set[1].namespace.href
1055
- assert_equal "c", set[2].namespace.prefix
1056
- assert_equal 'http://bazz.com/', set[2].namespace.href
1057
- assert_equal nil, set[3].namespace.prefix # default namespace
1058
- assert_equal 'http://ns.example.com/d', set[3].namespace.href
1059
- assert_equal nil, set[4].namespace # no namespace
1060
-
1061
- assert_equal 'b', set[2].attributes['y'].namespace.prefix
1062
- assert_equal 'http://bar.com/', set[2].attributes['y'].namespace.href
1063
- assert_equal nil, set[2].attributes['x'].namespace
1064
- assert_equal nil, set[3].attributes['x'].namespace
1065
- assert_equal nil, set[4].attributes['x'].namespace
1066
- end
1067
-
1068
- if Nokogiri.uses_libxml?
1069
- def test_namespace_without_an_href_on_html_node
1070
- # because microsoft word's HTML formatting does this. ick.
1071
- xml = Nokogiri::HTML.parse <<-EOF
1072
- <div><o:p>foo</o:p></div>
1073
- EOF
1074
-
1075
- assert_not_nil(node = xml.at('p'))
1076
-
1077
- assert_equal 1, node.namespaces.keys.size
1078
- assert node.namespaces.has_key?('xmlns:o')
1079
- assert_equal nil, node.namespaces['xmlns:o']
1080
- end
1081
- end
1082
-
1083
- def test_line
1084
- xml = Nokogiri::XML(<<-eoxml)
1085
- <root>
1086
- <a>
1087
- Hello world
1088
- </a>
1089
- </root>
1090
- eoxml
1091
-
1092
- set = xml.search("//a")
1093
- node = set.first
1094
- assert_equal 2, node.line
1095
- end
1096
-
1097
- def test_xpath_results_have_document_and_are_decorated
1098
- x = Module.new do
1099
- def awesome! ; end
1100
- end
1101
- util_decorate(@xml, x)
1102
- node_set = @xml.xpath("//employee")
1103
- assert_equal @xml, node_set.document
1104
- assert node_set.respond_to?(:awesome!)
1105
- end
1106
-
1107
- def test_css_results_have_document_and_are_decorated
1108
- x = Module.new do
1109
- def awesome! ; end
1110
- end
1111
- util_decorate(@xml, x)
1112
- node_set = @xml.css("employee")
1113
- assert_equal @xml, node_set.document
1114
- assert node_set.respond_to?(:awesome!)
1115
- end
1116
-
1117
- def test_blank
1118
- doc = Nokogiri::XML('')
1119
- assert_equal false, doc.blank?
1120
- end
1121
-
1122
- def test_to_xml_allows_to_serialize_with_as_xml_save_option
1123
- xml = Nokogiri::XML("<root><ul><li>Hello world</li></ul></root>")
1124
- set = xml.search("//ul")
1125
- node = set.first
1126
-
1127
- assert_no_match("<ul>\n <li>", xml.to_xml(:save_with => XML::Node::SaveOptions::AS_XML))
1128
- assert_no_match("<ul>\n <li>", node.to_xml(:save_with => XML::Node::SaveOptions::AS_XML))
1129
- end
1130
-
1131
- # issue 647
1132
- def test_default_namespace_should_be_created
1133
- subject = Nokogiri::XML.parse('<foo xml:bar="http://bar.com"/>').root
1134
- ns = subject.attributes['bar'].namespace
1135
- assert_not_nil ns
1136
- assert_equal ns.class, Nokogiri::XML::Namespace
1137
- assert_equal 'xml', ns.prefix
1138
- assert_equal "http://www.w3.org/XML/1998/namespace", ns.href
1139
- end
1140
-
1141
- # issue 648
1142
- def test_namespace_without_prefix_should_be_set
1143
- node = Nokogiri::XML.parse('<foo xmlns="http://bar.com"/>').root
1144
- subject = Nokogiri::XML::Node.new 'foo', node.document
1145
- subject.namespace = node.namespace
1146
- ns = subject.namespace
1147
- assert_equal ns.class, Nokogiri::XML::Namespace
1148
- assert_nil ns.prefix
1149
- assert_equal ns.href, "http://bar.com"
1150
- end
1151
-
1152
- # issue 695
1153
- def test_namespace_in_rendered_xml
1154
- document = Nokogiri::XML::Document.new
1155
- subject = Nokogiri::XML::Node.new 'foo', document
1156
- ns = subject.add_namespace nil, 'bar'
1157
- subject.namespace = ns
1158
- assert_match(/xmlns="bar"/, subject.to_xml)
1159
- end
1160
-
1161
- # issue 771
1162
- def test_format_noblank
1163
- content = <<eoxml
1164
- <foo>
1165
- <bar>hello</bar>
1166
- </foo>
1167
- eoxml
1168
- subject = Nokogiri::XML(content) do |conf|
1169
- conf.default_xml.noblanks
1170
- end
1171
-
1172
- assert_match %r{<bar>hello</bar>}, subject.to_xml(:indent => 2)
1173
- end
1174
-
1175
- def test_text_node_colon
1176
- document = Nokogiri::XML::Document.new
1177
- root = Nokogiri::XML::Node.new 'foo', document
1178
- document.root = root
1179
- root << "<a>hello:with_colon</a>"
1180
- assert_match(/hello:with_colon/, document.to_xml)
1181
- end
1182
-
1183
- def test_document_eh
1184
- html_doc = Nokogiri::HTML "<div>foo</div>"
1185
- xml_doc = Nokogiri::XML "<div>foo</div>"
1186
- html_node = html_doc.at_css "div"
1187
- xml_node = xml_doc.at_css "div"
1188
-
1189
- assert html_doc.document?
1190
- assert xml_doc.document?
1191
- assert ! html_node.document?
1192
- assert ! xml_node.document?
1193
- end
1194
-
1195
- def test_processing_instruction_eh
1196
- xml_doc = Nokogiri::XML %Q{<?xml version="1.0"?>\n<?xml-stylesheet type="text/xsl" href="foo.xsl"?>\n<?xml-stylesheet type="text/xsl" href="foo2.xsl"?>\n<root><div>foo</div></root>}
1197
- pi_node = xml_doc.children.first
1198
- div_node = xml_doc.at_css "div"
1199
- assert pi_node.processing_instruction?
1200
- assert ! div_node.processing_instruction?
1201
- end
1202
-
1203
- def test_node_lang
1204
- document = Nokogiri::XML <<-EOXML
1205
- <root>
1206
- <div class='english' xml:lang='en'>
1207
- <div class='english_child'>foo</div>
1208
- </div>
1209
- <div class='japanese' xml:lang='jp'>bar</div>
1210
- <div class='unspecified'>bar</div>
1211
- </root>
1212
- EOXML
1213
- assert_equal "en", document.at_css(".english").lang
1214
- assert_equal "en", document.at_css(".english_child").lang
1215
- assert_equal "jp", document.at_css(".japanese").lang
1216
- assert_nil document.at_css(".unspecified").lang
1217
- end
1218
-
1219
- def test_set_node_lang
1220
- document = Nokogiri::XML "<root><div class='subject'>foo</div></root>"
1221
- subject = document.at_css(".subject")
1222
-
1223
- subject.lang = "de"
1224
- assert_equal "de", subject.lang
1225
-
1226
- subject.lang = "fr"
1227
- assert_equal "fr", subject.lang
1228
- end
1229
-
1230
- def test_text_node_robustness_gh1426
1231
- # notably, the original bug report was about libxml-ruby interactions
1232
- # this test should blow up under valgrind if we regress on libxml-ruby workarounds
1233
- message = "<h2>BOOM!</h2>"
1234
- 10_000.times do
1235
- node = Nokogiri::HTML::DocumentFragment.parse(message)
1236
- node.add_previous_sibling(Nokogiri::XML::Text.new('before', node.document))
1237
- node.add_next_sibling(Nokogiri::XML::Text.new('after', node.document))
1238
- end
1239
- end
1240
- end
1241
- end
1242
- end