tetra 2.0.7 → 2.0.8

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 (222) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +3 -3
  3. data/README.md +5 -4
  4. data/bin/tetra +6 -4
  5. data/lib/template/bashrc +19 -14
  6. data/lib/template/bundled/apache-maven-3.9.12/LICENSE +616 -0
  7. data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/NOTICE +0 -6
  8. data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/bin/mvn +9 -0
  9. data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/bin/mvn.cmd +14 -0
  10. data/lib/template/bundled/{apache-maven-3.9.9/boot/plexus-classworlds-2.8.0.jar → apache-maven-3.9.12/boot/plexus-classworlds-2.9.0.jar} +0 -0
  11. data/lib/template/bundled/apache-maven-3.9.12/lib/asm-9.9.jar +0 -0
  12. data/lib/template/bundled/apache-maven-3.9.12/lib/asm.license +29 -0
  13. data/lib/template/bundled/apache-maven-3.9.12/lib/commons-cli-1.11.0.jar +0 -0
  14. data/lib/template/bundled/apache-maven-3.9.12/lib/commons-codec-1.20.0.jar +0 -0
  15. data/lib/template/bundled/apache-maven-3.9.12/lib/error_prone_annotations-2.41.0.jar +0 -0
  16. data/lib/template/bundled/apache-maven-3.9.12/lib/failureaccess-1.0.3.jar +0 -0
  17. data/lib/template/bundled/apache-maven-3.9.12/lib/gson-2.13.2.jar +0 -0
  18. data/lib/template/bundled/apache-maven-3.9.12/lib/guava-33.5.0-jre.jar +0 -0
  19. data/lib/template/bundled/apache-maven-3.9.12/lib/guice-5.1.0-classes.jar +0 -0
  20. data/lib/template/bundled/{apache-maven-3.9.9/lib/jansi-2.4.1.jar → apache-maven-3.9.12/lib/jansi-2.4.2.jar} +0 -0
  21. data/lib/template/bundled/{apache-maven-3.9.9/lib/jansi-native/Windows/arm64/libjansi.so → apache-maven-3.9.12/lib/jansi-native/Windows/arm64/jansi.dll} +0 -0
  22. data/lib/template/bundled/apache-maven-3.9.12/lib/jspecify-1.0.0.jar +0 -0
  23. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-artifact-3.9.9.jar → apache-maven-3.9.12/lib/maven-artifact-3.9.12.jar} +0 -0
  24. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-builder-support-3.9.9.jar → apache-maven-3.9.12/lib/maven-builder-support-3.9.12.jar} +0 -0
  25. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-compat-3.9.9.jar → apache-maven-3.9.12/lib/maven-compat-3.9.12.jar} +0 -0
  26. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-core-3.9.9.jar → apache-maven-3.9.12/lib/maven-core-3.9.12.jar} +0 -0
  27. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-embedder-3.9.12.jar +0 -0
  28. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-model-3.9.12.jar +0 -0
  29. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-model-builder-3.9.9.jar → apache-maven-3.9.12/lib/maven-model-builder-3.9.12.jar} +0 -0
  30. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-plugin-api-3.9.12.jar +0 -0
  31. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-repository-metadata-3.9.12.jar +0 -0
  32. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-resolver-api-1.9.22.jar → apache-maven-3.9.12/lib/maven-resolver-api-1.9.25.jar} +0 -0
  33. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-resolver-connector-basic-1.9.25.jar +0 -0
  34. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-resolver-impl-1.9.22.jar → apache-maven-3.9.12/lib/maven-resolver-impl-1.9.25.jar} +0 -0
  35. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-resolver-named-locks-1.9.22.jar → apache-maven-3.9.12/lib/maven-resolver-named-locks-1.9.25.jar} +0 -0
  36. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-resolver-provider-3.9.9.jar → apache-maven-3.9.12/lib/maven-resolver-provider-3.9.12.jar} +0 -0
  37. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-resolver-spi-1.9.22.jar → apache-maven-3.9.12/lib/maven-resolver-spi-1.9.25.jar} +0 -0
  38. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-resolver-transport-file-1.9.25.jar +0 -0
  39. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-resolver-transport-http-1.9.25.jar +0 -0
  40. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-resolver-transport-wagon-1.9.22.jar → apache-maven-3.9.12/lib/maven-resolver-transport-wagon-1.9.25.jar} +0 -0
  41. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-resolver-util-1.9.22.jar → apache-maven-3.9.12/lib/maven-resolver-util-1.9.25.jar} +0 -0
  42. data/lib/template/bundled/apache-maven-3.9.12/lib/maven-settings-3.9.12.jar +0 -0
  43. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-settings-builder-3.9.9.jar → apache-maven-3.9.12/lib/maven-settings-builder-3.9.12.jar} +0 -0
  44. data/lib/template/bundled/{apache-maven-3.9.9/lib/maven-slf4j-provider-3.9.9.jar → apache-maven-3.9.12/lib/maven-slf4j-provider-3.9.12.jar} +0 -0
  45. data/lib/template/bundled/{apache-maven-3.9.9/lib/org.eclipse.sisu.inject-0.9.0.M3.jar → apache-maven-3.9.12/lib/org.eclipse.sisu.inject-0.9.0.M4.jar} +0 -0
  46. data/lib/template/bundled/{apache-maven-3.9.9/lib/org.eclipse.sisu.plexus-0.9.0.M3.jar → apache-maven-3.9.12/lib/org.eclipse.sisu.plexus-0.9.0.M4.jar} +0 -0
  47. data/lib/template/bundled/apache-maven-3.9.12/lib/plexus-component-annotations-2.2.0.jar +0 -0
  48. data/lib/template/bundled/{apache-maven-3.9.9/lib/plexus-interpolation-1.27.jar → apache-maven-3.9.12/lib/plexus-interpolation-1.29.jar} +0 -0
  49. data/lib/template/bundled/apache-maven-3.9.12/lib/plexus-sec-dispatcher.license +202 -0
  50. data/lib/template/bundled/apache-maven-3.9.12/lib/plexus-utils-3.6.0.jar +0 -0
  51. data/lib/template/bundled/apache-maven-3.9.12/lib/plexus-utils.license +202 -0
  52. data/lib/template/kit.spec +3 -3
  53. data/lib/template/package.spec +13 -10
  54. data/lib/tetra/constants.rb +10 -1
  55. data/lib/tetra/data/license_map.yml +124 -0
  56. data/lib/tetra/facades/ant.rb +4 -7
  57. data/lib/tetra/facades/bash.rb +28 -19
  58. data/lib/tetra/facades/git.rb +69 -34
  59. data/lib/tetra/facades/gradle.rb +3 -2
  60. data/lib/tetra/facades/mvn.rb +8 -8
  61. data/lib/tetra/facades/process_runner.rb +58 -37
  62. data/lib/tetra/facades/tar.rb +5 -4
  63. data/lib/tetra/facades/unzip.rb +5 -4
  64. data/lib/tetra/generatable.rb +4 -3
  65. data/lib/tetra/kit.rb +12 -6
  66. data/lib/tetra/license_mapper.rb +34 -0
  67. data/lib/tetra/logger.rb +7 -4
  68. data/lib/tetra/maven_website.rb +64 -27
  69. data/lib/tetra/packages/kit_package.rb +4 -4
  70. data/lib/tetra/packages/package.rb +47 -8
  71. data/lib/tetra/packages/scriptable.rb +12 -8
  72. data/lib/tetra/packages/speccable.rb +7 -1
  73. data/lib/tetra/pom.rb +38 -16
  74. data/lib/tetra/pom_getter.rb +55 -43
  75. data/lib/tetra/project.rb +14 -15
  76. data/lib/tetra/project_initer.rb +32 -20
  77. data/lib/tetra/ui/change_sources_subcommand.rb +13 -7
  78. data/lib/tetra/ui/dry_run_subcommand.rb +5 -3
  79. data/lib/tetra/ui/generate_all_subcommand.rb +1 -1
  80. data/lib/tetra/ui/generate_kit_subcommand.rb +2 -1
  81. data/lib/tetra/ui/generate_script_subcommand.rb +2 -3
  82. data/lib/tetra/ui/generate_spec_subcommand.rb +3 -2
  83. data/lib/tetra/ui/get_pom_subcommand.rb +17 -12
  84. data/lib/tetra/ui/init_subcommand.rb +12 -4
  85. data/lib/tetra/ui/main.rb +6 -1
  86. data/lib/tetra/ui/move_jars_to_kit_subcommand.rb +2 -2
  87. data/lib/tetra/ui/patch_subcommand.rb +1 -1
  88. data/lib/tetra/ui/subcommand.rb +37 -31
  89. data/lib/tetra/version.rb +2 -3
  90. data/lib/tetra/version_matcher.rb +62 -44
  91. data/lib/tetra.rb +10 -6
  92. metadata +184 -274
  93. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -26
  94. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -15
  95. data/.github/dependabot.yml +0 -24
  96. data/.github/workflows/action-lint.yml +0 -15
  97. data/.github/workflows/codeql-analysis.yml +0 -94
  98. data/.github/workflows/dependency-review.yml +0 -17
  99. data/.github/workflows/markdown.yml +0 -23
  100. data/.github/workflows/rubocop.yml +0 -51
  101. data/.github/workflows/test.yml +0 -62
  102. data/.gitignore +0 -27
  103. data/.markdownlint.yaml +0 -11
  104. data/.rubocop.yml +0 -35
  105. data/.rubocop_todo.yml +0 -438
  106. data/.sonarcloud.properties +0 -4
  107. data/Gemfile +0 -6
  108. data/Gemfile.lock +0 -228
  109. data/Rakefile +0 -9
  110. data/lib/template/bundled/apache-maven-3.9.9/LICENSE +0 -760
  111. data/lib/template/bundled/apache-maven-3.9.9/lib/commons-cli-1.8.0.jar +0 -0
  112. data/lib/template/bundled/apache-maven-3.9.9/lib/commons-codec-1.17.1.jar +0 -0
  113. data/lib/template/bundled/apache-maven-3.9.9/lib/failureaccess-1.0.2.jar +0 -0
  114. data/lib/template/bundled/apache-maven-3.9.9/lib/guava-33.2.1-jre.jar +0 -0
  115. data/lib/template/bundled/apache-maven-3.9.9/lib/guice-5.1.0.jar +0 -0
  116. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-embedder-3.9.9.jar +0 -0
  117. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-model-3.9.9.jar +0 -0
  118. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-plugin-api-3.9.9.jar +0 -0
  119. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-repository-metadata-3.9.9.jar +0 -0
  120. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-resolver-connector-basic-1.9.22.jar +0 -0
  121. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-resolver-transport-file-1.9.22.jar +0 -0
  122. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-resolver-transport-http-1.9.22.jar +0 -0
  123. data/lib/template/bundled/apache-maven-3.9.9/lib/maven-settings-3.9.9.jar +0 -0
  124. data/lib/template/bundled/apache-maven-3.9.9/lib/plexus-component-annotations-2.1.0.jar +0 -0
  125. data/lib/template/bundled/apache-maven-3.9.9/lib/plexus-utils-3.5.1.jar +0 -0
  126. data/lib/template/bundled/apache-maven-3.9.9/lib/plexus-xml-3.0.1.jar +0 -0
  127. data/lib/template/kit/.keep +0 -1
  128. data/lib/template/kit/jars/.keep +0 -1
  129. data/lib/template/packages/.keep +0 -1
  130. data/lib/template/src/.keep +0 -1
  131. data/spec/data/ant-super-simple-code/build/HW.class +0 -0
  132. data/spec/data/ant-super-simple-code/build/mypackage/HW.class +0 -0
  133. data/spec/data/ant-super-simple-code/build.xml +0 -133
  134. data/spec/data/ant-super-simple-code/dist/antsimple-20130618.jar +0 -0
  135. data/spec/data/ant-super-simple-code/lib/junit-4.11.jar +0 -0
  136. data/spec/data/ant-super-simple-code/lib/log4j-1.2.13.jar +0 -0
  137. data/spec/data/ant-super-simple-code/src/mypackage/HW.java +0 -15
  138. data/spec/data/antlr/antlr-2.7.2.jar +0 -0
  139. data/spec/data/antlr/pom.xml +0 -6
  140. data/spec/data/commons-collections4-4.5.0-M2-src.tar.gz +0 -0
  141. data/spec/data/commons-collections4-4.5.0-M2-src.zip +0 -0
  142. data/spec/data/commons-logging/commons-logging-1.3.4.jar +0 -0
  143. data/spec/data/commons-logging/parent_pom.xml +0 -1995
  144. data/spec/data/commons-logging/pom.xml +0 -833
  145. data/spec/data/nailgun/nailgun-0.7.1.jar +0 -0
  146. data/spec/data/nailgun/pom.xml +0 -153
  147. data/spec/data/struts-apps/pom.xml +0 -1147
  148. data/spec/data/tomcat/pom.xml +0 -33
  149. data/spec/lib/coarse/dry_run_subcommand_spec.rb +0 -59
  150. data/spec/lib/coarse/generate_all_subcommand_spec.rb +0 -132
  151. data/spec/lib/coarse/generate_spec_subcommand_spec.rb +0 -30
  152. data/spec/lib/coarse/init_subcommand_spec.rb +0 -101
  153. data/spec/lib/coarse/main_spec.rb +0 -21
  154. data/spec/lib/fine/ant_spec.rb +0 -25
  155. data/spec/lib/fine/git_spec.rb +0 -181
  156. data/spec/lib/fine/kit_package_spec.rb +0 -31
  157. data/spec/lib/fine/kit_spec.rb +0 -27
  158. data/spec/lib/fine/maven_website_spec.rb +0 -61
  159. data/spec/lib/fine/mvn_spec.rb +0 -27
  160. data/spec/lib/fine/package_spec.rb +0 -68
  161. data/spec/lib/fine/pom_getter_spec.rb +0 -36
  162. data/spec/lib/fine/pom_spec.rb +0 -98
  163. data/spec/lib/fine/project_spec.rb +0 -234
  164. data/spec/lib/fine/scriptable_spec.rb +0 -56
  165. data/spec/lib/fine/speccable_spec.rb +0 -93
  166. data/spec/lib/fine/tar_spec.rb +0 -22
  167. data/spec/lib/fine/unzip_spec.rb +0 -22
  168. data/spec/lib/fine/version_matcher_spec.rb +0 -64
  169. data/spec/spec_helper.rb +0 -90
  170. data/tetra.gemspec +0 -44
  171. data/utils/delete_nonet_user.sh +0 -8
  172. data/utils/setup_nonet_user.sh +0 -8
  173. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/README.txt +0 -0
  174. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/bin/m2.conf +0 -0
  175. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/bin/mvnDebug +0 -0
  176. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/bin/mvnDebug.cmd +0 -0
  177. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/bin/mvnyjp +0 -0
  178. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/boot/plexus-classworlds.license +0 -0
  179. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/conf/logging/simplelogger.properties +0 -0
  180. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/conf/settings.xml +0 -0
  181. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/conf/toolchains.xml +0 -0
  182. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/aopalliance-1.0.jar +0 -0
  183. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/aopalliance.license +0 -0
  184. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/commons-cli.license +0 -0
  185. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/commons-codec.license +0 -0
  186. /data/lib/template/bundled/{apache-maven-3.9.9/lib/failureaccess.license → apache-maven-3.9.12/lib/error_prone_annotations.license} +0 -0
  187. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/ext/README.txt +0 -0
  188. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/ext/hazelcast/README.txt +0 -0
  189. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/ext/redisson/README.txt +0 -0
  190. /data/lib/template/bundled/{apache-maven-3.9.9/lib/guava.license → apache-maven-3.9.12/lib/failureaccess.license} +0 -0
  191. /data/lib/template/bundled/{apache-maven-3.9.9/lib/guice.license → apache-maven-3.9.12/lib/gson.license} +0 -0
  192. /data/lib/template/bundled/{apache-maven-3.9.9/lib/httpclient.license → apache-maven-3.9.12/lib/guava.license} +0 -0
  193. /data/lib/template/bundled/{apache-maven-3.9.9/lib/httpcore.license → apache-maven-3.9.12/lib/guice.license} +0 -0
  194. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/httpclient-4.5.14.jar +0 -0
  195. /data/lib/template/bundled/{apache-maven-3.9.9/lib/jansi.license → apache-maven-3.9.12/lib/httpclient.license} +0 -0
  196. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/httpcore-4.4.16.jar +0 -0
  197. /data/lib/template/bundled/{apache-maven-3.9.9/lib/javax.inject.license → apache-maven-3.9.12/lib/httpcore.license} +0 -0
  198. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/jansi-native/README.txt +0 -0
  199. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/jansi-native/Windows/x86/jansi.dll +0 -0
  200. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/jansi-native/Windows/x86_64/jansi.dll +0 -0
  201. /data/lib/template/bundled/{apache-maven-3.9.9/lib/jcl-over-slf4j.license → apache-maven-3.9.12/lib/jansi.license} +0 -0
  202. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/javax.annotation-api-1.3.2.jar +0 -0
  203. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/javax.annotation-api.license +0 -0
  204. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/javax.inject-1.jar +0 -0
  205. /data/lib/template/bundled/{apache-maven-3.9.9/lib/plexus-cipher.license → apache-maven-3.9.12/lib/javax.inject.license} +0 -0
  206. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/jcl-over-slf4j-1.7.36.jar +0 -0
  207. /data/lib/template/bundled/{apache-maven-3.9.9/lib/plexus-component-annotations.license → apache-maven-3.9.12/lib/jcl-over-slf4j.license} +0 -0
  208. /data/lib/template/bundled/{apache-maven-3.9.9/lib/plexus-interpolation.license → apache-maven-3.9.12/lib/jspecify.license} +0 -0
  209. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/maven-shared-utils-3.4.2.jar +0 -0
  210. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/org.eclipse.sisu.inject.license +0 -0
  211. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/org.eclipse.sisu.plexus.license +0 -0
  212. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/plexus-cipher-2.0.jar +0 -0
  213. /data/lib/template/bundled/{apache-maven-3.9.9/lib/plexus-sec-dispatcher.license → apache-maven-3.9.12/lib/plexus-cipher.license} +0 -0
  214. /data/lib/template/bundled/{apache-maven-3.9.9/lib/plexus-utils.license → apache-maven-3.9.12/lib/plexus-component-annotations.license} +0 -0
  215. /data/lib/template/bundled/{apache-maven-3.9.9/lib/plexus-xml.license → apache-maven-3.9.12/lib/plexus-interpolation.license} +0 -0
  216. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/plexus-sec-dispatcher-2.0.jar +0 -0
  217. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/slf4j-api-1.7.36.jar +0 -0
  218. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/slf4j-api.license +0 -0
  219. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/wagon-file-3.5.3.jar +0 -0
  220. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/wagon-http-3.5.3.jar +0 -0
  221. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/wagon-http-shared-3.5.3.jar +0 -0
  222. /data/lib/template/bundled/{apache-maven-3.9.9 → apache-maven-3.9.12}/lib/wagon-provider-api-3.5.3.jar +0 -0
@@ -1,61 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::MavenWebsite do
6
- let(:site) { Tetra::MavenWebsite.new }
7
-
8
- describe "#search_by_sha1" do
9
- it "uses search.maven.org to look for poms by jar SHA1" do
10
- result = site.search_by_sha1("546b5220622c4d9b2da45ad1899224b6ce1c8830").first
11
-
12
- expect(result["g"]).to eq("antlr")
13
- expect(result["a"]).to eq("antlrall")
14
- expect(result["v"]).to eq("2.7.2")
15
- end
16
- end
17
-
18
- describe "#search_by_name" do
19
- it "uses search.maven.org to look for poms by keyword (name)" do
20
- result = site.search_by_name("jruby").first
21
-
22
- # not much to test here
23
- expect(result).not_to be_nil
24
- end
25
- end
26
-
27
- describe "#search_by_group_id_and_artifact_id" do
28
- it "uses search.maven.org to look for poms by group and artifact id" do
29
- results = site.search_by_group_id_and_artifact_id("antlr", "antlrall")
30
-
31
- expect(results.any? { |result| result["id"] == "antlr:antlrall:2.7.2" }).to be_truthy
32
- end
33
- end
34
-
35
- describe "#search_by_maven_id" do
36
- it "uses search.maven.org to look for poms by group id, artifact id and version" do
37
- result = site.search_by_maven_id("antlr", "antlrall", "2.7.2")
38
-
39
- expect(result.first["id"]).to eq("antlr:antlrall:2.7.2")
40
- end
41
- end
42
-
43
- describe "#get_maven_id_from" do
44
- it "uses search.maven.org to look for poms" do
45
- expect(site.get_maven_id_from("g" => 1, "a" => 2, "v" => 3)).to eq([1, 2, 3])
46
- end
47
- end
48
-
49
- describe "#download_pom" do
50
- it "gets a pom from search.maven.org" do
51
- dir_path = File.join("spec", "data", "antlr")
52
- pom_path = File.join(dir_path, "pom.xml")
53
- expect(site.download_pom("antlr", "antlrall", "2.7.2")).to eq(File.read(pom_path))
54
- end
55
- it "returns an error on file not found" do
56
- expect do
57
- site.download_pom("does_not_exist", "does_not_exist", "does_not_exist")
58
- end.to raise_error(Tetra::NotFoundOnMavenWebsiteError)
59
- end
60
- end
61
- end
@@ -1,27 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::Mvn do
6
- include Tetra::Mockers
7
-
8
- before(:each) do
9
- create_mock_project
10
- @path = create_mock_executable("mvn")
11
- end
12
-
13
- after(:each) do
14
- delete_mock_project
15
- end
16
-
17
- describe "#get_mvn_commandline" do
18
- it "returns commandline options for running maven" do
19
- @project.from_directory do
20
- commandline = Tetra::Mvn.commandline(".", mock_executable_dir("mvn"))
21
- expected_commandline = "./#{@path} -Dmaven.repo.local=./kit/m2 \
22
- --settings ./kit/m2/settings.xml --strict-checksums"
23
- expect(commandline).to eq expected_commandline
24
- end
25
- end
26
- end
27
- end
@@ -1,68 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::Package do
6
- include Tetra::Mockers
7
-
8
- before(:each) do
9
- create_mock_project
10
-
11
- Dir.chdir(@project_path) do
12
- FileUtils.mkdir_p(File.join("packages", "test-project"))
13
- FileUtils.touch(File.join("packages", "test-project", "test-project-4.0.tar.gz"))
14
- end
15
-
16
- @project.dry_run
17
- Dir.chdir(@project_path) do
18
- FileUtils.touch(File.join("kit", "jars", "test.jar"))
19
- end
20
- @project.finish([])
21
-
22
- @project.from_directory do
23
- FileUtils.mkdir_p(File.join("src", "out"))
24
- (1..5).each do |i|
25
- FileUtils.touch(File.join("src", "test#{i}.java"))
26
- end
27
- @project.dry_run
28
-
29
- (1..5).each do |i|
30
- FileUtils.touch(File.join("src", "test#{i}.class"))
31
- end
32
-
33
- (1..5).each do |i|
34
- FileUtils.touch(File.join("src", "out", "test#{i}.jar"))
35
- end
36
-
37
- @project.finish([])
38
- end
39
-
40
- FileUtils.copy(File.join("spec", "data", "nailgun", "pom.xml"), @project_path)
41
-
42
- patches = @project.write_source_patches
43
- @package = Tetra::Package.new(@project, File.join(@project_path, "pom.xml"), "*.jar", patches)
44
- end
45
-
46
- after(:each) do
47
- delete_mock_project
48
- end
49
-
50
- describe "#to_spec" do
51
- it "generates the first version" do
52
- @package.to_spec
53
-
54
- @project.from_directory do
55
- spec_lines = File.readlines(File.join("packages", "test-project", "test-project.spec"))
56
- expect(spec_lines).to include("Name: test-project\n")
57
- expect(spec_lines).to include("License: The Apache Software License, Version 2.0\n")
58
- expect(spec_lines).to include("Summary: Nailgun is a client, protocol, and server for running Java\n")
59
- expect(spec_lines).to include("URL: http://martiansoftware.com/nailgun\n")
60
- expect(spec_lines).to include("Source0: test-project-4.0.tar.gz\n")
61
- expect(spec_lines).to include("BuildRequires: test-project-kit == #{@project.version}\n")
62
- expect(spec_lines).to include("Provides: mvn(com.martiansoftware:nailgun-server) == 0.9.1\n")
63
- expect(spec_lines).to include("Provides: mvn(com.martiansoftware:nailgun-examples) == 0.9.1\n")
64
- expect(spec_lines).to include("cp -a out/test3.jar %{buildroot}%{_javadir}/test3.jar\n")
65
- end
66
- end
67
- end
68
- end
@@ -1,36 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::PomGetter do
6
- let(:pom_getter) { Tetra::PomGetter.new }
7
-
8
- describe "#get_pom" do
9
- it "gets the pom from a jar" do
10
- dir_path = File.join("spec", "data", "commons-logging")
11
- jar_path = File.join(dir_path, "commons-logging-1.3.4.jar")
12
- path, status = pom_getter.get_pom(jar_path)
13
- expect(status).to eq :found_in_jar
14
- expect(File.exist?(path)).to be_truthy
15
- FileUtils.rm(path)
16
- end
17
-
18
- it "gets the pom from sha1" do
19
- dir_path = File.join("spec", "data", "antlr")
20
- jar_path = File.join(dir_path, "antlr-2.7.2.jar")
21
- path, status = pom_getter.get_pom(jar_path)
22
- expect(status).to eq :found_via_sha1
23
- expect(File.exist?(path)).to be_truthy
24
- FileUtils.rm(path)
25
- end
26
-
27
- it "gets the pom from a heuristic" do
28
- dir_path = File.join("spec", "data", "nailgun")
29
- jar_path = File.join(dir_path, "nailgun-0.7.1.jar")
30
- path, status = pom_getter.get_pom(jar_path)
31
- expect(status).to eq :found_via_heuristic
32
- expect(File.exist?(path)).to be_truthy
33
- FileUtils.rm(path)
34
- end
35
- end
36
- end
@@ -1,98 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::Pom do
6
- let(:commons_pom) { Tetra::Pom.new(File.join("spec", "data", "commons-logging", "pom.xml")) }
7
- let(:nailgun_pom) { Tetra::Pom.new(File.join("spec", "data", "nailgun", "pom.xml")) }
8
- let(:struts_apps_pom) { Tetra::Pom.new(File.join("spec", "data", "struts-apps", "pom.xml")) }
9
-
10
- describe "#group_id" do
11
- it "reads the group id" do
12
- expect(commons_pom.group_id).to eq "commons-logging"
13
- expect(nailgun_pom.group_id).to eq "com.martiansoftware"
14
- expect(struts_apps_pom.group_id).to eq ""
15
- end
16
- end
17
-
18
- describe "#artifact_id" do
19
- it "reads the artifact id" do
20
- expect(commons_pom.artifact_id).to eq "commons-logging"
21
- expect(nailgun_pom.artifact_id).to eq "nailgun-all"
22
- expect(struts_apps_pom.artifact_id).to eq "struts2-parent"
23
- end
24
- end
25
-
26
- describe "#name" do
27
- it "reads artifact name" do
28
- expect(commons_pom.name).to eq "Apache Commons Logging"
29
- expect(nailgun_pom.name).to eq "nailgun-all"
30
- expect(struts_apps_pom.name).to eq "Struts 2"
31
- end
32
- end
33
-
34
- describe "#version" do
35
- it "reads the version" do
36
- expect(commons_pom.version).to eq "1.3.4"
37
- expect(nailgun_pom.version).to eq "0.9.1"
38
- expect(struts_apps_pom.version).to eq "6.7.0"
39
- end
40
- end
41
-
42
- # rubocop:disable Layout/LineLength, Layout/TrailingWhitespace
43
- describe "#description" do
44
- it "reads the description" do
45
- expect(commons_pom.description).to eq "Apache Commons Logging is a thin adapter allowing configurable bridging to other,\n well-known logging systems."
46
- expect(nailgun_pom.description).to eq "
47
- Nailgun is a client, protocol, and server for running Java programs
48
- from the command line without incurring the JVM startup overhead.
49
- Programs run in the server (which is implemented in Java), and are
50
- triggered by the client (written in C), which handles all I/O.
51
-
52
- This project contains the server and examples.
53
- "
54
- expect(struts_apps_pom.description).to eq "Apache Struts 2"
55
- end
56
- end
57
- # rubocop:enable Layout/LineLength, Layout/TrailingWhitespace
58
-
59
- describe "#url" do
60
- it "reads the url" do
61
- expect(commons_pom.url).to eq "https://commons.apache.org/proper/commons-logging/"
62
- expect(nailgun_pom.url).to eq "http://martiansoftware.com/nailgun"
63
- expect(struts_apps_pom.url).to eq "https://struts.apache.org/"
64
- end
65
- end
66
-
67
- describe "#license_name" do
68
- it "reads the license name" do
69
- expect(commons_pom.license_name).to eq ""
70
- expect(nailgun_pom.license_name).to eq "The Apache Software License, Version 2.0"
71
- expect(struts_apps_pom.license_name).to eq "The Apache Software License, Version 2.0"
72
- end
73
- end
74
-
75
- describe "#runtime_dependency_ids" do
76
- it "reads the dependency maven ids" do
77
- expect(commons_pom.runtime_dependency_ids).to eq []
78
- expect(nailgun_pom.runtime_dependency_ids).to eq []
79
- expect(struts_apps_pom.runtime_dependency_ids).to eq []
80
- end
81
- end
82
-
83
- describe "#scm_connection" do
84
- it "reads the SCM connection address" do
85
- expect(commons_pom.scm_connection).to eq "scm:git:https://gitbox.apache.org/repos/asf/commons-logging"
86
- expect(nailgun_pom.scm_connection).to eq "scm:git:git@github.com:martylamb/nailgun.git"
87
- expect(struts_apps_pom.scm_connection).to eq "scm:git:https://gitbox.apache.org/repos/asf/struts.git"
88
- end
89
- end
90
-
91
- describe "#scm_url" do
92
- it "reads the SCM connection url" do
93
- expect(commons_pom.scm_url).to eq "https://gitbox.apache.org/repos/asf/commons-logging"
94
- expect(nailgun_pom.scm_url).to eq "scm:git:git@github.com:martylamb/nailgun.git"
95
- expect(struts_apps_pom.scm_url).to eq "https://github.com/apache/struts/"
96
- end
97
- end
98
- end
@@ -1,234 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::Project do
6
- include Tetra::Mockers
7
-
8
- before(:each) do
9
- create_mock_project
10
- end
11
-
12
- after(:each) do
13
- delete_mock_project
14
- end
15
-
16
- describe "version" do
17
- it "returns no project version in case no dry-run happened" do
18
- expect(@project.version).to be_nil
19
- end
20
-
21
- it "returns a project version after dry-run" do
22
- @project.dry_run
23
- @project.finish([])
24
- expect(@project.version).to be
25
- end
26
- end
27
-
28
- describe "#project?" do
29
- it "checks if a directory is a tetra project or not" do
30
- expect(Tetra::Project.project?(@project_path)).to be_truthy
31
- expect(Tetra::Project.project?(File.join(@project_path, ".."))).to be_falsey
32
- end
33
- end
34
-
35
- describe "#find_project_dir" do
36
- it "recursively the parent project directory" do
37
- expanded_path = File.expand_path(@project_path)
38
- expect(Tetra::Project.find_project_dir(expanded_path)).to eq expanded_path
39
- expect(Tetra::Project.find_project_dir(File.expand_path("src", @project_path))).to eq expanded_path
40
- expect(Tetra::Project.find_project_dir(File.expand_path("kit", @project_path))).to eq expanded_path
41
-
42
- expect do
43
- expect(Tetra::Project.find_project_dir(File.expand_path("..", @project_path))).to raise_error
44
- end.to raise_error(Tetra::NoProjectDirectoryError)
45
- end
46
- end
47
-
48
- describe "full_path" do
49
- it "returns the project's full path" do
50
- expect(@project.full_path).to eq File.expand_path(@project_path)
51
- end
52
- end
53
-
54
- describe "#template_files" do
55
- it "returns the list of template files without bundles" do
56
- expect(@project.template_files(false)).to include("kit" => ".")
57
- end
58
-
59
- it "returns the list of template files with bundles" do
60
- expect(@project.template_files(true)).to include("bundled/apache-ant-1.10.15" => "kit")
61
- end
62
- end
63
-
64
- describe "#init" do
65
- it "inits a new project" do
66
- kit_path = File.join(@project_path, "kit")
67
- expect(Dir.exist?(kit_path)).to be_truthy
68
-
69
- src_path = File.join(@project_path, "src")
70
- expect(Dir.exist?(src_path)).to be_truthy
71
- end
72
- end
73
-
74
- describe "#dry_running?" do
75
- it "checks if a project is dry running" do
76
- @project.from_directory do
77
- expect(@project.dry_running?).to be_falsey
78
- @project.dry_run
79
- expect(@project.dry_running?).to be_truthy
80
- @project.finish([])
81
- expect(@project.dry_running?).to be_falsey
82
- end
83
- end
84
- end
85
-
86
- describe "#src_patched?" do
87
- it "checks whether src is dirty" do
88
- @project.from_directory do
89
- @project.dry_run
90
- @project.finish([])
91
- expect(@project.src_patched?).to be_falsey
92
-
93
- FileUtils.touch(File.join("src", "test"))
94
- expect(@project.src_patched?).to be_truthy
95
- end
96
- end
97
- end
98
-
99
- describe "#finish" do
100
- it "ends the current dry-run phase after a successful build" do
101
- @project.from_directory do
102
- File.open(File.join("src", "test"), "w") { |f| f.write("A") }
103
- end
104
-
105
- expect(@project.dry_run).to be_truthy
106
-
107
- @project.from_directory do
108
- File.open(File.join("src", "test"), "w") { |f| f.write("B") }
109
- FileUtils.touch(File.join("src", "test2"))
110
- end
111
-
112
- expect(@project.finish([])).to be_truthy
113
- expect(@project.dry_running?).to be_falsey
114
-
115
- @project.from_directory do
116
- expect(`git rev-list --all`.split("\n").length).to eq 3
117
- expect(File.read("src/test")).to eq "A"
118
-
119
- expect(`git diff-tree --no-commit-id --name-only -r HEAD~`.split("\n")).to include("src/test")
120
- expect(File.exist?("src/test2")).to be_falsey
121
-
122
- expect(`git show HEAD`.split("\n").map(&:strip)).to include("tetra: file-changed: src/test")
123
- end
124
- end
125
- it "ends the current dry-run phase after a failed build" do
126
- @project.from_directory do
127
- File.open(File.join("src", "test"), "w") { |f| f.write("A") }
128
- File.open(File.join("kit", "test"), "w") { |f| f.write("A") }
129
- end
130
-
131
- expect(@project.dry_run).to be_truthy
132
-
133
- @project.from_directory do
134
- File.open(File.join("src", "test"), "w") { |f| f.write("B") }
135
- FileUtils.touch(File.join("src", "test2"))
136
- File.open(File.join("kit", "test"), "w") { |f| f.write("B") }
137
- FileUtils.touch(File.join("kit", "test2"))
138
- end
139
-
140
- expect(@project.abort).to be_truthy
141
- expect(@project.dry_running?).to be_falsey
142
-
143
- @project.from_directory do
144
- expect(`git rev-list --all`.split("\n").length).to eq 1
145
- expect(File.read("src/test")).to eq "A"
146
- expect(File.exist?("src/test2")).to be_falsey
147
-
148
- expect(File.read("kit/test")).to eq "A"
149
- expect(File.exist?("kit/test2")).to be_falsey
150
- end
151
- end
152
- end
153
-
154
- describe "#dry_run" do
155
- it "starts a dry running phase" do
156
- @project.from_directory do
157
- FileUtils.touch(File.join("src", "test"))
158
- end
159
-
160
- @project.from_directory("src") do
161
- expect(@project.dry_run).to be_truthy
162
- end
163
-
164
- @project.from_directory do
165
- expect(@project.dry_running?).to be_truthy
166
- expect(`git rev-list --all`.split("\n").length).to eq 2
167
- expect(`git diff-tree --no-commit-id --name-only -r HEAD`.split("\n")).to include("src/test")
168
- end
169
- end
170
- end
171
-
172
- describe "#produced_files" do
173
- it "gets a list of produced files" do
174
- @project.from_directory do
175
- File.open(File.join("src", "added_outside_dry_run"), "w") { |f| f.write("A") }
176
- end
177
-
178
- expect(@project.dry_run).to be_truthy
179
- @project.from_directory do
180
- File.open(File.join("src", "added_in_first_dry_run"), "w") { |f| f.write("A") }
181
- File.open("added_outside_directory", "w") { |f| f.write("A") }
182
- end
183
- expect(@project.finish([])).to be_truthy
184
-
185
- expect(@project.dry_run).to be_truthy
186
- @project.from_directory do
187
- File.open(File.join("src", "added_in_second_dry_run"), "w") { |f| f.write("A") }
188
- end
189
- expect(@project.finish([])).to be_truthy
190
-
191
- list = @project.produced_files
192
- expect(list).to include("added_in_second_dry_run")
193
-
194
- expect(list).not_to include("added_in_first_dry_run")
195
- expect(list).not_to include("added_outside_dry_run")
196
- expect(list).not_to include("added_outside_directory")
197
- end
198
- end
199
-
200
- describe "#write_source_patches" do
201
- it "writes patches from the tarball generated by archive_source" do
202
- @project.from_directory do
203
- test_file = File.join("src", "Test.java")
204
- FileUtils.touch(test_file)
205
- @project.commit_sources("first version", true)
206
-
207
- File.open(test_file, "w") { |f| f.write("A") }
208
- @project.commit_sources("patched version", false)
209
-
210
- patches = @project.write_source_patches.map { |f| File.basename(f) }
211
- expect(patches).to include("0001-patched-version.patch")
212
-
213
- patch_contents = File.readlines(File.join("packages", "test-project", "0001-patched-version.patch"))
214
- expect(patch_contents).to include("--- a/#{test_file}\n")
215
- end
216
- end
217
- end
218
-
219
- describe "#purge_jars" do
220
- it "moves jars in kit/jars" do
221
- @project.from_directory do
222
- File.open(File.join("src", "test.jar"), "w") { |f| f.write("jarring") }
223
- end
224
-
225
- @project.purge_jars
226
-
227
- @project.from_directory do
228
- expect(File.symlink?(File.join("src", "test.jar"))).to be_truthy
229
- expect(File.readlink(File.join("src", "test.jar"))).to eq "../kit/jars/test.jar"
230
- expect(File.readlines(File.join("kit", "jars", "test.jar"))).to include("jarring")
231
- end
232
- end
233
- end
234
- end
@@ -1,56 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::Scriptable do
6
- include Tetra::Mockers
7
-
8
- before(:each) do
9
- create_mock_project
10
-
11
- @project.from_directory do
12
- FileUtils.mkdir_p(File.join("src", "test-package"))
13
- @project.dry_run
14
-
15
- history = ["tetra dry-run start --unwanted-options",
16
- "cd somewhere significant",
17
- "mvn --options",
18
- "tetra dry-run finish -a"
19
- ]
20
-
21
- @project.finish(history)
22
- end
23
-
24
- create_mock_executable("ant")
25
- create_mock_executable("mvn")
26
- end
27
-
28
- after(:each) do
29
- delete_mock_project
30
- end
31
-
32
- describe "#generate_build_script" do
33
- it "generates a build script from the history" do
34
- @project.from_directory do
35
- @package = Tetra::Package.new(@project)
36
- @package.to_script
37
-
38
- lines = File.readlines(File.join("packages", "test-project", "build.sh"))
39
-
40
- expect(lines).to include("#!/bin/bash\n")
41
- expect(lines).to include("cd somewhere significant\n")
42
- expect(lines).to include("mvn --options\n")
43
- expect(lines).to include("alias mvn='$PROJECT_PREFIX/kit/mvn/bin/mvn \
44
- -Dmaven.repo.local=$PROJECT_PREFIX/kit/m2 --settings $PROJECT_PREFIX/kit/m2/settings.xml \
45
- --strict-checksums -o'\n"
46
- )
47
-
48
- expect(lines).not_to include("some earlier command\n")
49
- expect(lines).not_to include("tetra dry-run --unwanted-options\n")
50
- expect(lines).not_to include("tetra dry-run --unwanted-options\n")
51
- expect(lines).not_to include("tetra finish -a\n")
52
- expect(lines).not_to include("some later command\n")
53
- end
54
- end
55
- end
56
- end
@@ -1,93 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require "spec_helper"
4
-
5
- describe Tetra::Speccable do
6
- include Tetra::Mockers
7
-
8
- # mock
9
- class SpeccableTestClass
10
- attr_accessor :world_property
11
-
12
- include Tetra::Speccable
13
-
14
- def initialize
15
- @world_property = "World!"
16
- end
17
- end
18
-
19
- before(:each) do
20
- create_mock_project
21
-
22
- @template_path = File.join(instance.template_path, "test.spec")
23
- File.open(@template_path, "w") { |io| io.puts "Hello <%= world_property %>\nintentionally blank line\n" }
24
-
25
- @destination_path = File.join("output", "test-package", "test-package.spec")
26
- end
27
-
28
- let(:instance) { SpeccableTestClass.new }
29
-
30
- after(:each) do
31
- delete_mock_project
32
- FileUtils.rm_rf(@template_path)
33
- end
34
-
35
- describe "#to_spec" do
36
- it "generates a first version" do
37
- expect(instance._to_spec(@project, "test-package", "test.spec", "output")).to be_truthy
38
-
39
- @project.from_directory do
40
- spec_lines = File.readlines(@destination_path)
41
- expect(spec_lines).to include("Hello World!\n")
42
- end
43
- end
44
-
45
- it "generates a second version" do
46
- expect(instance._to_spec(@project, "test-package", "test.spec", "output")).to be_truthy
47
-
48
- @project.from_directory do
49
- File.open(@destination_path, "a") do |io|
50
- io.write("nonconflicting line\n")
51
- end
52
- end
53
-
54
- instance.world_property = "Mario!"
55
-
56
- expect(instance._to_spec(@project, "test-package", "test.spec", "output")).to be_truthy
57
-
58
- @project.from_directory do
59
- spec_lines = File.readlines(@destination_path)
60
- expect(spec_lines).not_to include("Hello World!\n")
61
- expect(spec_lines).to include("Hello Mario!\n")
62
- expect(spec_lines).to include("nonconflicting line\n")
63
- end
64
- end
65
-
66
- it "generates a conflicting version" do
67
- expect(instance._to_spec(@project, "test-package", "test.spec", "output")).to be_truthy
68
-
69
- @project.from_directory do
70
- spec_contents = File.read(@destination_path)
71
- spec_contents.gsub!(/Hello World/, "CONFLICTING!")
72
-
73
- File.open(@destination_path, "w+") do |io|
74
- io.write(spec_contents)
75
- end
76
- end
77
-
78
- instance.world_property = "Mario!"
79
-
80
- expect(instance._to_spec(@project, "test-package", "test.spec", "output")).to be_truthy
81
-
82
- @project.from_directory do
83
- spec_lines = File.readlines(@destination_path)
84
- expect(spec_lines).to include("<<<<<<< newly generated\n")
85
- expect(spec_lines).to include("Hello Mario!\n")
86
- expect(spec_lines).to include("=======\n")
87
- expect(spec_lines).to include("CONFLICTING!!\n")
88
- expect(spec_lines).to include(">>>>>>> user edited\n")
89
- expect(spec_lines).to include("intentionally blank line\n")
90
- end
91
- end
92
- end
93
- end