Sha256: 5b78f6a9a87cf9fc585fcf6076432b1e4e204f041adb6af5a656147b33f7767d

Contents?: true

Size: 866 Bytes

Versions: 15

Compression:

Stored size: 866 Bytes

Contents

require 'stringio'
require 'gherkin/formatter/json_formatter'
require 'gherkin/parser/formatter_listener'

# Monkey patching so that Hash.to_json has a predictable result.
class Hash
  alias orig_keys keys
  def keys
    orig_keys.sort
  end
end

Given /^a JSON formatter$/ do
  @io = StringIO.new
  @listener = Gherkin::Parser::FormatterListener.new(Gherkin::Formatter::JSONFormatter.new(@io))
end

Then /^the outputted JSON should be:$/ do |expected_json|
  require 'json'
  expected = JSON.pretty_generate(JSON.parse(expected_json))
  actual   = JSON.pretty_generate(JSON.parse(@io.string))
  begin
    actual.should == expected
  rescue # Haven't figured out how to order Hash on JRuby (JSON pure). Retry with possibly worse error message.
    expected = JSON.parse(expected_json)
    actual   = JSON.parse(@io.string)
    actual.should == expected
  end
end



Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
gherkin-2.0.2 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.2-i386-mswin32 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.2-i386-mingw32 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.2-universal-dotnet features/step_definitions/json_formatter_steps.rb
gherkin-2.0.2-java features/step_definitions/json_formatter_steps.rb
gherkin-2.0.1 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.1-i386-mswin32 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.1-i386-mingw32 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.1-universal-dotnet features/step_definitions/json_formatter_steps.rb
gherkin-2.0.1-java features/step_definitions/json_formatter_steps.rb
gherkin-2.0.0 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.0-i386-mswin32 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.0-i386-mingw32 features/step_definitions/json_formatter_steps.rb
gherkin-2.0.0-universal-dotnet features/step_definitions/json_formatter_steps.rb
gherkin-2.0.0-java features/step_definitions/json_formatter_steps.rb