gherkin 2.11.6-x86-mswin32 → 2.11.7-x86-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. data/.travis.yml +0 -1
  2. data/Gemfile +1 -1
  3. data/History.md +13 -0
  4. data/README.md +10 -4
  5. data/examples/parse_and_output_json.rb +2 -2
  6. data/features/.cucumber/stepdefs.json +66 -66
  7. data/features/step_definitions/json_formatter_steps.rb +4 -4
  8. data/features/step_definitions/json_parser_steps.rb +2 -1
  9. data/features/support/env.rb +2 -3
  10. data/gherkin.gemspec +8 -6
  11. data/lib/1.8/gherkin_lexer_ar.so +0 -0
  12. data/lib/1.8/gherkin_lexer_bg.so +0 -0
  13. data/lib/1.8/gherkin_lexer_bm.so +0 -0
  14. data/lib/1.8/gherkin_lexer_ca.so +0 -0
  15. data/lib/1.8/gherkin_lexer_cs.so +0 -0
  16. data/lib/1.8/gherkin_lexer_cy_gb.so +0 -0
  17. data/lib/1.8/gherkin_lexer_da.so +0 -0
  18. data/lib/1.8/gherkin_lexer_de.so +0 -0
  19. data/lib/1.8/gherkin_lexer_el.so +0 -0
  20. data/lib/1.8/gherkin_lexer_en.so +0 -0
  21. data/lib/1.8/gherkin_lexer_en_au.so +0 -0
  22. data/lib/1.8/gherkin_lexer_en_lol.so +0 -0
  23. data/lib/1.8/gherkin_lexer_en_old.so +0 -0
  24. data/lib/1.8/gherkin_lexer_en_pirate.so +0 -0
  25. data/lib/1.8/gherkin_lexer_en_scouse.so +0 -0
  26. data/lib/1.8/gherkin_lexer_en_tx.so +0 -0
  27. data/lib/1.8/gherkin_lexer_eo.so +0 -0
  28. data/lib/1.8/gherkin_lexer_es.so +0 -0
  29. data/lib/1.8/gherkin_lexer_et.so +0 -0
  30. data/lib/1.8/gherkin_lexer_fa.so +0 -0
  31. data/lib/1.8/gherkin_lexer_fi.so +0 -0
  32. data/lib/1.8/gherkin_lexer_fr.so +0 -0
  33. data/lib/1.8/gherkin_lexer_he.so +0 -0
  34. data/lib/1.8/gherkin_lexer_hi.so +0 -0
  35. data/lib/1.8/gherkin_lexer_hr.so +0 -0
  36. data/lib/1.8/gherkin_lexer_hu.so +0 -0
  37. data/lib/1.8/gherkin_lexer_id.so +0 -0
  38. data/lib/1.8/gherkin_lexer_is.so +0 -0
  39. data/lib/1.8/gherkin_lexer_it.so +0 -0
  40. data/lib/1.8/gherkin_lexer_ja.so +0 -0
  41. data/lib/1.8/gherkin_lexer_ko.so +0 -0
  42. data/lib/1.8/gherkin_lexer_lt.so +0 -0
  43. data/lib/1.8/gherkin_lexer_lu.so +0 -0
  44. data/lib/1.8/gherkin_lexer_lv.so +0 -0
  45. data/lib/1.8/gherkin_lexer_nl.so +0 -0
  46. data/lib/1.8/gherkin_lexer_no.so +0 -0
  47. data/lib/1.8/gherkin_lexer_pl.so +0 -0
  48. data/lib/1.8/gherkin_lexer_pt.so +0 -0
  49. data/lib/1.8/gherkin_lexer_ro.so +0 -0
  50. data/lib/1.8/gherkin_lexer_ru.so +0 -0
  51. data/lib/1.8/gherkin_lexer_sk.so +0 -0
  52. data/lib/1.8/gherkin_lexer_sr_cyrl.so +0 -0
  53. data/lib/1.8/gherkin_lexer_sr_latn.so +0 -0
  54. data/lib/1.8/gherkin_lexer_sv.so +0 -0
  55. data/lib/1.8/gherkin_lexer_tl.so +0 -0
  56. data/lib/1.8/gherkin_lexer_tr.so +0 -0
  57. data/lib/1.8/gherkin_lexer_tt.so +0 -0
  58. data/lib/1.8/gherkin_lexer_uk.so +0 -0
  59. data/lib/1.8/gherkin_lexer_uz.so +0 -0
  60. data/lib/1.8/gherkin_lexer_vi.so +0 -0
  61. data/lib/1.8/gherkin_lexer_zh_cn.so +0 -0
  62. data/lib/1.8/gherkin_lexer_zh_tw.so +0 -0
  63. data/lib/1.9/gherkin_lexer_ar.so +0 -0
  64. data/lib/1.9/gherkin_lexer_bg.so +0 -0
  65. data/lib/1.9/gherkin_lexer_bm.so +0 -0
  66. data/lib/1.9/gherkin_lexer_ca.so +0 -0
  67. data/lib/1.9/gherkin_lexer_cs.so +0 -0
  68. data/lib/1.9/gherkin_lexer_cy_gb.so +0 -0
  69. data/lib/1.9/gherkin_lexer_da.so +0 -0
  70. data/lib/1.9/gherkin_lexer_de.so +0 -0
  71. data/lib/1.9/gherkin_lexer_el.so +0 -0
  72. data/lib/1.9/gherkin_lexer_en.so +0 -0
  73. data/lib/1.9/gherkin_lexer_en_au.so +0 -0
  74. data/lib/1.9/gherkin_lexer_en_lol.so +0 -0
  75. data/lib/1.9/gherkin_lexer_en_old.so +0 -0
  76. data/lib/1.9/gherkin_lexer_en_pirate.so +0 -0
  77. data/lib/1.9/gherkin_lexer_en_scouse.so +0 -0
  78. data/lib/1.9/gherkin_lexer_en_tx.so +0 -0
  79. data/lib/1.9/gherkin_lexer_eo.so +0 -0
  80. data/lib/1.9/gherkin_lexer_es.so +0 -0
  81. data/lib/1.9/gherkin_lexer_et.so +0 -0
  82. data/lib/1.9/gherkin_lexer_fa.so +0 -0
  83. data/lib/1.9/gherkin_lexer_fi.so +0 -0
  84. data/lib/1.9/gherkin_lexer_fr.so +0 -0
  85. data/lib/1.9/gherkin_lexer_he.so +0 -0
  86. data/lib/1.9/gherkin_lexer_hi.so +0 -0
  87. data/lib/1.9/gherkin_lexer_hr.so +0 -0
  88. data/lib/1.9/gherkin_lexer_hu.so +0 -0
  89. data/lib/1.9/gherkin_lexer_id.so +0 -0
  90. data/lib/1.9/gherkin_lexer_is.so +0 -0
  91. data/lib/1.9/gherkin_lexer_it.so +0 -0
  92. data/lib/1.9/gherkin_lexer_ja.so +0 -0
  93. data/lib/1.9/gherkin_lexer_ko.so +0 -0
  94. data/lib/1.9/gherkin_lexer_lt.so +0 -0
  95. data/lib/1.9/gherkin_lexer_lu.so +0 -0
  96. data/lib/1.9/gherkin_lexer_lv.so +0 -0
  97. data/lib/1.9/gherkin_lexer_nl.so +0 -0
  98. data/lib/1.9/gherkin_lexer_no.so +0 -0
  99. data/lib/1.9/gherkin_lexer_pl.so +0 -0
  100. data/lib/1.9/gherkin_lexer_pt.so +0 -0
  101. data/lib/1.9/gherkin_lexer_ro.so +0 -0
  102. data/lib/1.9/gherkin_lexer_ru.so +0 -0
  103. data/lib/1.9/gherkin_lexer_sk.so +0 -0
  104. data/lib/1.9/gherkin_lexer_sr_cyrl.so +0 -0
  105. data/lib/1.9/gherkin_lexer_sr_latn.so +0 -0
  106. data/lib/1.9/gherkin_lexer_sv.so +0 -0
  107. data/lib/1.9/gherkin_lexer_tl.so +0 -0
  108. data/lib/1.9/gherkin_lexer_tr.so +0 -0
  109. data/lib/1.9/gherkin_lexer_tt.so +0 -0
  110. data/lib/1.9/gherkin_lexer_uk.so +0 -0
  111. data/lib/1.9/gherkin_lexer_uz.so +0 -0
  112. data/lib/1.9/gherkin_lexer_vi.so +0 -0
  113. data/lib/1.9/gherkin_lexer_zh_cn.so +0 -0
  114. data/lib/1.9/gherkin_lexer_zh_tw.so +0 -0
  115. data/lib/gherkin/formatter/json_formatter.rb +5 -5
  116. data/lib/gherkin/formatter/tag_filter.rb +2 -2
  117. data/lib/gherkin/i18n.json +28 -0
  118. data/lib/gherkin/i18n.rb +6 -6
  119. data/lib/gherkin/json_parser.rb +4 -4
  120. data/lib/gherkin/native/java.rb +2 -2
  121. data/lib/gherkin/parser/parser.rb +1 -0
  122. data/lib/gherkin/platform.rb +12 -0
  123. data/lib/gherkin/tag_expression.rb +7 -1
  124. data/spec/gherkin/formatter/json_formatter_spec.rb +74 -3
  125. data/spec/gherkin/i18n_spec.rb +2 -0
  126. data/spec/gherkin/json_parser_spec.rb +11 -10
  127. data/spec/gherkin/parser/parser_spec.rb +1 -1
  128. data/spec/gherkin/tag_expression_spec.rb +19 -15
  129. data/spec/spec_helper.rb +4 -1
  130. data/tasks/rspec.rake +1 -2
  131. metadata +103 -166
  132. data/lib/gherkin/lexer/tl.rb +0 -1723
  133. data/lib/gherkin/lexer/tt.rb +0 -1640
  134. data/spec/gherkin/output_stream_string_io.rb +0 -20
@@ -1,7 +1,6 @@
1
1
  before_install: gem install bundler -v 1.2.3
2
2
  rvm:
3
3
  - 1.9.3
4
- - 1.9.2
5
4
  - 1.8.7
6
5
  - jruby
7
6
  # whitelist
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
  gemspec
3
3
 
4
4
  # gem 'cucumber', :path => '../cucumber'
data/History.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [2.11.7](https://github.com/cucumber/gherkin/compare/v2.11.6...v2.11.7)
2
+
3
+ * [Java, JRuby] Fix ArrayOutOfBoundException in JSONFormatter ([#239](https://github.com/cucumber/gherkin/issues/239) Joseph Hughes)
4
+ * [Java, Ruby] JSONFormatter outputs prettyfied json (Oleg Sukhodolsky)
5
+ * [Java, JRuby] JSONFormatter.appendDuration(), TagExpression.isEmpty() added to match ruby versions ([#234](https://github.com/cucumber/gherkin/issues/234) Oleg Sukhodolsky)
6
+ * [Core] New: Greek ([#237](https://github.com/cucumber/gherkin/issues/237), [#244](https://github.com/cucumber/gherkin/issues/244) Konstantinos Rousis)
7
+ * [Core] New: Old English (Englisc) added ([#240](https://github.com/cucumber/gherkin/issues/240), [#241](https://github.com/cucumber/gherkin/issues/241) Sean Miller)
8
+ * [JRuby] fixed problem with passing StringIO to PrettyFormatter (Oleg Sukhodolsky)
9
+ * [Ruby] MultiJson is used insted of JSon ([#235](https://github.com/cucumber/gherkin/issues/235) Erik Michaels-Ober)
10
+ * [Ruby] TagExpression.eval() deprecated, TagExpression.evaluate() added to replace it. ([#238](https://github.com/cucumber/gherkin/issues/238) Oleg Sukhodolsky)
11
+ * [Ruby] File name is displayed on parse error ([#247](https://github.com/cucumber/gherkin/issues/247), [#248](https://github.com/cucumber/gherkin/issues/248) @lukaso)
12
+ * [Java, JRuby] Fix IndexOutOfBound exception in PrettyFormatter ([#175](https://github.com/cucumber/gherkin/issues/175), [#242](https://github.com/cucumber/gherkin/issues/242) Matheus Neves, Oleg Sukhodolsky)
13
+
1
14
  ## [2.11.6](https://github.com/cucumber/gherkin/compare/v2.11.5...v2.11.6)
2
15
 
3
16
  * [JavaScript] Add duration value to json formatter ([#204](https://github.com/cucumber/gherkin/pull/204) Rick Beyer)
data/README.md CHANGED
@@ -54,7 +54,7 @@ The jar file is in the central Maven repo.
54
54
  <dependency>
55
55
  <groupId>info.cukes</groupId>
56
56
  <artifactId>gherkin</artifactId>
57
- <version>2.11.6</version>
57
+ <version>2.11.7</version>
58
58
  </dependency>
59
59
 
60
60
  You can get it manually from [Maven Central](http://search.maven.org/#browse%7C-2073395818)
@@ -128,6 +128,7 @@ In order to build and test Gherkin for JavaScript you must install:
128
128
 
129
129
  * Node.js (0.6.17 or higher with npm)
130
130
  * Ragel with JavaScript support: http://github.com/dominicmarks/ragel-js
131
+ * Make sure you have gcc/g++ 4.6 (4.7 is to strict to build ragel-js)
131
132
  * Make sure you have `autoconf` and `automake` (`brew install automake`)
132
133
  * Make sure you have the official ragel (`brew install ragel`)
133
134
  * Make sure you have kelbt (`brew install kelbt`). If that fails, install manually from http://www.complang.org/kelbt/
@@ -135,9 +136,13 @@ In order to build and test Gherkin for JavaScript you must install:
135
136
  * `make && make install`
136
137
  * Define the GHERKIN_JS environment variable in your shell (any value will do)
137
138
 
139
+ Update gems (to install gems which are needed only for js support):
140
+
141
+ bundle update
142
+
138
143
  Now you can build the JavaScript with:
139
144
 
140
- rake js
145
+ bundle exec rake js
141
146
 
142
147
  And you can try it out with node.js:
143
148
 
@@ -171,6 +176,7 @@ You must also download NuGet.exe from [CodePlex](http://nuget.codeplex.com/relea
171
176
 
172
177
  # The key is at https://nuget.org/account
173
178
  mono --runtime=v4.0.30319 /usr/local/nuget/NuGet.exe SetApiKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
179
+ (Note: you may need to run 'mozroots --import --sync' to help mono trusts https setificate, see http://monomvc.wordpress.com/2012/03/06/nuget-on-mono/ for more information)
174
180
 
175
181
  Now you can build the .NET dll with:
176
182
 
@@ -251,7 +257,7 @@ Now we can release:
251
257
  * Make sure GHERKIN_JS is defined (see JavaScript section above)
252
258
  * Bump version in:
253
259
  * This file (Installation/Java section)
254
- * gherkin.gemspec
260
+ * lib/gherkin/platform.rb
255
261
  * java/pom.xml
256
262
  * js/package.json
257
263
  * History.md
@@ -260,7 +266,7 @@ Now we can release:
260
266
  * Run `i686-w64-mingw32-gcc -v && bundle exec rake gems:prepare && ./build_native_gems.sh && bundle exec rake release:ALL`
261
267
 
262
268
  ## Note on Patches/Pull Requests
263
-
269
+
264
270
  * Fork the project.
265
271
  * Run `bundle install` to install dependencies.
266
272
  * Run `rake` to make sure all the tests are passing.
@@ -1,7 +1,7 @@
1
1
  require 'gherkin/parser/parser'
2
2
  require 'gherkin/formatter/json_formatter'
3
3
  require 'stringio'
4
- require 'json'
4
+ require 'multi_json'
5
5
 
6
6
  # This example reads a couple of features and outputs them as JSON.
7
7
 
@@ -16,4 +16,4 @@ sources.each do |s|
16
16
  end
17
17
 
18
18
  formatter.done
19
- puts JSON.pretty_generate(JSON.parse(io.string))
19
+ puts MultiJson.dump(MultiJson.load(io.string), :pretty => true)
@@ -1,243 +1,243 @@
1
1
  [
2
2
  {
3
- "file_colon_line": "features/step_definitions/eyeball_steps.rb:1",
4
- "flags": "",
5
3
  "source": "^they have arrived$",
4
+ "flags": "",
5
+ "file_colon_line": "features/step_definitions/eyeball_steps.rb:1",
6
6
  "steps": [
7
7
  {
8
+ "name": "they have arrived",
8
9
  "args": [
9
10
 
10
- ],
11
- "name": "they have arrived"
11
+ ]
12
12
  }
13
13
  ]
14
14
  },
15
15
  {
16
- "file_colon_line": "features/step_definitions/gherkin_steps.rb:1",
17
- "flags": "",
18
16
  "source": "^a \"(ruby|native)\" \"([^\\\"]*)\" parser$",
17
+ "flags": "",
18
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:1",
19
19
  "steps": [
20
20
 
21
21
  ]
22
22
  },
23
23
  {
24
- "file_colon_line": "features/step_definitions/gherkin_steps.rb:5",
25
- "flags": "",
26
24
  "source": "^the\\ following\\ text\\ is\\ parsed:$",
25
+ "flags": "",
26
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:5",
27
27
  "steps": [
28
28
  {
29
+ "name": "the following text is parsed:",
29
30
  "args": [
30
31
 
31
- ],
32
- "name": "the following text is parsed:"
32
+ ]
33
33
  }
34
34
  ]
35
35
  },
36
36
  {
37
- "file_colon_line": "features/step_definitions/gherkin_steps.rb:9",
38
- "flags": "",
39
37
  "source": "^there\\ should\\ be\\ no\\ parse\\ errors$",
38
+ "flags": "",
39
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:9",
40
40
  "steps": [
41
41
  {
42
+ "name": "there should be no parse errors",
42
43
  "args": [
43
44
 
44
- ],
45
- "name": "there should be no parse errors"
45
+ ]
46
46
  }
47
47
  ]
48
48
  },
49
49
  {
50
- "file_colon_line": "features/step_definitions/gherkin_steps.rb:13",
51
- "flags": "",
52
50
  "source": "^there should be a parse error on (line \\d+)$",
51
+ "flags": "",
52
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:13",
53
53
  "steps": [
54
54
  {
55
+ "name": "there should be a parse error on line 1",
55
56
  "args": [
56
57
  {
57
58
  "offset": 33,
58
59
  "val": "line 1"
59
60
  }
60
- ],
61
- "name": "there should be a parse error on line 1"
61
+ ]
62
62
  }
63
63
  ]
64
64
  },
65
65
  {
66
- "file_colon_line": "features/step_definitions/gherkin_steps.rb:17",
67
- "flags": "",
68
66
  "source": "^there should be parse errors on (lines .*)$",
67
+ "flags": "",
68
+ "file_colon_line": "features/step_definitions/gherkin_steps.rb:17",
69
69
  "steps": [
70
70
  {
71
+ "name": "there should be parse errors on lines 1 and 2",
71
72
  "args": [
72
73
  {
73
74
  "offset": 32,
74
75
  "val": "lines 1 and 2"
75
76
  }
76
- ],
77
- "name": "there should be parse errors on lines 1 and 2"
77
+ ]
78
78
  },
79
79
  {
80
+ "name": "there should be parse errors on lines 1 through 3",
80
81
  "args": [
81
82
  {
82
83
  "offset": 32,
83
84
  "val": "lines 1 through 3"
84
85
  }
85
- ],
86
- "name": "there should be parse errors on lines 1 through 3"
86
+ ]
87
87
  },
88
88
  {
89
+ "name": "there should be parse errors on lines 10 and 17",
89
90
  "args": [
90
91
  {
91
92
  "offset": 32,
92
93
  "val": "lines 10 and 17"
93
94
  }
94
- ],
95
- "name": "there should be parse errors on lines 10 and 17"
95
+ ]
96
96
  },
97
97
  {
98
+ "name": "there should be parse errors on lines 3 and 5",
98
99
  "args": [
99
100
  {
100
101
  "offset": 32,
101
102
  "val": "lines 3 and 5"
102
103
  }
103
- ],
104
- "name": "there should be parse errors on lines 3 and 5"
104
+ ]
105
105
  },
106
106
  {
107
+ "name": "there should be parse errors on lines 5, 10 and 12",
107
108
  "args": [
108
109
  {
109
110
  "offset": 32,
110
111
  "val": "lines 5, 10 and 12"
111
112
  }
112
- ],
113
- "name": "there should be parse errors on lines 5, 10 and 12"
113
+ ]
114
114
  }
115
115
  ]
116
116
  },
117
117
  {
118
- "file_colon_line": "features/step_definitions/json_formatter_steps.rb:13",
119
- "flags": "",
120
118
  "source": "^a JSON formatter$",
119
+ "flags": "",
120
+ "file_colon_line": "features/step_definitions/json_formatter_steps.rb:13",
121
121
  "steps": [
122
122
 
123
123
  ]
124
124
  },
125
125
  {
126
- "file_colon_line": "features/step_definitions/json_formatter_steps.rb:18",
127
- "flags": "",
128
126
  "source": "^the outputted JSON should be:$",
127
+ "flags": "",
128
+ "file_colon_line": "features/step_definitions/json_formatter_steps.rb:18",
129
129
  "steps": [
130
130
  {
131
+ "name": "the outputted JSON should be:",
131
132
  "args": [
132
133
 
133
- ],
134
- "name": "the outputted JSON should be:"
134
+ ]
135
135
  }
136
136
  ]
137
137
  },
138
138
  {
139
- "file_colon_line": "features/step_definitions/json_parser_steps.rb:5",
140
- "flags": "",
141
139
  "source": "^a PrettyFormatter$",
140
+ "flags": "",
141
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:6",
142
142
  "steps": [
143
143
 
144
144
  ]
145
145
  },
146
146
  {
147
- "file_colon_line": "features/step_definitions/json_parser_steps.rb:10",
148
- "flags": "",
149
147
  "source": "^a JSON lexer$",
148
+ "flags": "",
149
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:11",
150
150
  "steps": [
151
151
 
152
152
  ]
153
153
  },
154
154
  {
155
- "file_colon_line": "features/step_definitions/json_parser_steps.rb:14",
156
- "flags": "",
157
155
  "source": "^the following JSON is parsed:$",
156
+ "flags": "",
157
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:15",
158
158
  "steps": [
159
159
  {
160
+ "name": "the following JSON is parsed:",
160
161
  "args": [
161
162
 
162
- ],
163
- "name": "the following JSON is parsed:"
163
+ ]
164
164
  }
165
165
  ]
166
166
  },
167
167
  {
168
- "file_colon_line": "features/step_definitions/json_parser_steps.rb:18",
169
- "flags": "",
170
168
  "source": "^the outputted text should be:$",
169
+ "flags": "",
170
+ "file_colon_line": "features/step_definitions/json_parser_steps.rb:19",
171
171
  "steps": [
172
172
  {
173
+ "name": "the outputted text should be:",
173
174
  "args": [
174
175
 
175
- ],
176
- "name": "the outputted text should be:"
176
+ ]
177
177
  }
178
178
  ]
179
179
  },
180
180
  {
181
- "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:50",
182
- "flags": "",
183
181
  "source": "^I have Cucumber's source code next to Gherkin's$",
182
+ "flags": "",
183
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:50",
184
184
  "steps": [
185
185
  {
186
+ "name": "I have Cucumber's source code next to Gherkin's",
186
187
  "args": [
187
188
 
188
- ],
189
- "name": "I have Cucumber's source code next to Gherkin's"
189
+ ]
190
190
  }
191
191
  ]
192
192
  },
193
193
  {
194
- "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:55",
195
- "flags": "",
196
194
  "source": "^I find all of the \\.feature files$",
195
+ "flags": "",
196
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:55",
197
197
  "steps": [
198
198
  {
199
+ "name": "I find all of the .feature files",
199
200
  "args": [
200
201
 
201
- ],
202
- "name": "I find all of the .feature files"
202
+ ]
203
203
  }
204
204
  ]
205
205
  },
206
206
  {
207
- "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:59",
208
- "flags": "",
209
207
  "source": "^I send each prettified original through the \"([^\"]*)\" machinery$",
208
+ "flags": "",
209
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:59",
210
210
  "steps": [
211
211
  {
212
+ "name": "I send each prettified original through the \"json\" machinery",
212
213
  "args": [
213
214
  {
214
215
  "offset": 45,
215
216
  "val": "json"
216
217
  }
217
- ],
218
- "name": "I send each prettified original through the \"json\" machinery"
218
+ ]
219
219
  },
220
220
  {
221
+ "name": "I send each prettified original through the \"pretty\" machinery",
221
222
  "args": [
222
223
  {
223
224
  "offset": 45,
224
225
  "val": "pretty"
225
226
  }
226
- ],
227
- "name": "I send each prettified original through the \"pretty\" machinery"
227
+ ]
228
228
  }
229
229
  ]
230
230
  },
231
231
  {
232
- "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:83",
233
- "flags": "",
234
232
  "source": "^the machinery output should be identical to the prettified original$",
233
+ "flags": "",
234
+ "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:83",
235
235
  "steps": [
236
236
  {
237
+ "name": "the machinery output should be identical to the prettified original",
237
238
  "args": [
238
239
 
239
- ],
240
- "name": "the machinery output should be identical to the prettified original"
240
+ ]
241
241
  }
242
242
  ]
243
243
  }
@@ -16,13 +16,13 @@ Given /^a JSON formatter$/ do
16
16
  end
17
17
 
18
18
  Then /^the outputted JSON should be:$/ do |expected_json|
19
- require 'json'
19
+ require 'multi_json'
20
20
  @formatter.done
21
21
  actual_json = @out.string
22
22
  puts actual_json
23
- puts JSON.pretty_generate(JSON.parse(actual_json))
24
- expected = JSON.parse(expected_json)
25
- actual = JSON.parse(actual_json)
23
+ puts MultiJson.dump(MultiJson.load(actual_json), :pretty => true)
24
+ expected = MultiJson.load(expected_json)
25
+ actual = MultiJson.load(actual_json)
26
26
  actual.should == expected
27
27
  end
28
28
 
@@ -1,6 +1,7 @@
1
1
  require 'stringio'
2
2
  require 'gherkin/formatter/pretty_formatter'
3
3
  require 'gherkin/json_parser'
4
+ require 'multi_json'
4
5
 
5
6
  Given /^a PrettyFormatter$/ do
6
7
  @io = StringIO.new
@@ -12,7 +13,7 @@ Given /^a JSON lexer$/ do
12
13
  end
13
14
 
14
15
  Given /^the following JSON is parsed:$/ do |text|
15
- @json_parser.parse(JSON.pretty_generate(JSON.parse(text)))
16
+ @json_parser.parse(MultiJson.dump(MultiJson.load(text), :pretty => true))
16
17
  end
17
18
 
18
19
  Then /^the outputted text should be:$/ do |expected_text|