Sha256: 9857a1448ce8f09318a2b44ff225548f33af32f0392766ac756fb63c25b61d35
Contents?: true
Size: 943 Bytes
Versions: 1
Compression:
Stored size: 943 Bytes
Contents
shared_examples_for "an RSpec matcher" do |options| let(:valid_value) { options.fetch(:valid_value) } let(:invalid_value) { options.fetch(:invalid_value) } it 'preserves the symmetric property of `==`' do expect(matcher).to eq(matcher) expect(matcher).not_to eq(valid_value) expect(valid_value).not_to eq(matcher) end it 'matches a valid value when using #=== so it can be composed' do expect(matcher).to be === valid_value end it 'does not match an invalid value when using #=== so it can be composed' do expect(matcher).not_to be === invalid_value end matcher :always_passes do match { true } end matcher :always_fails do match { false } end it 'supports compound expectations by chaining `and`' do expect(valid_value).to matcher.and always_passes end it 'supports compound expectations by chaining `or`' do expect(valid_value).to matcher.or always_fails end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec-expectations-3.0.0.beta2 | spec/support/shared_examples.rb |