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.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.travis.yml +8 -0
  4. data/CHANGELOG.md +4 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +34 -0
  8. data/Rakefile +1 -0
  9. data/lib/motion-expect.rb +9 -0
  10. data/lib/motion-expect/bacon_context.rb +4 -0
  11. data/lib/motion-expect/exceptions.rb +4 -0
  12. data/lib/motion-expect/expectation.rb +37 -0
  13. data/lib/motion-expect/fail_message_renderer.rb +100 -0
  14. data/lib/motion-expect/matcher/be.rb +11 -0
  15. data/lib/motion-expect/matcher/be_false.rb +12 -0
  16. data/lib/motion-expect/matcher/be_generic.rb +7 -0
  17. data/lib/motion-expect/matcher/be_nil.rb +11 -0
  18. data/lib/motion-expect/matcher/be_true.rb +11 -0
  19. data/lib/motion-expect/matcher/be_within.rb +21 -0
  20. data/lib/motion-expect/matcher/change.rb +28 -0
  21. data/lib/motion-expect/matcher/end_with.rb +15 -0
  22. data/lib/motion-expect/matcher/eq.rb +11 -0
  23. data/lib/motion-expect/matcher/eql.rb +9 -0
  24. data/lib/motion-expect/matcher/have_generic.rb +16 -0
  25. data/lib/motion-expect/matcher/have_items.rb +22 -0
  26. data/lib/motion-expect/matcher/include.rb +15 -0
  27. data/lib/motion-expect/matcher/match.rb +11 -0
  28. data/lib/motion-expect/matcher/match_array.rb +21 -0
  29. data/lib/motion-expect/matcher/matchers.rb +91 -0
  30. data/lib/motion-expect/matcher/raise_error.rb +31 -0
  31. data/lib/motion-expect/matcher/respond_to.rb +28 -0
  32. data/lib/motion-expect/matcher/satisfy.rb +15 -0
  33. data/lib/motion-expect/matcher/single_method.rb +22 -0
  34. data/lib/motion-expect/matcher/start_with.rb +15 -0
  35. data/motion-expect.gemspec +22 -0
  36. data/run-tests.sh +3 -0
  37. data/spec_app/.repl_history +0 -0
  38. data/spec_app/Gemfile +5 -0
  39. data/spec_app/Rakefile +15 -0
  40. data/spec_app/app/app_delegate.rb +5 -0
  41. data/spec_app/resources/Default-568h@2x.png +0 -0
  42. data/spec_app/spec/helpers/bacon_context.rb +5 -0
  43. data/spec_app/spec/matchers/be_false_spec.rb +22 -0
  44. data/spec_app/spec/matchers/be_generic_spec.rb +28 -0
  45. data/spec_app/spec/matchers/be_nil_spec.rb +22 -0
  46. data/spec_app/spec/matchers/be_true_spec.rb +22 -0
  47. data/spec_app/spec/matchers/be_within_spec.rb +21 -0
  48. data/spec_app/spec/matchers/change_spec.rb +44 -0
  49. data/spec_app/spec/matchers/end_with_spec.rb +13 -0
  50. data/spec_app/spec/matchers/equality_spec.rb +37 -0
  51. data/spec_app/spec/matchers/have_generic_spec.rb +26 -0
  52. data/spec_app/spec/matchers/have_items_spec.rb +17 -0
  53. data/spec_app/spec/matchers/include_spec.rb +32 -0
  54. data/spec_app/spec/matchers/match_array_spec.rb +22 -0
  55. data/spec_app/spec/matchers/match_spec.rb +21 -0
  56. data/spec_app/spec/matchers/raise_error_spec.rb +65 -0
  57. data/spec_app/spec/matchers/respond_to_spec.rb +30 -0
  58. data/spec_app/spec/matchers/satisfy_spec.rb +17 -0
  59. data/spec_app/spec/matchers/start_with_spec.rb +13 -0
  60. 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: []