motion-expect 2.0.0
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 +7 -0
- data/.gitignore +18 -0
- data/.travis.yml +8 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +34 -0
- data/Rakefile +1 -0
- data/lib/motion-expect.rb +9 -0
- data/lib/motion-expect/bacon_context.rb +4 -0
- data/lib/motion-expect/exceptions.rb +4 -0
- data/lib/motion-expect/expectation.rb +37 -0
- data/lib/motion-expect/fail_message_renderer.rb +100 -0
- data/lib/motion-expect/matcher/be.rb +11 -0
- data/lib/motion-expect/matcher/be_false.rb +12 -0
- data/lib/motion-expect/matcher/be_generic.rb +7 -0
- data/lib/motion-expect/matcher/be_nil.rb +11 -0
- data/lib/motion-expect/matcher/be_true.rb +11 -0
- data/lib/motion-expect/matcher/be_within.rb +21 -0
- data/lib/motion-expect/matcher/change.rb +28 -0
- data/lib/motion-expect/matcher/end_with.rb +15 -0
- data/lib/motion-expect/matcher/eq.rb +11 -0
- data/lib/motion-expect/matcher/eql.rb +9 -0
- data/lib/motion-expect/matcher/have_generic.rb +16 -0
- data/lib/motion-expect/matcher/have_items.rb +22 -0
- data/lib/motion-expect/matcher/include.rb +15 -0
- data/lib/motion-expect/matcher/match.rb +11 -0
- data/lib/motion-expect/matcher/match_array.rb +21 -0
- data/lib/motion-expect/matcher/matchers.rb +91 -0
- data/lib/motion-expect/matcher/raise_error.rb +31 -0
- data/lib/motion-expect/matcher/respond_to.rb +28 -0
- data/lib/motion-expect/matcher/satisfy.rb +15 -0
- data/lib/motion-expect/matcher/single_method.rb +22 -0
- data/lib/motion-expect/matcher/start_with.rb +15 -0
- data/motion-expect.gemspec +22 -0
- data/run-tests.sh +3 -0
- data/spec_app/.repl_history +0 -0
- data/spec_app/Gemfile +5 -0
- data/spec_app/Rakefile +15 -0
- data/spec_app/app/app_delegate.rb +5 -0
- data/spec_app/resources/Default-568h@2x.png +0 -0
- data/spec_app/spec/helpers/bacon_context.rb +5 -0
- data/spec_app/spec/matchers/be_false_spec.rb +22 -0
- data/spec_app/spec/matchers/be_generic_spec.rb +28 -0
- data/spec_app/spec/matchers/be_nil_spec.rb +22 -0
- data/spec_app/spec/matchers/be_true_spec.rb +22 -0
- data/spec_app/spec/matchers/be_within_spec.rb +21 -0
- data/spec_app/spec/matchers/change_spec.rb +44 -0
- data/spec_app/spec/matchers/end_with_spec.rb +13 -0
- data/spec_app/spec/matchers/equality_spec.rb +37 -0
- data/spec_app/spec/matchers/have_generic_spec.rb +26 -0
- data/spec_app/spec/matchers/have_items_spec.rb +17 -0
- data/spec_app/spec/matchers/include_spec.rb +32 -0
- data/spec_app/spec/matchers/match_array_spec.rb +22 -0
- data/spec_app/spec/matchers/match_spec.rb +21 -0
- data/spec_app/spec/matchers/raise_error_spec.rb +65 -0
- data/spec_app/spec/matchers/respond_to_spec.rb +30 -0
- data/spec_app/spec/matchers/satisfy_spec.rb +17 -0
- data/spec_app/spec/matchers/start_with_spec.rb +13 -0
- metadata +131 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
describe "Matcher::Change" do
|
2
|
+
class TestClass
|
3
|
+
attr_reader :counter
|
4
|
+
def initialize
|
5
|
+
@counter = 0
|
6
|
+
end
|
7
|
+
|
8
|
+
def add
|
9
|
+
@counter += 1
|
10
|
+
end
|
11
|
+
|
12
|
+
def dont_add; end
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'change passes when the expected block changes the result of the argument block' do
|
16
|
+
test_object = TestClass.new
|
17
|
+
expect{ test_object.add }.to change{ test_object.counter }
|
18
|
+
end
|
19
|
+
|
20
|
+
it "change fails when the expected block doesn't change the result of the argument block" do
|
21
|
+
test_object = TestClass.new
|
22
|
+
expect_failure("Block expected to change value"){ expect{ test_object.dont_add }.to change{ test_object.counter } }
|
23
|
+
end
|
24
|
+
|
25
|
+
it "change passes when the expected block doesn't change the result of the argument block but asked not_to" do
|
26
|
+
test_object = TestClass.new
|
27
|
+
expect{ test_object.dont_add }.not_to change{ test_object.counter }
|
28
|
+
end
|
29
|
+
|
30
|
+
it "change when specified 'by' passes when the expected block changes the result of the argument block by the given amount" do
|
31
|
+
test_object = TestClass.new
|
32
|
+
expect{ test_object.add; test_object.add }.to change{ test_object.counter }.by(2)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "change when specified 'by' fails when the expected block changes the result of the argument block by a different amount" do
|
36
|
+
test_object = TestClass.new
|
37
|
+
expect_failure("Block expected to change value by 6 but changed by 2"){ expect{ test_object.add; test_object.add }.to change{ test_object.counter }.by(6) }
|
38
|
+
end
|
39
|
+
|
40
|
+
it "change when specified 'by' fails when the expected block changes the result of the argument block by the given amount but asked not to" do
|
41
|
+
test_object = TestClass.new
|
42
|
+
expect_failure("Block not expected to change value by 2"){ expect{ test_object.add; test_object.add }.not_to change{ test_object.counter }.by(2) }
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
describe "Matcher::EndWith" do
|
2
|
+
it 'end_with passes when the subject ends with the given string' do
|
3
|
+
expect("super").to end_with("per")
|
4
|
+
end
|
5
|
+
|
6
|
+
it "end_with fails when the subject doesn't end with the given string" do
|
7
|
+
expect_failure("\"super\" expected to end with \"key\""){ expect("super").to end_with("key") }
|
8
|
+
end
|
9
|
+
|
10
|
+
it "end_with fails when the subject ends with the given string but asked to not" do
|
11
|
+
expect_failure("\"super\" not expected to end with \"per\""){ expect("super").not_to end_with("per") }
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
describe "Matcher::Equality" do
|
2
|
+
it 'eql passes when value is eql? to subject' do
|
3
|
+
expect(1).to eql(1)
|
4
|
+
end
|
5
|
+
|
6
|
+
it "eql fails when value is not eql? subject" do
|
7
|
+
expect_failure("1 #eql?(1.0) expected to return true"){ expect(1).to eql(1.0) }
|
8
|
+
end
|
9
|
+
|
10
|
+
it "eq passes if value is == to subject" do
|
11
|
+
expect(1).to eq(1.0)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "eq fails if value is == to subject" do
|
15
|
+
expect_failure("1 expected to be == to 2.0"){ expect(1).to eq(2.0) }
|
16
|
+
end
|
17
|
+
|
18
|
+
it "be passes if value is same object as subject" do
|
19
|
+
object = Object.new
|
20
|
+
expect(object).to be(object)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "be fails if value is not the same object as subject" do
|
24
|
+
expect_failure("\"super\" expected to be same object as \"super\""){ expect("super").to be("super") }
|
25
|
+
end
|
26
|
+
|
27
|
+
it "equal fails if value is not the same object as subject" do
|
28
|
+
expect_failure("\"super\" expected to be same object as \"super\""){ expect("super").to equal("super") }
|
29
|
+
end
|
30
|
+
|
31
|
+
it "equal fails if value is the same object as subject but asked not to" do
|
32
|
+
expect_failure("\"super\" not expected to be same object as \"super\"") do
|
33
|
+
string = "super"
|
34
|
+
expect(string).not_to equal(string)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
describe "Matcher::HaveGeneric" do
|
2
|
+
it "have_key passes if the hash includes the given key" do
|
3
|
+
expect({a: 1, b: 2, c: 3}).to have_key(:c)
|
4
|
+
end
|
5
|
+
|
6
|
+
it "have_key fails if the hash doesn't include the given key" do
|
7
|
+
expect_failure("{:a=>1, :b=>2, :c=>3} #has_key?(:h) expected to return true"){ expect({a: 1, b: 2, c: 3}).to have_key(:h) }
|
8
|
+
end
|
9
|
+
|
10
|
+
it "have_color passes when the value responds to has_color? and returns true" do
|
11
|
+
class TestClass; def has_color?(color); color == :red; end; end
|
12
|
+
expect(TestClass.new).to have_color(:red)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "have_color fails when the value responds to has_color? and returns false" do
|
16
|
+
class TestClass; def has_color?(color); color == :red; end; end
|
17
|
+
object = TestClass.new
|
18
|
+
expect_failure("#{object.inspect} #has_color?(:blue) expected to return true"){ expect(object).to have_color(:blue) }
|
19
|
+
end
|
20
|
+
|
21
|
+
it "have_color fails when the value responds to has_color? and returns true but asked not to" do
|
22
|
+
class TestClass; def has_color?(color); color == :red; end; end
|
23
|
+
object = TestClass.new
|
24
|
+
expect_failure("#{object.inspect} #has_color?(:red) not expected to return true"){ expect(object).to_not have_color(:red) }
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
describe "Matcher::HaveItems" do
|
2
|
+
it 'have passes when subject has the same number of items' do
|
3
|
+
expect([1,2,3]).to have(3).items
|
4
|
+
end
|
5
|
+
|
6
|
+
it 'have fails when subject has the a different number of items' do
|
7
|
+
expect_failure("[1, 2, 3] expected to have 10 items but had 3"){ expect([1,2,3]).to have(10).items }
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'have fails when subject has the same number of items but asked not to' do
|
11
|
+
expect_failure("[1, 2, 3] not expected to have 3 items"){ expect([1,2,3]).not_to have(3).items }
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'have failure message changes when sending #keys instead of #items' do
|
15
|
+
expect_failure("[1, 2, 3] not expected to have 3 keys"){ expect([1,2,3]).not_to have(3).keys }
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
describe "Matcher::Include" do
|
2
|
+
it 'include passes when subject include? responds true' do
|
3
|
+
expect([1,2,3,4]).to include(4)
|
4
|
+
end
|
5
|
+
|
6
|
+
it 'include fails when subject include? responds false' do
|
7
|
+
expect_failure("[1, 2, 3, 4] expected to include \"asd\""){ expect([1,2,3,4]).to include("asd") }
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'include passes when an object responds true to include?' do
|
11
|
+
class TestClass; def include?(value); true; end; end
|
12
|
+
expect(TestClass.new).to include(3)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'include passes when an object responds false to include?' do
|
16
|
+
class TestClass; def include?(value); false; end; end
|
17
|
+
test_object = TestClass.new
|
18
|
+
expect_failure("#{test_object.inspect} expected to include 3"){ expect(test_object).to include(3) }
|
19
|
+
end
|
20
|
+
|
21
|
+
it "include passes when all values are included in subject" do
|
22
|
+
expect([1,2,3,4]).to include(2,3,4)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "include fails when some values are not included in subject" do
|
26
|
+
expect_failure("#{[1,2,3,4]} expected to include #{[2, 3, 4, 6]}"){ expect([1,2,3,4]).to include(2, 3, 4, 6) }
|
27
|
+
end
|
28
|
+
|
29
|
+
it "include fails when all values are included but asked not to" do
|
30
|
+
expect_failure("#{[1,2,3,4,5,6]} not expected to include #{[3, 4, 6]}"){ expect([1,2,3,4,5,6]).not_to include(3, 4, 6) }
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
describe "Matcher::MatchArray" do
|
2
|
+
it 'match_array passes when subject has the same items as value' do
|
3
|
+
expect([1,2,3,4]).to match_array([4,2,1,3])
|
4
|
+
end
|
5
|
+
|
6
|
+
it "match_array fails when subject has less items than value" do
|
7
|
+
expect_failure("#{[1,2,3]} expected to match array #{[1,2,3,4]}"){ expect([1,2,3]).to match_array([1,2,3,4]) }
|
8
|
+
end
|
9
|
+
|
10
|
+
it "match_array fails when subject has more items than value" do
|
11
|
+
expect_failure("#{[1,2,3, 4]} expected to match array #{[1,2,4,4,3]}"){ expect([1,2,3,4]).to match_array([1,2,4,4,3]) }
|
12
|
+
end
|
13
|
+
|
14
|
+
it "match_array fails when subject has different items" do
|
15
|
+
expected_array = [Object.new, "a", 2, 3]
|
16
|
+
expect_failure("#{[1,2,3,4]} expected to match array #{expected_array}"){ expect([1,2,3,4]).to match_array(expected_array) }
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'match_array fails when subject matches the array but asked not to' do
|
20
|
+
expect_failure("#{[1,2,3,4]} not expected to match array"){ expect([1,2,3,4]).to_not match_array([4,2,1,3]) }
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
describe "Matcher::Match" do
|
2
|
+
it 'match passes when subject is a string and matches the regex' do
|
3
|
+
expect("asd asd asd").to match(/asd/)
|
4
|
+
end
|
5
|
+
|
6
|
+
it "match fails when subject is a string and doesn't match the regex" do
|
7
|
+
expect_failure("\"qwerty qwerty\" expected to match /asd/"){ expect("qwerty qwerty").to match(/asd/) }
|
8
|
+
end
|
9
|
+
|
10
|
+
it "match passes when subject is a regex and matches the given string" do
|
11
|
+
expect(/foo/).to match("food")
|
12
|
+
end
|
13
|
+
|
14
|
+
it "match fails when subject is a regex and doesn't matche the given string" do
|
15
|
+
expect_failure("/foo/ expected to match \"drink\""){ expect(/foo/).to match("drink") }
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'match fails when subject is a string and matches the regex but asked not to' do
|
19
|
+
expect_failure("\"asd asd asd\" not expected to match /asd/"){ expect("asd asd asd").to_not match(/asd/) }
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
describe "Matcher::RaiseError" do
|
2
|
+
it 'raise_error without argument passes when the block raises any exception' do
|
3
|
+
expect{ 1/0 }.to raise_error
|
4
|
+
end
|
5
|
+
|
6
|
+
it "raise_error without argument failes when the block doesn't raise any exception" do
|
7
|
+
expect_failure("Block expected to raise error"){ expect{ Object.new }.to raise_error }
|
8
|
+
end
|
9
|
+
|
10
|
+
it "raise_error with a class argument passes when the block raises an exception of the argument class" do
|
11
|
+
expect{ 1/0 }.to raise_error(ZeroDivisionError)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "raise_error with a class argument fails when the block raises an exception of a different class" do
|
15
|
+
expect_failure("Block expected to raise error of type ArgumentError"){ expect{ 1/0 }.to raise_error(ArgumentError) }
|
16
|
+
end
|
17
|
+
|
18
|
+
it "raise_error with a string argument passes when the block raises an exception with a message that includes the string" do
|
19
|
+
expect{ raise "one message" }.to raise_error("one message")
|
20
|
+
end
|
21
|
+
|
22
|
+
it "raise_error with a string argument fails when the block raises an exception with a message that doesn't include the string" do
|
23
|
+
expect_failure("Block expected to raise error with message matching \"different\" but was #<RuntimeError: one message>"){ expect{ raise "one message" }.to raise_error("different") }
|
24
|
+
end
|
25
|
+
|
26
|
+
it "raise_error with a Regex argument passes when the block raises an exception with a message that matches the Regex" do
|
27
|
+
expect{ raise "one message" }.to raise_error(/message/)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "raise_error with a Regex argument fails when the block raises an exception with a message that doesn't match the Regex" do
|
31
|
+
expect_failure("Block expected to raise error with message matching #{/different/.inspect} but was #<RuntimeError: one message>"){ expect{ raise "one message" }.to raise_error(/different/) }
|
32
|
+
end
|
33
|
+
|
34
|
+
it "raise_error with a class and a string argument passes if the block raises an exception of the same class and includes the string in its message" do
|
35
|
+
expect{ raise ArgumentError.new("with a message") }.to raise_error(ArgumentError, "message")
|
36
|
+
end
|
37
|
+
|
38
|
+
it "raise_error with a class and a string argument fails if the block raises an exception of the same class and but doesn't include the string in its message" do
|
39
|
+
expect_failure("Block expected to raise error of type ArgumentError with message matching #{"different".inspect}"){ expect{ raise ArgumentError.new("with a message") }.to raise_error(ArgumentError, "different") }
|
40
|
+
end
|
41
|
+
|
42
|
+
it "raise_error with a class and a string argument fails if the block raises an exception of a different class" do
|
43
|
+
expect_failure("Block expected to raise error of type ZeroDivisionError with message matching #{"message".inspect}"){ expect{ raise ArgumentError.new("with a message") }.to raise_error(ZeroDivisionError, "message") }
|
44
|
+
end
|
45
|
+
|
46
|
+
it "raise_error with a class and a regex argument passes if the block raises an exception of the same class and includes the string in its message" do
|
47
|
+
expect{ raise ArgumentError.new("with a message") }.to raise_error(ArgumentError, /message/)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "raise_error with a class and a regex argument fails if the block raises an exception of the same class and but doesn't include the string in its message" do
|
51
|
+
expect_failure("Block expected to raise error of type ArgumentError with message matching #{/different/.inspect}"){ expect{ raise ArgumentError.new("with a message") }.to raise_error(ArgumentError, /different/) }
|
52
|
+
end
|
53
|
+
|
54
|
+
it "raise_error with a class and a regex argument fails if the block raises an exception of a different class" do
|
55
|
+
expect_failure("Block expected to raise error of type ZeroDivisionError with message matching #{/message/.inspect} but was "){ expect{ raise ArgumentError.new("with a message") }.to raise_error(ZeroDivisionError, /message/) }
|
56
|
+
end
|
57
|
+
|
58
|
+
it "raise_exception is an alias of raise_error " do
|
59
|
+
expect{ 1/0 }.to raise_exception(ZeroDivisionError)
|
60
|
+
end
|
61
|
+
|
62
|
+
it "raise_error with a class argument fails when the block raises an exception of the argument class but asked not to" do
|
63
|
+
expect_failure("Block not expected to raise error of type ZeroDivisionError"){ expect{ 1/0 }.not_to raise_error(ZeroDivisionError) }
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
describe "Matcher::RespondTo" do
|
2
|
+
it 'respond_to passes when subject responds to method name' do
|
3
|
+
expect("string").to respond_to(:upcase)
|
4
|
+
end
|
5
|
+
|
6
|
+
it "respond_to fails when subject doesn't respond to method name" do
|
7
|
+
expect_failure("\"string\" expected to respond to #floor"){ expect("string").to respond_to(:floor) }
|
8
|
+
end
|
9
|
+
|
10
|
+
it "respond_to when given number of arguments fails when subject doesn't respond to method name" do
|
11
|
+
expect_failure("\"string\" expected to respond to #floor with 2 arguments"){ expect("string").to respond_to(:floor).with(2).arguments }
|
12
|
+
end
|
13
|
+
|
14
|
+
it "respond_to when given number of arguments passes when subject responds to method name with exactly the same number of arguments" do
|
15
|
+
class TestCase; def call_me(a,b,c); end; end
|
16
|
+
expect(TestCase.new).to respond_to(:call_me).with(3).arguments
|
17
|
+
end
|
18
|
+
|
19
|
+
it "respond_to when given number of arguments fails when subject responds to method name with different number of arguments" do
|
20
|
+
class TestCase; def call_me(a,b,c); end; end
|
21
|
+
test_object = TestCase.new
|
22
|
+
expect_failure("#{test_object.inspect} expected to respond to #call_me with 1 arguments"){ expect(test_object).to respond_to(:call_me).with(1).argument }
|
23
|
+
end
|
24
|
+
|
25
|
+
it "respond_to when given number of arguments fails when subject responds to method name with exactly the same number of arguments but asked not to" do
|
26
|
+
class TestCase; def call_me(a,b,c); end; end
|
27
|
+
test_object = TestCase.new
|
28
|
+
expect_failure("#{test_object.inspect} not expected to respond to #call_me with 3 arguments"){ expect(test_object).not_to respond_to(:call_me).with(3).arguments }
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
describe "Matcher::Satisfy" do
|
2
|
+
it 'satisfy passes when the block returns true' do
|
3
|
+
expect(1).to satisfy{|v| v == 1}
|
4
|
+
end
|
5
|
+
|
6
|
+
it 'satisfy fails when the block returns false' do
|
7
|
+
expect_failure("Block expected to satisfy condition"){ expect(1).to satisfy{|v| v == 3} }
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'satisfy fails when the block raises an exception' do
|
11
|
+
expect{ expect(1).to satisfy{|v| 1/0 } }.to raise_error(ZeroDivisionError)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'satisfy fails when the block returns true but asked not to' do
|
15
|
+
expect_failure("Block not expected to satisfy condition"){ expect(1).not_to satisfy{|v| v == 1} }
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
describe "Matcher::StartWith" do
|
2
|
+
it 'start_with passes when the subject starts with the given string' do
|
3
|
+
expect("super").to start_with("sup")
|
4
|
+
end
|
5
|
+
|
6
|
+
it "start_with fails when the subject doesn't start with the given string" do
|
7
|
+
expect_failure("\"super\" expected to start with \"key\""){ expect("super").to start_with("key") }
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'start_with fails when the subject starts with the given string but asked not to' do
|
11
|
+
expect_failure("\"super\" not expected to start with \"sup\""){ expect("super").to_not start_with("sup") }
|
12
|
+
end
|
13
|
+
end
|
metadata
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: motion-expect
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ignacio Piantanida
|
8
|
+
- Lori Olson
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2019-06-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '1.3'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '1.3'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rake
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
description: RSpec's expect syntax in MacBacon
|
43
|
+
email:
|
44
|
+
- lori@wndx.com
|
45
|
+
executables: []
|
46
|
+
extensions: []
|
47
|
+
extra_rdoc_files: []
|
48
|
+
files:
|
49
|
+
- ".gitignore"
|
50
|
+
- ".travis.yml"
|
51
|
+
- CHANGELOG.md
|
52
|
+
- Gemfile
|
53
|
+
- LICENSE.txt
|
54
|
+
- README.md
|
55
|
+
- Rakefile
|
56
|
+
- lib/motion-expect.rb
|
57
|
+
- lib/motion-expect/bacon_context.rb
|
58
|
+
- lib/motion-expect/exceptions.rb
|
59
|
+
- lib/motion-expect/expectation.rb
|
60
|
+
- lib/motion-expect/fail_message_renderer.rb
|
61
|
+
- lib/motion-expect/matcher/be.rb
|
62
|
+
- lib/motion-expect/matcher/be_false.rb
|
63
|
+
- lib/motion-expect/matcher/be_generic.rb
|
64
|
+
- lib/motion-expect/matcher/be_nil.rb
|
65
|
+
- lib/motion-expect/matcher/be_true.rb
|
66
|
+
- lib/motion-expect/matcher/be_within.rb
|
67
|
+
- lib/motion-expect/matcher/change.rb
|
68
|
+
- lib/motion-expect/matcher/end_with.rb
|
69
|
+
- lib/motion-expect/matcher/eq.rb
|
70
|
+
- lib/motion-expect/matcher/eql.rb
|
71
|
+
- lib/motion-expect/matcher/have_generic.rb
|
72
|
+
- lib/motion-expect/matcher/have_items.rb
|
73
|
+
- lib/motion-expect/matcher/include.rb
|
74
|
+
- lib/motion-expect/matcher/match.rb
|
75
|
+
- lib/motion-expect/matcher/match_array.rb
|
76
|
+
- lib/motion-expect/matcher/matchers.rb
|
77
|
+
- lib/motion-expect/matcher/raise_error.rb
|
78
|
+
- lib/motion-expect/matcher/respond_to.rb
|
79
|
+
- lib/motion-expect/matcher/satisfy.rb
|
80
|
+
- lib/motion-expect/matcher/single_method.rb
|
81
|
+
- lib/motion-expect/matcher/start_with.rb
|
82
|
+
- motion-expect.gemspec
|
83
|
+
- run-tests.sh
|
84
|
+
- spec_app/.repl_history
|
85
|
+
- spec_app/Gemfile
|
86
|
+
- spec_app/Rakefile
|
87
|
+
- spec_app/app/app_delegate.rb
|
88
|
+
- spec_app/resources/Default-568h@2x.png
|
89
|
+
- spec_app/spec/helpers/bacon_context.rb
|
90
|
+
- spec_app/spec/matchers/be_false_spec.rb
|
91
|
+
- spec_app/spec/matchers/be_generic_spec.rb
|
92
|
+
- spec_app/spec/matchers/be_nil_spec.rb
|
93
|
+
- spec_app/spec/matchers/be_true_spec.rb
|
94
|
+
- spec_app/spec/matchers/be_within_spec.rb
|
95
|
+
- spec_app/spec/matchers/change_spec.rb
|
96
|
+
- spec_app/spec/matchers/end_with_spec.rb
|
97
|
+
- spec_app/spec/matchers/equality_spec.rb
|
98
|
+
- spec_app/spec/matchers/have_generic_spec.rb
|
99
|
+
- spec_app/spec/matchers/have_items_spec.rb
|
100
|
+
- spec_app/spec/matchers/include_spec.rb
|
101
|
+
- spec_app/spec/matchers/match_array_spec.rb
|
102
|
+
- spec_app/spec/matchers/match_spec.rb
|
103
|
+
- spec_app/spec/matchers/raise_error_spec.rb
|
104
|
+
- spec_app/spec/matchers/respond_to_spec.rb
|
105
|
+
- spec_app/spec/matchers/satisfy_spec.rb
|
106
|
+
- spec_app/spec/matchers/start_with_spec.rb
|
107
|
+
homepage: https://github.com/rubymotion-community/motion-expect
|
108
|
+
licenses:
|
109
|
+
- MIT
|
110
|
+
metadata: {}
|
111
|
+
post_install_message:
|
112
|
+
rdoc_options: []
|
113
|
+
require_paths:
|
114
|
+
- lib
|
115
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
requirements: []
|
126
|
+
rubyforge_project:
|
127
|
+
rubygems_version: 2.5.2.3
|
128
|
+
signing_key:
|
129
|
+
specification_version: 4
|
130
|
+
summary: Bring RSpec 3.0 expect syntax to MacBacon
|
131
|
+
test_files: []
|