backspin 0.4.1 → 0.4.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/.gem_release.yml +13 -0
  3. data/CHANGELOG.md +5 -7
  4. data/CLAUDE.md +5 -1
  5. data/Gemfile +3 -1
  6. data/Gemfile.lock +3 -1
  7. data/MATCH_ON_USAGE.md +110 -0
  8. data/Rakefile +5 -1
  9. data/backspin.gemspec +6 -3
  10. data/examples/match_on_example.rb +116 -0
  11. data/fixtures/backspin/all_and_fields.yml +15 -0
  12. data/fixtures/backspin/all_bypass_equality.yml +14 -0
  13. data/fixtures/backspin/all_checks_equality.yml +17 -0
  14. data/fixtures/backspin/all_for_logging.yml +13 -0
  15. data/fixtures/backspin/all_matcher_basic.yml +14 -0
  16. data/fixtures/backspin/all_matcher_custom.yml +17 -0
  17. data/fixtures/backspin/all_matcher_demo.yml +14 -0
  18. data/fixtures/backspin/all_matcher_test.yml +14 -0
  19. data/fixtures/backspin/all_no_short_circuit.yml +14 -0
  20. data/fixtures/backspin/all_pass_field_fail.yml +14 -0
  21. data/fixtures/backspin/all_short_circuit.yml +14 -0
  22. data/fixtures/backspin/all_skips_equality.yml +17 -0
  23. data/fixtures/backspin/all_with_equality.yml +17 -0
  24. data/fixtures/backspin/all_with_fields.yml +17 -0
  25. data/fixtures/backspin/combined_fail_demo.yml +14 -0
  26. data/fixtures/backspin/combined_matcher_demo.yml +14 -0
  27. data/fixtures/backspin/field_matcher_demo.yml +17 -0
  28. data/fixtures/backspin/field_matcher_values.yml +14 -0
  29. data/fixtures/backspin/key_confusion_test.yml +14 -0
  30. data/fixtures/backspin/match_on_any_fail.yml +21 -0
  31. data/fixtures/backspin/match_on_bad_format.yml +14 -0
  32. data/fixtures/backspin/match_on_fail.yml +15 -0
  33. data/fixtures/backspin/match_on_invalid.yml +14 -0
  34. data/fixtures/backspin/match_on_multiple.yml +28 -0
  35. data/fixtures/backspin/match_on_nil.yml +14 -0
  36. data/fixtures/backspin/match_on_other_fields.yml +23 -0
  37. data/fixtures/backspin/match_on_run_bang.yml +16 -0
  38. data/fixtures/backspin/match_on_run_bang_fail.yml +15 -0
  39. data/fixtures/backspin/match_on_single.yml +17 -0
  40. data/fixtures/backspin/string_symbol_test.yml +14 -0
  41. data/lib/backspin/command.rb +1 -5
  42. data/lib/backspin/command_diff.rb +98 -16
  43. data/lib/backspin/command_result.rb +2 -4
  44. data/lib/backspin/record.rb +31 -10
  45. data/lib/backspin/record_result.rb +20 -14
  46. data/lib/backspin/recorder.rb +100 -55
  47. data/lib/backspin/version.rb +3 -1
  48. data/lib/backspin.rb +34 -173
  49. data/release.rake +97 -0
  50. data/script/lint +6 -0
  51. metadata +54 -5
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backspin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Sanheim
@@ -9,6 +9,20 @@ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: ostruct
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 0.5.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.5.0
12
26
  - !ruby/object:Gem::Dependency
13
27
  name: rspec-mocks
14
28
  requirement: !ruby/object:Gem::Requirement
@@ -24,19 +38,19 @@ dependencies:
24
38
  - !ruby/object:Gem::Version
25
39
  version: '3.0'
26
40
  - !ruby/object:Gem::Dependency
27
- name: ostruct
41
+ name: gem-release
28
42
  requirement: !ruby/object:Gem::Requirement
29
43
  requirements:
30
44
  - - "~>"
31
45
  - !ruby/object:Gem::Version
32
- version: 0.5.0
33
- type: :runtime
46
+ version: '2.2'
47
+ type: :development
34
48
  prerelease: false
35
49
  version_requirements: !ruby/object:Gem::Requirement
36
50
  requirements:
37
51
  - - "~>"
38
52
  - !ruby/object:Gem::Version
39
- version: 0.5.0
53
+ version: '2.2'
40
54
  description: Backspin is a Ruby library for characterization testing of command-line
41
55
  interfaces. Inspired by VCR's cassette-based approach, it records and replays CLI
42
56
  interactions to make testing faster and more deterministic.
@@ -47,6 +61,7 @@ extensions: []
47
61
  extra_rdoc_files: []
48
62
  files:
49
63
  - ".circleci/config.yml"
64
+ - ".gem_release.yml"
50
65
  - ".gitignore"
51
66
  - ".rspec"
52
67
  - ".standard.yml"
@@ -56,19 +71,50 @@ files:
56
71
  - Gemfile
57
72
  - Gemfile.lock
58
73
  - LICENSE.txt
74
+ - MATCH_ON_USAGE.md
59
75
  - README.md
60
76
  - Rakefile
61
77
  - backspin.gemspec
62
78
  - bin/rake
63
79
  - bin/rspec
64
80
  - bin/setup
81
+ - examples/match_on_example.rb
82
+ - fixtures/backspin/all_and_fields.yml
83
+ - fixtures/backspin/all_bypass_equality.yml
84
+ - fixtures/backspin/all_checks_equality.yml
85
+ - fixtures/backspin/all_for_logging.yml
86
+ - fixtures/backspin/all_matcher_basic.yml
87
+ - fixtures/backspin/all_matcher_custom.yml
88
+ - fixtures/backspin/all_matcher_demo.yml
89
+ - fixtures/backspin/all_matcher_test.yml
65
90
  - fixtures/backspin/all_mode_filter.yml
91
+ - fixtures/backspin/all_no_short_circuit.yml
92
+ - fixtures/backspin/all_pass_field_fail.yml
93
+ - fixtures/backspin/all_short_circuit.yml
94
+ - fixtures/backspin/all_skips_equality.yml
95
+ - fixtures/backspin/all_with_equality.yml
96
+ - fixtures/backspin/all_with_fields.yml
97
+ - fixtures/backspin/combined_fail_demo.yml
98
+ - fixtures/backspin/combined_matcher_demo.yml
66
99
  - fixtures/backspin/credential_filter.yml
67
100
  - fixtures/backspin/echo_hello.yml
68
101
  - fixtures/backspin/echo_verify.yml
69
102
  - fixtures/backspin/episodes_filter.yml
70
103
  - fixtures/backspin/failure_test.yml
104
+ - fixtures/backspin/field_matcher_demo.yml
105
+ - fixtures/backspin/field_matcher_values.yml
71
106
  - fixtures/backspin/full_data_filter.yml
107
+ - fixtures/backspin/key_confusion_test.yml
108
+ - fixtures/backspin/match_on_any_fail.yml
109
+ - fixtures/backspin/match_on_bad_format.yml
110
+ - fixtures/backspin/match_on_fail.yml
111
+ - fixtures/backspin/match_on_invalid.yml
112
+ - fixtures/backspin/match_on_multiple.yml
113
+ - fixtures/backspin/match_on_nil.yml
114
+ - fixtures/backspin/match_on_other_fields.yml
115
+ - fixtures/backspin/match_on_run_bang.yml
116
+ - fixtures/backspin/match_on_run_bang_fail.yml
117
+ - fixtures/backspin/match_on_single.yml
72
118
  - fixtures/backspin/mixed_calls.yml
73
119
  - fixtures/backspin/multi_command.yml
74
120
  - fixtures/backspin/multi_command_filter.yml
@@ -80,6 +126,7 @@ files:
80
126
  - fixtures/backspin/playback_system.yml
81
127
  - fixtures/backspin/playback_test.yml
82
128
  - fixtures/backspin/stderr_test.yml
129
+ - fixtures/backspin/string_symbol_test.yml
83
130
  - fixtures/backspin/system_echo.yml
84
131
  - fixtures/backspin/system_false.yml
85
132
  - fixtures/backspin/timestamp_test.yml
@@ -95,6 +142,8 @@ files:
95
142
  - lib/backspin/record_result.rb
96
143
  - lib/backspin/recorder.rb
97
144
  - lib/backspin/version.rb
145
+ - release.rake
146
+ - script/lint
98
147
  homepage: https://github.com/rsanheim/backspin
99
148
  licenses:
100
149
  - MIT