motion-expect 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|