jsontest 1.0.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 (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/.travis.yml +21 -0
  4. data/CHANGELOG.md +8 -0
  5. data/Gemfile +8 -0
  6. data/LICENSE.txt +20 -0
  7. data/README.md +343 -0
  8. data/Rakefile +18 -0
  9. data/features/equivalence.feature +286 -0
  10. data/features/files.feature +89 -0
  11. data/features/inclusion.feature +154 -0
  12. data/features/memory.feature +221 -0
  13. data/features/paths.feature +74 -0
  14. data/features/sizes.feature +38 -0
  15. data/features/step_definitions/steps.rb +7 -0
  16. data/features/support/env.rb +9 -0
  17. data/features/types.feature +24 -0
  18. data/gemfiles/rspec2.gemfile +10 -0
  19. data/gemfiles/rspec3.gemfile +10 -0
  20. data/jsontest.gemspec +22 -0
  21. data/lib/jsontest.rb +14 -0
  22. data/lib/jsontest/configuration.rb +30 -0
  23. data/lib/jsontest/cucumber.rb +95 -0
  24. data/lib/jsontest/errors.rb +46 -0
  25. data/lib/jsontest/exclusion.rb +26 -0
  26. data/lib/jsontest/helpers.rb +62 -0
  27. data/lib/jsontest/matchers.rb +33 -0
  28. data/lib/jsontest/matchers/be_json_eql.rb +66 -0
  29. data/lib/jsontest/matchers/have_json_path.rb +32 -0
  30. data/lib/jsontest/matchers/have_json_size.rb +39 -0
  31. data/lib/jsontest/matchers/have_json_type.rb +52 -0
  32. data/lib/jsontest/matchers/include_json.rb +63 -0
  33. data/lib/jsontest/memory.rb +19 -0
  34. data/lib/jsontest/messages.rb +8 -0
  35. data/spec/jsontest/configuration_spec.rb +62 -0
  36. data/spec/jsontest/helpers_spec.rb +111 -0
  37. data/spec/jsontest/matchers/be_json_eql_spec.rb +111 -0
  38. data/spec/jsontest/matchers/have_json_path_spec.rb +29 -0
  39. data/spec/jsontest/matchers/have_json_size_spec.rb +61 -0
  40. data/spec/jsontest/matchers/have_json_type_spec.rb +92 -0
  41. data/spec/jsontest/matchers/include_json_spec.rb +96 -0
  42. data/spec/jsontest/matchers_spec.rb +77 -0
  43. data/spec/jsontest/memory_spec.rb +32 -0
  44. data/spec/spec_helper.rb +23 -0
  45. data/spec/support/files/one.json +1 -0
  46. data/spec/support/files/project/one.json +1 -0
  47. data/spec/support/files/project/two.json +18 -0
  48. data/spec/support/files/project/version/one.json +1 -0
  49. data/spec/support/files/project/version/two.json +3 -0
  50. data/spec/support/files/two.json +24 -0
  51. metadata +182 -0
@@ -0,0 +1,32 @@
1
+ require "spec_helper"
2
+
3
+ describe JsonTest::Memory do
4
+ it "has a memory" do
5
+ JsonTest.memory.should == {}
6
+ end
7
+
8
+ it "memorizes strings" do
9
+ JsonTest.memorize(:key, "value")
10
+ JsonTest.memory.should == { key: "value" }
11
+ end
12
+
13
+ it "symbolizes keys" do
14
+ JsonTest.memorize("key", "value")
15
+ JsonTest.memory.should == { key: "value" }
16
+ end
17
+
18
+ it "regurgitates unremembered strings" do
19
+ JsonTest.remember("foo%{bar}").should == "foo%{bar}"
20
+ end
21
+
22
+ it "remembers strings" do
23
+ JsonTest.memorize(:bar, "baz")
24
+ JsonTest.remember("foo%{bar}").should == "foobaz"
25
+ end
26
+
27
+ it "forgets" do
28
+ JsonTest.memorize(:key, "value")
29
+ JsonTest.forget
30
+ JsonTest.memory.should == {}
31
+ end
32
+ end
@@ -0,0 +1,23 @@
1
+ if ENV["CODECLIMATE_REPO_TOKEN"]
2
+ require "simplecov"
3
+ SimpleCov.start
4
+ end
5
+
6
+ require "jsontest"
7
+
8
+ RSpec.configure do |config|
9
+ config.before do
10
+ JsonTest.reset
11
+ end
12
+
13
+ config.expect_with :rspec do |c|
14
+ c.syntax = [:should, :expect]
15
+ end
16
+ config.mock_with :rspec do |c|
17
+ c.syntax = [:should, :expect]
18
+ end
19
+ end
20
+
21
+ def files_path
22
+ File.expand_path("../support/files", __FILE__)
23
+ end
@@ -0,0 +1 @@
1
+ {"value":"from_file"}
@@ -0,0 +1 @@
1
+ {"nested":"inside_folder"}
@@ -0,0 +1,18 @@
1
+ {
2
+ "id": null,
3
+ "one": [
4
+ 1
5
+ ],
6
+ "three": [
7
+ 1,
8
+ 2,
9
+ 3
10
+ ],
11
+ "two": [
12
+ 1,
13
+ 2
14
+ ],
15
+ "zero": [
16
+
17
+ ]
18
+ }
@@ -0,0 +1 @@
1
+ {"nested":"deeply"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "json": "spec"
3
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "array": [
3
+ "json",
4
+ "spec"
5
+ ],
6
+ "created_at": "2011-07-08 02:27:34",
7
+ "empty_array": [
8
+
9
+ ],
10
+ "empty_hash": {
11
+ },
12
+ "false": false,
13
+ "float": 10.0,
14
+ "hash": {
15
+ "json": "spec"
16
+ },
17
+ "id": 1,
18
+ "integer": 10,
19
+ "negative": -10,
20
+ "null": null,
21
+ "string": "jsontest",
22
+ "true": true,
23
+ "updated_at": "2011-07-08 02:28:50"
24
+ }
metadata ADDED
@@ -0,0 +1,182 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jsontest
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Steve Richert
8
+ - Michiel Boekhoff
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-10-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: multi_json
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rspec
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '2.0'
35
+ - - "<"
36
+ - !ruby/object:Gem::Version
37
+ version: '4.0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '2.0'
45
+ - - "<"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '10.0'
76
+ description: RSpec matchers and Cucumber steps for testing JSON content
77
+ email:
78
+ - steve.richert@gmail.com
79
+ - michielalexanderb@gmail.com
80
+ executables: []
81
+ extensions: []
82
+ extra_rdoc_files: []
83
+ files:
84
+ - ".gitignore"
85
+ - ".travis.yml"
86
+ - CHANGELOG.md
87
+ - Gemfile
88
+ - LICENSE.txt
89
+ - README.md
90
+ - Rakefile
91
+ - features/equivalence.feature
92
+ - features/files.feature
93
+ - features/inclusion.feature
94
+ - features/memory.feature
95
+ - features/paths.feature
96
+ - features/sizes.feature
97
+ - features/step_definitions/steps.rb
98
+ - features/support/env.rb
99
+ - features/types.feature
100
+ - gemfiles/rspec2.gemfile
101
+ - gemfiles/rspec3.gemfile
102
+ - jsontest.gemspec
103
+ - lib/jsontest.rb
104
+ - lib/jsontest/configuration.rb
105
+ - lib/jsontest/cucumber.rb
106
+ - lib/jsontest/errors.rb
107
+ - lib/jsontest/exclusion.rb
108
+ - lib/jsontest/helpers.rb
109
+ - lib/jsontest/matchers.rb
110
+ - lib/jsontest/matchers/be_json_eql.rb
111
+ - lib/jsontest/matchers/have_json_path.rb
112
+ - lib/jsontest/matchers/have_json_size.rb
113
+ - lib/jsontest/matchers/have_json_type.rb
114
+ - lib/jsontest/matchers/include_json.rb
115
+ - lib/jsontest/memory.rb
116
+ - lib/jsontest/messages.rb
117
+ - spec/jsontest/configuration_spec.rb
118
+ - spec/jsontest/helpers_spec.rb
119
+ - spec/jsontest/matchers/be_json_eql_spec.rb
120
+ - spec/jsontest/matchers/have_json_path_spec.rb
121
+ - spec/jsontest/matchers/have_json_size_spec.rb
122
+ - spec/jsontest/matchers/have_json_type_spec.rb
123
+ - spec/jsontest/matchers/include_json_spec.rb
124
+ - spec/jsontest/matchers_spec.rb
125
+ - spec/jsontest/memory_spec.rb
126
+ - spec/spec_helper.rb
127
+ - spec/support/files/one.json
128
+ - spec/support/files/project/one.json
129
+ - spec/support/files/project/two.json
130
+ - spec/support/files/project/version/one.json
131
+ - spec/support/files/project/version/two.json
132
+ - spec/support/files/two.json
133
+ homepage: https://github.com/michielboekhoff/jsontest
134
+ licenses:
135
+ - MIT
136
+ metadata: {}
137
+ post_install_message:
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ requirements: []
152
+ rubyforge_project:
153
+ rubygems_version: 2.7.7
154
+ signing_key:
155
+ specification_version: 4
156
+ summary: Easily test JSON in RSpec and Cucumber
157
+ test_files:
158
+ - features/equivalence.feature
159
+ - features/files.feature
160
+ - features/inclusion.feature
161
+ - features/memory.feature
162
+ - features/paths.feature
163
+ - features/sizes.feature
164
+ - features/step_definitions/steps.rb
165
+ - features/support/env.rb
166
+ - features/types.feature
167
+ - spec/jsontest/configuration_spec.rb
168
+ - spec/jsontest/helpers_spec.rb
169
+ - spec/jsontest/matchers/be_json_eql_spec.rb
170
+ - spec/jsontest/matchers/have_json_path_spec.rb
171
+ - spec/jsontest/matchers/have_json_size_spec.rb
172
+ - spec/jsontest/matchers/have_json_type_spec.rb
173
+ - spec/jsontest/matchers/include_json_spec.rb
174
+ - spec/jsontest/matchers_spec.rb
175
+ - spec/jsontest/memory_spec.rb
176
+ - spec/spec_helper.rb
177
+ - spec/support/files/one.json
178
+ - spec/support/files/project/one.json
179
+ - spec/support/files/project/two.json
180
+ - spec/support/files/project/version/one.json
181
+ - spec/support/files/project/version/two.json
182
+ - spec/support/files/two.json