Sha256: da8db313e9b37ec3422873d43ef716737a47f4aab1cba6e87a7c93dde555dadd

Contents?: true

Size: 877 Bytes

Versions: 9

Compression:

Stored size: 877 Bytes

Contents

require 'json'
require 'cucumber/messages'
require 'cucumber-compatibility-kit'

module Cucumber
  module Messages
    describe 'messages acdeptance tests' do
      ndjson_files = Dir["#{Cucumber::CompatibilityKit::examples_path}/**/*.ndjson"]

      it 'must have ndjson_files as reference messages' do
        expect(ndjson_files).not_to be_empty
      end

      ndjson_files.each do |ndjson_file|
        it "deserialises and serialises messages in #{ndjson_file}" do
          File.open(ndjson_file, 'r:utf-8') do |io|
            io.each_line do |json|
              check(json)
            end
          end
        end
      end

      def check(json)
        hash = JSON.parse(json)
        envelope = Envelope.from_json(json)
        new_json = envelope.to_json
        new_hash = JSON.parse(new_json)
        expect(new_hash).to eq(hash)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
honeybadger-5.4.0 vendor/bundle/ruby/3.2.0/gems/cucumber-messages-22.0.0/spec/cucumber/messages/acceptance_spec.rb
cucumber-messages-23.0.0 spec/cucumber/messages/acceptance_spec.rb
honeybadger-5.3.0 vendor/bundle/ruby/3.2.0/gems/cucumber-messages-21.0.1/spec/cucumber/messages/acceptance_spec.rb
cucumber-messages-22.0.0 spec/cucumber/messages/acceptance_spec.rb
cucumber-messages-21.0.1 spec/cucumber/messages/acceptance_spec.rb
cucumber-messages-21.0.0 spec/cucumber/messages/acceptance_spec.rb
cucumber-messages-20.0.0 spec/cucumber/messages/acceptance_spec.rb
cucumber-messages-19.1.4 spec/cucumber/messages/acceptance_spec.rb
cucumber-messages-19.1.3 spec/cucumber/messages/acceptance_spec.rb