hammer_cli 0.1.1 → 0.1.2

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 (180) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/bin/hammer +6 -0
  4. data/config/cli_config.template.yml +3 -0
  5. data/doc/creating_commands.md +19 -0
  6. data/doc/i18n.md +15 -0
  7. data/doc/installation.md +1 -1
  8. data/doc/release_notes.md +61 -0
  9. data/lib/hammer_cli/abstract.rb +10 -37
  10. data/lib/hammer_cli/apipie/command.rb +10 -6
  11. data/lib/hammer_cli/apipie/option_builder.rb +26 -13
  12. data/lib/hammer_cli/apipie/options.rb +12 -10
  13. data/lib/hammer_cli/completer.rb +2 -2
  14. data/lib/hammer_cli/exception_handler.rb +5 -4
  15. data/lib/hammer_cli/exceptions.rb +1 -0
  16. data/lib/hammer_cli/i18n.rb +41 -0
  17. data/lib/hammer_cli/main.rb +2 -2
  18. data/lib/hammer_cli/options/normalizers.rb +31 -0
  19. data/lib/hammer_cli/output/adapter/abstract.rb +5 -1
  20. data/lib/hammer_cli/output/adapter/csv.rb +140 -12
  21. data/lib/hammer_cli/shell.rb +6 -6
  22. data/lib/hammer_cli/subcommand.rb +82 -0
  23. data/lib/hammer_cli/utils.rb +13 -0
  24. data/lib/hammer_cli/version.rb +1 -1
  25. data/locale/Makefile +11 -10
  26. data/locale/README.md +18 -0
  27. data/locale/en/LC_MESSAGES/hammer-cli.mo +0 -0
  28. data/locale/en/hammer-cli.po +227 -0
  29. data/locale/en_GB/LC_MESSAGES/hammer-cli.mo +0 -0
  30. data/locale/en_GB/hammer-cli.po +274 -0
  31. data/locale/es/LC_MESSAGES/hammer-cli.mo +0 -0
  32. data/locale/es/hammer-cli.po +275 -0
  33. data/locale/fr/LC_MESSAGES/hammer-cli.mo +0 -0
  34. data/locale/fr/hammer-cli.po +276 -0
  35. data/locale/hammer-cli.pot +158 -93
  36. data/test/reports/TEST-Fields-ContainerField-display-.xml +7 -0
  37. data/test/reports/TEST-Fields-ContainerField-display-blank-is-allowed.xml +15 -0
  38. data/test/reports/TEST-Fields-ContainerField-display-blank-is-not-allowed.xml +15 -0
  39. data/test/reports/TEST-Fields-ContainerField.xml +7 -0
  40. data/test/reports/TEST-Fields-Field-display-.xml +7 -0
  41. data/test/reports/TEST-Fields-Field-display-blank-is-allowed.xml +11 -0
  42. data/test/reports/TEST-Fields-Field-display-blank-is-not-allowed.xml +11 -0
  43. data/test/reports/TEST-Fields-Field-hide-blank-.xml +11 -0
  44. data/test/reports/TEST-Fields-Field-parameters.xml +9 -0
  45. data/test/reports/TEST-Fields-Field.xml +13 -0
  46. data/test/reports/TEST-HammerCLI-AbstractCommand-build-options.xml +15 -0
  47. data/test/reports/TEST-HammerCLI-AbstractCommand-exception-handler.xml +13 -0
  48. data/test/reports/TEST-HammerCLI-AbstractCommand-logging.xml +21 -0
  49. data/test/reports/TEST-HammerCLI-AbstractCommand-option-builder.xml +11 -0
  50. data/test/reports/TEST-HammerCLI-AbstractCommand-options.xml +11 -0
  51. data/test/reports/TEST-HammerCLI-AbstractCommand-output.xml +19 -0
  52. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-remove-subcommand.xml +11 -0
  53. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-subcommand-.xml +13 -0
  54. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior-subcommand.xml +11 -0
  55. data/test/reports/TEST-HammerCLI-AbstractCommand-subcommand-behavior.xml +7 -0
  56. data/test/reports/TEST-HammerCLI-AbstractCommand.xml +11 -0
  57. data/test/reports/TEST-HammerCLI-Apipie-Command-options.xml +11 -0
  58. data/test/reports/TEST-HammerCLI-Apipie-Command-resource-defined.xml +9 -0
  59. data/test/reports/TEST-HammerCLI-Apipie-Command-setting-resources.xml +19 -0
  60. data/test/reports/TEST-HammerCLI-Apipie-Command.xml +9 -0
  61. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-aliasing-resources.xml +13 -0
  62. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-filtering-options.xml +15 -0
  63. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-required-options.xml +11 -0
  64. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-setting-correct-normalizers.xml +9 -0
  65. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-with-hash-params.xml +11 -0
  66. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder-with-one-simple-param.xml +15 -0
  67. data/test/reports/TEST-HammerCLI-Apipie-OptionBuilder.xml +7 -0
  68. data/test/reports/TEST-HammerCLI-Completer-command-completion.xml +29 -0
  69. data/test/reports/TEST-HammerCLI-Completer-option-value-completion.xml +17 -0
  70. data/test/reports/TEST-HammerCLI-Completer-subcommand-completion.xml +19 -0
  71. data/test/reports/TEST-HammerCLI-Completer.xml +7 -0
  72. data/test/reports/TEST-HammerCLI-CompleterLine-line-complete.xml +25 -0
  73. data/test/reports/TEST-HammerCLI-CompleterLine-splitting-words.xml +29 -0
  74. data/test/reports/TEST-HammerCLI-CompleterLine.xml +7 -0
  75. data/test/reports/TEST-HammerCLI-CompleterWord-complete-.xml +23 -0
  76. data/test/reports/TEST-HammerCLI-CompleterWord-quote.xml +15 -0
  77. data/test/reports/TEST-HammerCLI-CompleterWord-quoted-.xml +13 -0
  78. data/test/reports/TEST-HammerCLI-CompleterWord.xml +7 -0
  79. data/test/reports/TEST-HammerCLI-Connection.xml +21 -0
  80. data/test/reports/TEST-HammerCLI-ExceptionHandler.xml +21 -0
  81. data/test/reports/TEST-HammerCLI-I18n.xml +11 -0
  82. data/test/reports/TEST-HammerCLI-MainCommand-loading-context-password.xml +11 -0
  83. data/test/reports/TEST-HammerCLI-MainCommand-loading-context-username.xml +11 -0
  84. data/test/reports/TEST-HammerCLI-MainCommand-loading-context-verbose.xml +9 -0
  85. data/test/reports/TEST-HammerCLI-MainCommand-loading-context.xml +7 -0
  86. data/test/reports/TEST-HammerCLI-MainCommand.xml +7 -0
  87. data/test/reports/TEST-HammerCLI-Modules-find-by-name.xml +13 -0
  88. data/test/reports/TEST-HammerCLI-Modules-load-a-module-module-not-found.xml +13 -0
  89. data/test/reports/TEST-HammerCLI-Modules-load-a-module-module-runtime-exception.xml +13 -0
  90. data/test/reports/TEST-HammerCLI-Modules-load-a-module-success.xml +15 -0
  91. data/test/reports/TEST-HammerCLI-Modules-load-a-module.xml +7 -0
  92. data/test/reports/TEST-HammerCLI-Modules-load-all-modules.xml +9 -0
  93. data/test/reports/TEST-HammerCLI-Modules-names.xml +13 -0
  94. data/test/reports/TEST-HammerCLI-Modules.xml +7 -0
  95. data/test/reports/TEST-HammerCLI-OptionBuilderContainer.0.xml +7 -0
  96. data/test/reports/TEST-HammerCLI-OptionBuilderContainer.xml +11 -0
  97. data/test/reports/TEST-HammerCLI-Options-Normalizers-abstract.xml +9 -0
  98. data/test/reports/TEST-HammerCLI-Options-Normalizers-bool.xml +31 -0
  99. data/test/reports/TEST-HammerCLI-Options-Normalizers-datetime.xml +17 -0
  100. data/test/reports/TEST-HammerCLI-Options-Normalizers-enum.xml +15 -0
  101. data/test/reports/TEST-HammerCLI-Options-Normalizers-enumlist.xml +21 -0
  102. data/test/reports/TEST-HammerCLI-Options-Normalizers-json-input.xml +15 -0
  103. data/test/reports/TEST-HammerCLI-Options-Normalizers-key-value-list.xml +17 -0
  104. data/test/reports/TEST-HammerCLI-Options-Normalizers-list.xml +15 -0
  105. data/test/reports/TEST-HammerCLI-Options-Normalizers.xml +7 -0
  106. data/test/reports/TEST-HammerCLI-Options-OptionDefinition-context.xml +9 -0
  107. data/test/reports/TEST-HammerCLI-Options-OptionDefinition-formatters.xml +11 -0
  108. data/test/reports/TEST-HammerCLI-Options-OptionDefinition.xml +7 -0
  109. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-error-messages.xml +15 -0
  110. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-messages.xml +11 -0
  111. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract-test-data-for-field.xml +15 -0
  112. data/test/reports/TEST-HammerCLI-Output-Adapter-Abstract.xml +17 -0
  113. data/test/reports/TEST-HammerCLI-Output-Adapter-Base-print-collection-show-ids.xml +9 -0
  114. data/test/reports/TEST-HammerCLI-Output-Adapter-Base-print-collection.xml +27 -0
  115. data/test/reports/TEST-HammerCLI-Output-Adapter-Base.xml +7 -0
  116. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-formatters.xml +11 -0
  117. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-fields-with-collections.xml +13 -0
  118. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-fields-with-containers.xml +11 -0
  119. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection-handle-ids.xml +11 -0
  120. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-collection.xml +11 -0
  121. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues-print-message.xml +11 -0
  122. data/test/reports/TEST-HammerCLI-Output-Adapter-CSValues.xml +7 -0
  123. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-column-width.xml +15 -0
  124. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-formatters.xml +11 -0
  125. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-handle-ids.xml +11 -0
  126. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection-sort-columns.xml +9 -0
  127. data/test/reports/TEST-HammerCLI-Output-Adapter-Table-print-collection.xml +11 -0
  128. data/test/reports/TEST-HammerCLI-Output-Adapter-Table.xml +7 -0
  129. data/test/reports/TEST-HammerCLI-Output-Definition-empty-.xml +11 -0
  130. data/test/reports/TEST-HammerCLI-Output-Definition.xml +11 -0
  131. data/test/reports/TEST-HammerCLI-Output-Dsl-collection.xml +13 -0
  132. data/test/reports/TEST-HammerCLI-Output-Dsl-custom-fields.xml +11 -0
  133. data/test/reports/TEST-HammerCLI-Output-Dsl-fields.xml +15 -0
  134. data/test/reports/TEST-HammerCLI-Output-Dsl-label.xml +13 -0
  135. data/test/reports/TEST-HammerCLI-Output-Dsl-path-definition.xml +13 -0
  136. data/test/reports/TEST-HammerCLI-Output-Dsl.xml +9 -0
  137. data/test/reports/TEST-HammerCLI-Output-FieldFilter.xml +13 -0
  138. data/test/reports/TEST-HammerCLI-Output-Formatters-BooleanFormatter.xml +11 -0
  139. data/test/reports/TEST-HammerCLI-Output-Formatters-ColorFormatter.xml +9 -0
  140. data/test/reports/TEST-HammerCLI-Output-Formatters-DateFormatter.xml +11 -0
  141. data/test/reports/TEST-HammerCLI-Output-Formatters-FieldFormatter.xml +13 -0
  142. data/test/reports/TEST-HammerCLI-Output-Formatters-FormatterContainer.xml +13 -0
  143. data/test/reports/TEST-HammerCLI-Output-Formatters-FormatterLibrary.xml +11 -0
  144. data/test/reports/TEST-HammerCLI-Output-Formatters-KeyValueFormatter.xml +13 -0
  145. data/test/reports/TEST-HammerCLI-Output-Formatters-ListFormatter.xml +13 -0
  146. data/test/reports/TEST-HammerCLI-Output-Formatters-LongTextFormatter.xml +13 -0
  147. data/test/reports/TEST-HammerCLI-Output-Output-adapters.xml +17 -0
  148. data/test/reports/TEST-HammerCLI-Output-Output-data.xml +15 -0
  149. data/test/reports/TEST-HammerCLI-Output-Output-formatters.xml +9 -0
  150. data/test/reports/TEST-HammerCLI-Output-Output-messages.xml +19 -0
  151. data/test/reports/TEST-HammerCLI-Output-Output.xml +7 -0
  152. data/test/reports/TEST-HammerCLI-Output-RecordCollection.xml +13 -0
  153. data/test/reports/TEST-HammerCLI-Settings-load-from-paths.xml +15 -0
  154. data/test/reports/TEST-HammerCLI-Settings.xml +25 -0
  155. data/test/reports/TEST-HammerCLI-ShellHistory-loading-old-history.xml +11 -0
  156. data/test/reports/TEST-HammerCLI-ShellHistory-saving-history.xml +15 -0
  157. data/test/reports/TEST-HammerCLI-ShellHistory.xml +7 -0
  158. data/test/reports/TEST-MiniTest-Spec.xml +7 -0
  159. data/test/reports/TEST-String-camelize.xml +11 -0
  160. data/test/reports/TEST-String-formatting.xml +17 -0
  161. data/test/reports/TEST-String-indent.xml +11 -0
  162. data/test/reports/TEST-String-interactive-.xml +13 -0
  163. data/test/reports/TEST-String.xml +7 -0
  164. data/test/reports/TEST-constraints-HammerCLI-Validator-AllConstraint-exist-.xml +13 -0
  165. data/test/reports/TEST-constraints-HammerCLI-Validator-AllConstraint.xml +7 -0
  166. data/test/reports/TEST-constraints-HammerCLI-Validator-AnyConstraint-exist-.xml +13 -0
  167. data/test/reports/TEST-constraints-HammerCLI-Validator-AnyConstraint.xml +7 -0
  168. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-exist-.xml +9 -0
  169. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-rejected.xml +13 -0
  170. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint-required.xml +13 -0
  171. data/test/reports/TEST-constraints-HammerCLI-Validator-BaseConstraint.xml +7 -0
  172. data/test/reports/TEST-constraints.xml +7 -0
  173. data/test/unit/abstract_test.rb +15 -11
  174. data/test/unit/apipie/command_test.rb +29 -1
  175. data/test/unit/apipie/option_builder_test.rb +22 -0
  176. data/test/unit/fixtures/apipie/documented.json +44 -0
  177. data/test/unit/options/normalizers_test.rb +35 -0
  178. data/test/unit/output/adapter/csv_test.rb +104 -4
  179. data/test/unit/utils_test.rb +58 -0
  180. metadata +292 -6
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Table::print_collection::formatters" tests="2" time="0.001161009" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_should apply formatters" time="0.000536944" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_should not break formatting" time="0.000453818" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Table::print_collection::handle ids" tests="2" time="0.00118601" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0002_should print column of type Id when --show-ids is set" time="0.000537731" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0001_should ommit column of type Id by default" time="0.00046646" assertions="2">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Table::print_collection::sort_columns" tests="1" time="0.000782934" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_should sort output" time="0.000602334" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Table::print_collection" tests="2" time="0.001247105" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0001_should print column name " time="0.000552378" assertions="3">
4
+ </testcase>
5
+ <testcase name="test_0002_should print field value" time="0.000470992" assertions="3">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Adapter::Table" tests="0" time="0.000150369" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Definition::empty?" tests="2" time="0.000342718" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_returns false for definition with fields" time="8.793e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_returns true for empty definition" time="4.5147e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Definition" tests="2" time="0.000403606" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_should be able to add field" time="0.000109946" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_append should allow to add data from another definition" time="6.2187e-05" assertions="2">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl::collection" tests="3" time="0.000484859" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0003_sets correct path to subfields" time="0.000132862" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_allows to define subfields with dsl" time="8.7726e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_creates field of type Collection" time="5.9207e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl::custom fields" tests="2" time="0.000357896" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_it creates field of a desired type" time="0.000123079" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_passes all options to the field instance" time="5.6043e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl::fields" tests="4" time="0.000523115" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0002_should create field of desired type" time="0.000121347" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should create Field as default field type" time="5.6673e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_should store all field details" time="6.8223e-05" assertions="3">
8
+ </testcase>
9
+ <testcase name="test_0004_can define multiple fields" time="5.0459e-05" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl::label" tests="3" time="0.000493603" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0003_sets correct path to subfields" time="0.00014981" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_allows to define subfields with dsl" time="8.6046e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_creates field of type Label" time="6.1688e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl::path definition" tests="3" time="0.000418823" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0003_from can be nested" time="0.000100516" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_path can be nil to handle the parent structure" time="5.6098e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_from appends to path" time="6.3831e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Dsl" tests="1" time="0.000279375" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_should be empty after initialization" time="0.000114708" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::FieldFilter" tests="3" time="0.000408181" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_filters fields by class" time="9.5542e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_lets all fields go by default" time="5.988e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_filters fields by superclass" time="5.3417e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::BooleanFormatter" tests="2" time="0.000326909" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0001_says yes for true like objects" time="8.2173e-05" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_says no for false and nil and empty string" time="5.8887e-05" assertions="3">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::ColorFormatter" tests="1" time="0.000268288" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_colorizes the value" time="8.8793e-05" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::DateFormatter" tests="2" time="0.000375058" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_formats the date" time="0.000128822" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_returns empty string on wrong value" time="6.7009e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::FieldFormatter" tests="3" time="0.000620169" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0003_should know if it has matching tags" time="0.000334795" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0002_has tags" time="5.8395e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_has format method" time="4.3034e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::FormatterContainer" tests="3" time="0.000351543" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0003_can add formatter to instance" time="7.6278e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_accepts formatter" time="5.7379e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_has format method" time="3.5748e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::FormatterLibrary" tests="2" time="0.000312338" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_accepts formatter" time="8.0831e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_can add formatter to instance" time="4.4535e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::KeyValueFormatter" tests="3" time="0.000349305" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_returns empty string when the input is nil" time="7.1121e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_serializes the value" time="5.0924e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_returns empty string value when the input is not a hash" time="3.7348e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::ListFormatter" tests="3" time="0.000348473" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_returns empty string when the input is nil" time="7.1874e-05" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_serializes the value" time="5.3042e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_returns string value when the input is not a list" time="3.5575e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Formatters::LongTextFormatter" tests="3" time="0.000562593" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_prepends new line" time="0.000137138" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_enables to switch indentation off" time="4.2838e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_accepts nil" time="6.0941e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output::adapters" tests="5" time="0.001059704" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0002_should return required default adapter" time="0.00015289" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_should use adapter form context" time="7.4609e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0004_should prioritize adapter from the context" time="0.000100567" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0005_should use base adapter if the requested default was not found" time="0.00047733" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0001_should register adapter" time="5.583e-05" assertions="1">
12
+ </testcase>
13
+ <system-out>
14
+ </system-out>
15
+ <system-err>
16
+ </system-err>
17
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output::data" tests="4" time="0.001649414" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0004_prints recordset" time="0.000419794" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_prints single resource as collection" time="0.000317483" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_prints single resource" time="0.000328909" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0003_prints array of resources" time="0.000357613" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output::formatters" tests="1" time="0.000287264" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_should register formatter" time="0.000116158" assertions="2">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output::messages" tests="6" time="0.002233059" failures="0" errors="0" skipped="0" assertions="6">
3
+ <testcase name="test_0004_prints error message via adapter with arguments" time="0.00035277" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0005_prints error message with details via adapter" time="0.000359567" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0001_prints info message via adapter" time="0.000336722" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0003_prints error message via adapter" time="0.000313239" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0002_prints info message via adapter with arguments" time="0.000310076" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0006_prints error message from exception via adapter" time="0.000339844" assertions="1">
14
+ </testcase>
15
+ <system-out>
16
+ </system-out>
17
+ <system-err>
18
+ </system-err>
19
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::Output" tests="0" time="0.000159742" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Output::RecordCollection" tests="3" time="0.000482859" failures="0" errors="0" skipped="0" assertions="12">
3
+ <testcase name="test_0001_should keep records and its meta data" time="0.000143524" assertions="9">
4
+ </testcase>
5
+ <testcase name="test_0002_should wrap the data into list" time="6.5332e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_sould accept MetaData as option" time="7.748e-05" assertions="2">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Settings::load from paths" tests="4" time="0.002082013" failures="0" errors="0" skipped="0" assertions="8">
3
+ <testcase name="test_0004_loads settings from dir" time="0.001015615" assertions="4">
4
+ </testcase>
5
+ <testcase name="test_0002_clears path history on clear invokation" time="0.000203806" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_store config path history" time="0.000329641" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0001_loads settings from file" time="0.000327472" assertions="2">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::Settings" tests="9" time="0.000795377" failures="0" errors="0" skipped="0" assertions="19">
3
+ <testcase name="test_0001_returns nil when nothing is loaded" time="0.000118872" assertions="2">
4
+ </testcase>
5
+ <testcase name="test_0006_loads all settings" time="6.3553e-05" assertions="2">
6
+ </testcase>
7
+ <testcase name="test_0004_takes both strings and symbols" time="5.5445e-05" assertions="2">
8
+ </testcase>
9
+ <testcase name="test_0005_finds nested settings" time="5.7768e-05" assertions="3">
10
+ </testcase>
11
+ <testcase name="test_0003_returns correct value" time="5.8495e-05" assertions="1">
12
+ </testcase>
13
+ <testcase name="test_0007_dumps all settings" time="5.6246e-05" assertions="1">
14
+ </testcase>
15
+ <testcase name="test_0009_clear wipes all settings" time="4.9296e-05" assertions="2">
16
+ </testcase>
17
+ <testcase name="test_0008_merges settings on second load" time="7.0802e-05" assertions="5">
18
+ </testcase>
19
+ <testcase name="test_0002_returns nil on unknown key" time="4.4578e-05" assertions="1">
20
+ </testcase>
21
+ <system-out>
22
+ </system-out>
23
+ <system-err>
24
+ </system-err>
25
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::ShellHistory::loading old history" tests="2" time="0.000591805" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_skips loading if the file does not exist" time="0.000228018" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_preseeds readline's history" time="0.000185292" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::ShellHistory::saving history" tests="4" time="0.000956469" failures="0" errors="0" skipped="0" assertions="4">
3
+ <testcase name="test_0001_creates history file if it does not exist" time="0.00022899" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0003_appends to readline's history" time="0.000185984" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0002_appends history to the given file" time="0.000169983" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0004_doesn't save exit command" time="0.000154798" assertions="1">
10
+ </testcase>
11
+ <system-out>
12
+ </system-out>
13
+ <system-err>
14
+ </system-err>
15
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="HammerCLI::ShellHistory" tests="0" time="0.000162977" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="MiniTest::Spec" tests="0" time="0.000174231" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="String::camelize" tests="2" time="0.000337952" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0001_should camelize string with underscores" time="0.0001091" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_should not camelize string with dashes" time="5.1678e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="String::formatting" tests="5" time="0.00052804" failures="0" errors="0" skipped="0" assertions="5">
3
+ <testcase name="test_0003_should replace named parameters" time="0.000120653" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_should replace positional parameters" time="5.0694e-05" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0004_should replace named parameters with string keys" time="5.4219e-05" assertions="1">
8
+ </testcase>
9
+ <testcase name="test_0005_should replace named parameters marked with curly brackets" time="5.3821e-05" assertions="1">
10
+ </testcase>
11
+ <testcase name="test_0001_should not fail without expected parameters" time="5.197e-05" assertions="1">
12
+ </testcase>
13
+ <system-out>
14
+ </system-out>
15
+ <system-err>
16
+ </system-err>
17
+ </testsuite>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="String::indent" tests="2" time="0.000342954" failures="0" errors="0" skipped="0" assertions="2">
3
+ <testcase name="test_0002_indents multi line string" time="0.000108296" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_indents single line string" time="4.4031e-05" assertions="1">
6
+ </testcase>
7
+ <system-out>
8
+ </system-out>
9
+ <system-err>
10
+ </system-err>
11
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="String::interactive?" tests="3" time="0.001375686" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0001_should be true when called in tty" time="0.00042329" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0002_should by false when cli arg set" time="0.000403856" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_should by false when turned off in cfg" time="0.000364321" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="String" tests="0" time="0.000181729" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="constraints::HammerCLI::Validator::AllConstraint::exist?" tests="3" time="0.000590622" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_should return true when all the options exist" time="0.000196018" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should return true when no options are passed" time="0.000113036" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_should return false when one of the options is missing" time="9.6605e-05" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="constraints::HammerCLI::Validator::AllConstraint" tests="0" time="0.00015489" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="constraints::HammerCLI::Validator::AnyConstraint::exist?" tests="3" time="0.000586351" failures="0" errors="0" skipped="0" assertions="3">
3
+ <testcase name="test_0002_should return true when one of the options exist" time="0.000170553" assertions="1">
4
+ </testcase>
5
+ <testcase name="test_0001_should return true when no options are passed" time="0.000112862" assertions="1">
6
+ </testcase>
7
+ <testcase name="test_0003_should return false when all the options are missing" time="0.000111747" assertions="1">
8
+ </testcase>
9
+ <system-out>
10
+ </system-out>
11
+ <system-err>
12
+ </system-err>
13
+ </testsuite>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="constraints::HammerCLI::Validator::AnyConstraint" tests="0" time="0.00017756" failures="0" errors="0" skipped="0" assertions="0">
3
+ <system-out>
4
+ </system-out>
5
+ <system-err>
6
+ </system-err>
7
+ </testsuite>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuite name="constraints::HammerCLI::Validator::BaseConstraint::exist?" tests="1" time="0.000343672" failures="0" errors="0" skipped="0" assertions="1">
3
+ <testcase name="test_0001_throws not implemented error" time="0.000171895" assertions="1">
4
+ </testcase>
5
+ <system-out>
6
+ </system-out>
7
+ <system-err>
8
+ </system-err>
9
+ </testsuite>