cucumber-compatibility-kit 9.1.0 → 9.1.1
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.
- checksums.yaml +4 -4
 - data/lib/keys_checker.rb +5 -1
 - data/lib/messages_comparator.rb +1 -0
 - data/spec/keys_checker_spec.rb +29 -0
 - data/spec/messages_comparator_spec.rb +26 -0
 - metadata +4 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: afa658b4a280cda50327bf09b20bee6d72b6199c1009164e3a355dc2f853753b
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: bb15dfd4c0b129db899feab720eefd10d942e17367fdcfda95c7b67233ed4e34
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 78f2b8199eaa1e82c44f896043edcda109ebc3c348bac08ae4cf833e0068bfdc8e4ef860d171062fb96d05c71523c16bcad35cfb064dcb45a4c64ab141c4add6
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 170a260c3abd88bd526f95adb3c9ee484842ae688297c2d88054aecf0887032d07f336b28c420e9c4a845d75604857ea1233a32a8ee4da26833f3632b15c96b6
         
     | 
    
        data/lib/keys_checker.rb
    CHANGED
    
    | 
         @@ -14,11 +14,15 @@ module CCK 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                  missing_keys = (expected_keys - found_keys)
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
                  extra_keys = (found_keys - expected_keys)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  extra_keys = (found_keys - expected_keys).reject { |key|
         
     | 
| 
      
 18 
     | 
    
         
            +
                    ENV['CI'] && found.class == Cucumber::Messages::Meta && key == :ci
         
     | 
| 
      
 19 
     | 
    
         
            +
                  }
         
     | 
| 
       18 
20 
     | 
    
         | 
| 
       19 
21 
     | 
    
         
             
                  errors << "Found extra keys in message #{found.class.name}: #{extra_keys}" unless extra_keys.empty?
         
     | 
| 
       20 
22 
     | 
    
         
             
                  errors << "Missing keys in message #{found.class.name}: #{missing_keys}" unless missing_keys.empty?
         
     | 
| 
       21 
23 
     | 
    
         
             
                  errors
         
     | 
| 
      
 24 
     | 
    
         
            +
                rescue StandardError => e
         
     | 
| 
      
 25 
     | 
    
         
            +
                  ["Unexpected error: #{e.message}"]
         
     | 
| 
       22 
26 
     | 
    
         
             
                end
         
     | 
| 
       23 
27 
     | 
    
         
             
              end
         
     | 
| 
       24 
28 
     | 
    
         
             
            end
         
     | 
    
        data/lib/messages_comparator.rb
    CHANGED
    
    | 
         @@ -62,6 +62,7 @@ module CCK 
     | 
|
| 
       62 
62 
     | 
    
         
             
                  return if found.is_a?(Cucumber::Messages::Pickle)
         
     | 
| 
       63 
63 
     | 
    
         
             
                  return if found.is_a?(Cucumber::Messages::Timestamp) && expected.is_a?(Cucumber::Messages::Timestamp)
         
     | 
| 
       64 
64 
     | 
    
         
             
                  return if found.is_a?(Cucumber::Messages::Duration) && expected.is_a?(Cucumber::Messages::Duration)
         
     | 
| 
      
 65 
     | 
    
         
            +
                  return if ENV['CI'] && found.is_a?(Cucumber::Messages::Ci) && expected.nil?
         
     | 
| 
       65 
66 
     | 
    
         | 
| 
       66 
67 
     | 
    
         
             
                  @compared << found.class.name
         
     | 
| 
       67 
68 
     | 
    
         
             
                  @all_errors << @validator.compare(found, expected)
         
     | 
    
        data/spec/keys_checker_spec.rb
    CHANGED
    
    | 
         @@ -73,5 +73,34 @@ describe CCK::KeysChecker do 
     | 
|
| 
       73 
73 
     | 
    
         
             
                    expect(subject.compare(default_set, default_not_set)).to be_empty
         
     | 
| 
       74 
74 
     | 
    
         
             
                  end
         
     | 
| 
       75 
75 
     | 
    
         
             
                end
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
                context 'when executed as part of a CI' do
         
     | 
| 
      
 78 
     | 
    
         
            +
                  before do
         
     | 
| 
      
 79 
     | 
    
         
            +
                    allow(ENV).to receive(:[]).with('CI').and_return(true)
         
     | 
| 
      
 80 
     | 
    
         
            +
                  end
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                  it 'ignores actual CI related messages' do
         
     | 
| 
      
 83 
     | 
    
         
            +
                    found = Cucumber::Messages::Meta.new(
         
     | 
| 
      
 84 
     | 
    
         
            +
                      ci: Cucumber::Messages::Ci.new(name: 'Some CI')
         
     | 
| 
      
 85 
     | 
    
         
            +
                    )
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
                    expected = Cucumber::Messages::Meta.new
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
                    expect(subject.compare(found, expected)).to be_empty
         
     | 
| 
      
 90 
     | 
    
         
            +
                  end
         
     | 
| 
      
 91 
     | 
    
         
            +
                end
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
                context 'when an unexcpected error occurs' do
         
     | 
| 
      
 94 
     | 
    
         
            +
                  it 'does not raise error' do
         
     | 
| 
      
 95 
     | 
    
         
            +
                    expect {
         
     | 
| 
      
 96 
     | 
    
         
            +
                      subject.compare(nil, nil)
         
     | 
| 
      
 97 
     | 
    
         
            +
                    }.not_to raise_error
         
     | 
| 
      
 98 
     | 
    
         
            +
                  end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                  it 'returns the error' do
         
     | 
| 
      
 101 
     | 
    
         
            +
                    expect(subject.compare(nil, nil))
         
     | 
| 
      
 102 
     | 
    
         
            +
                      .to eq(['Unexpected error: wrong number of arguments (given 1, expected 0)'])
         
     | 
| 
      
 103 
     | 
    
         
            +
                  end
         
     | 
| 
      
 104 
     | 
    
         
            +
                end
         
     | 
| 
       76 
105 
     | 
    
         
             
              end
         
     | 
| 
       77 
106 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rspec'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'cucumber/messages'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require_relative '../lib/messages_comparator'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            describe CCK::MessagesComparator do
         
     | 
| 
      
 6 
     | 
    
         
            +
              subject() { CCK::MessagesComparator }
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              context 'when executed as part of a CI' do
         
     | 
| 
      
 9 
     | 
    
         
            +
                before do
         
     | 
| 
      
 10 
     | 
    
         
            +
                  allow(ENV).to receive(:[]).with('CI').and_return(true)
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                it 'ignores actual CI related messages' do
         
     | 
| 
      
 14 
     | 
    
         
            +
                  found_message_ci = Cucumber::Messages::Ci.new(name: 'Some CI')
         
     | 
| 
      
 15 
     | 
    
         
            +
                  found_message_meta = Cucumber::Messages::Meta.new(ci: found_message_ci)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  found_message_envelope = Cucumber::Messages::Envelope.new(meta: found_message_meta)
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  expected_message_meta = Cucumber::Messages::Meta.new()
         
     | 
| 
      
 19 
     | 
    
         
            +
                  expected_message_envelope = Cucumber::Messages::Envelope.new(meta: expected_message_meta)
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  comparator = subject.new(CCK::KeysChecker, [found_message_envelope], [expected_message_envelope])
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                  expect(comparator.errors).to be_empty
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: cucumber-compatibility-kit
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 9.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 9.1.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Aurélien Reeves
         
     | 
| 
         @@ -130,6 +130,7 @@ files: 
     | 
|
| 
       130 
130 
     | 
    
         
             
            - spec/capture_warnings.rb
         
     | 
| 
       131 
131 
     | 
    
         
             
            - spec/cucumber-compatibility-kit_spec.rb
         
     | 
| 
       132 
132 
     | 
    
         
             
            - spec/keys_checker_spec.rb
         
     | 
| 
      
 133 
     | 
    
         
            +
            - spec/messages_comparator_spec.rb
         
     | 
| 
       133 
134 
     | 
    
         
             
            homepage: https://github.com/cucumber/common
         
     | 
| 
       134 
135 
     | 
    
         
             
            licenses:
         
     | 
| 
       135 
136 
     | 
    
         
             
            - MIT
         
     | 
| 
         @@ -158,8 +159,9 @@ requirements: [] 
     | 
|
| 
       158 
159 
     | 
    
         
             
            rubygems_version: 3.1.2
         
     | 
| 
       159 
160 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       160 
161 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       161 
     | 
    
         
            -
            summary: cucumber-compatibility-kit-9.1. 
     | 
| 
      
 162 
     | 
    
         
            +
            summary: cucumber-compatibility-kit-9.1.1
         
     | 
| 
       162 
163 
     | 
    
         
             
            test_files:
         
     | 
| 
       163 
164 
     | 
    
         
             
            - spec/capture_warnings.rb
         
     | 
| 
      
 165 
     | 
    
         
            +
            - spec/messages_comparator_spec.rb
         
     | 
| 
       164 
166 
     | 
    
         
             
            - spec/cucumber-compatibility-kit_spec.rb
         
     | 
| 
       165 
167 
     | 
    
         
             
            - spec/keys_checker_spec.rb
         
     |