minitest-should_syntax 1.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.
- data/.gitignore +1 -0
- data/Gemfile +1 -0
- data/HISTORY.md +4 -0
- data/README.md +129 -0
- data/Rakefile +3 -0
- data/lib/minitest/should_syntax/version.rb +7 -0
- data/lib/minitest/should_syntax.rb +162 -0
- data/minitest-should_syntax.gemspec +15 -0
- data/test/extension_test.rb +37 -0
- data/test/helper.rb +8 -0
- data/test/include_test.rb +12 -0
- data/test/should_test.rb +142 -0
- metadata +105 -0
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Gemfile.lock
|
data/Gemfile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
gemspec
|
data/HISTORY.md
ADDED
data/README.md
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
# minitest-should_syntax
|
2
|
+
|
3
|
+
Rspec-like matching for MiniTest.
|
4
|
+
|
5
|
+
*minitest-should_syntax* lets you use a syntax similar to RSpec on your MiniTest
|
6
|
+
tests. It monkey-patches Object to translate RSpec-like sugar into plain
|
7
|
+
MiniTest `assert` matchers.
|
8
|
+
|
9
|
+
```
|
10
|
+
$ gem install minitest-should_syntax
|
11
|
+
```
|
12
|
+
|
13
|
+
## Basic usage
|
14
|
+
|
15
|
+
``` ruby
|
16
|
+
require 'minitest/autorun'
|
17
|
+
require 'minitest/should_syntax'
|
18
|
+
|
19
|
+
describe "Books" do
|
20
|
+
it "should work" do
|
21
|
+
book = Book.new title: "Revolution"
|
22
|
+
|
23
|
+
book.title.should == "Revolution"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
```
|
28
|
+
|
29
|
+
## Should
|
30
|
+
|
31
|
+
Then you may use it as so:
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
obj.should == 2 # => assert_equal 2, obj
|
35
|
+
obj.should =~ /regex/ # => assert_match /regex/, obj
|
36
|
+
obj.should != 3 # => assert_not_equal 3, obj
|
37
|
+
obj.should.nil # => assert_nil obj
|
38
|
+
obj.should.respond_to(:freeze) # => assert_respond_to obj, :freeze
|
39
|
+
|
40
|
+
# Note that .be, .a and .an are optional.
|
41
|
+
obj.should.nil # => assert_nil obj
|
42
|
+
obj.should.be.nil # => assert_nil obj
|
43
|
+
obj.should.be.a.nil # => assert_nil obj
|
44
|
+
|
45
|
+
# You can also use should_not, or should.not:
|
46
|
+
obj.should_not == 3
|
47
|
+
obj.should.not == 3
|
48
|
+
obj.should_not.be.nil
|
49
|
+
|
50
|
+
# Anything else will pass through with a ?:
|
51
|
+
obj.should.be.good_looking # => assert obj.good_looking?
|
52
|
+
|
53
|
+
should.raise(Error) { lol }
|
54
|
+
should_not.raise { puts "hi" }
|
55
|
+
|
56
|
+
# You may add messages to your asserts with #blaming or #messaging.
|
57
|
+
(2 + 2).should.blaming("weird math") == 4
|
58
|
+
```
|
59
|
+
|
60
|
+
## Wrapped assertions
|
61
|
+
|
62
|
+
These are based from MiniTest::Assertions.
|
63
|
+
|
64
|
+
| Test::Unit | MiniTest::ShouldSyntax |
|
65
|
+
|-----------------------------|---------------------------------------|
|
66
|
+
| assert_equal | should.equal, should == |
|
67
|
+
| assert_not_equal | should.not.equal, should.not == |
|
68
|
+
| assert_same | should.be |
|
69
|
+
| assert_not_same | should.not.be |
|
70
|
+
| assert_nil | should.be.nil |
|
71
|
+
| assert_not_nil | should.not.be.nil |
|
72
|
+
| assert_in_delta | should.be.close |
|
73
|
+
| assert_match | should.match, should =~ |
|
74
|
+
| assert_no_match | should.not.match, should.not =~ |
|
75
|
+
| assert_instance_of | should.be.an.instance_of |
|
76
|
+
| assert_kind_of | should.be.a.kind_of |
|
77
|
+
| assert_respond_to | should.respond_to |
|
78
|
+
| assert_raise | should.raise |
|
79
|
+
| assert_nothing_raised | should.not.raise |
|
80
|
+
| assert_throws | should.throw |
|
81
|
+
| assert_block | should.satisfy |
|
82
|
+
|
83
|
+
## Messages
|
84
|
+
|
85
|
+
Use the `msg` helper:
|
86
|
+
|
87
|
+
``` ruby
|
88
|
+
it "should work" do
|
89
|
+
book = Book.new title: "Pride & Prejudice"
|
90
|
+
|
91
|
+
msg "The title should've been set on constructor."
|
92
|
+
book.title.should == "Pride & Prejudice"
|
93
|
+
end
|
94
|
+
```
|
95
|
+
|
96
|
+
Or you can use `.blaming` which does the same thing (with a more cumbersome
|
97
|
+
syntax):
|
98
|
+
|
99
|
+
``` ruby
|
100
|
+
it "should work" do
|
101
|
+
book = Book.new title: "Pride & Prejudice"
|
102
|
+
|
103
|
+
message = "The title should've been set on constructor."
|
104
|
+
book.title.should.blaming(message) == "Pride & Prejudice"
|
105
|
+
end
|
106
|
+
```
|
107
|
+
|
108
|
+
## Extending
|
109
|
+
|
110
|
+
Need to create your own matchers? Create your new matcher in a module, then use
|
111
|
+
`MiniTest::ShouldSyntax.add`.
|
112
|
+
|
113
|
+
```ruby
|
114
|
+
module DanceMatcher
|
115
|
+
def boogie_all_night!
|
116
|
+
if positive?
|
117
|
+
test.assert left.respond_to?(:dance)
|
118
|
+
else
|
119
|
+
test.assert ! left.respond_to?(:dance)
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
MiniTest::ShouldSyntax.add DanceMatcher
|
125
|
+
|
126
|
+
# Then in your tests, use:
|
127
|
+
dancer.should.boogie_all_night!
|
128
|
+
```
|
129
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
require 'minitest/unit'
|
2
|
+
|
3
|
+
# Rspec-like matching for MiniTest.
|
4
|
+
#
|
5
|
+
# == Usage
|
6
|
+
#
|
7
|
+
# # All objects get .should:
|
8
|
+
# obj.should == 2
|
9
|
+
# obj.should ~= /regex/
|
10
|
+
# obj.should != 3
|
11
|
+
# obj.should.be.true # Truthy
|
12
|
+
# obj.should.be.false # Falsy
|
13
|
+
#
|
14
|
+
# # Anything else will just pass thru:
|
15
|
+
# obj.should.nil? # same as: assert obj.nil?
|
16
|
+
# obj.should.be.nil? # same as: assert obj.nil?
|
17
|
+
# obj.should.respond_to?(:freeze)
|
18
|
+
#
|
19
|
+
# # You can also use should_not:
|
20
|
+
# obj.should_not == 3
|
21
|
+
# obj.should_not.be.nil?
|
22
|
+
#
|
23
|
+
# # Errors and throws
|
24
|
+
# should.raise(Error) { lol }
|
25
|
+
# should.throw(:x) { lol }
|
26
|
+
#
|
27
|
+
# # Messages
|
28
|
+
# msg "Age must be set properly"
|
29
|
+
# age.should == 18
|
30
|
+
#
|
31
|
+
module MiniTest
|
32
|
+
class ShouldSyntax
|
33
|
+
require File.expand_path('../should_syntax/version', __FILE__)
|
34
|
+
|
35
|
+
attr_reader :left
|
36
|
+
attr_reader :msg
|
37
|
+
|
38
|
+
def self.init(test) # :nodoc:
|
39
|
+
@@test = test
|
40
|
+
end
|
41
|
+
|
42
|
+
# Includes a module to extend .should with more matchers.
|
43
|
+
def self.add(extension)
|
44
|
+
self.send :include, extension
|
45
|
+
end
|
46
|
+
|
47
|
+
def initialize(left, neg=false)
|
48
|
+
@left = left
|
49
|
+
@neg = neg
|
50
|
+
if test.msg
|
51
|
+
blaming test.msg
|
52
|
+
test.msg = nil
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def be(right=nil) self.same(right) if right; self; end
|
57
|
+
def a() self; end
|
58
|
+
def an() self; end
|
59
|
+
|
60
|
+
def negative?() @neg; end
|
61
|
+
def positive?() !@neg; end
|
62
|
+
def test() @@test; end
|
63
|
+
def not() @neg = true; self; end
|
64
|
+
|
65
|
+
def true() true_or_false(true); end
|
66
|
+
def false() true_or_false(false); end
|
67
|
+
|
68
|
+
def true_or_false(bool)
|
69
|
+
val = !! left
|
70
|
+
val = !val if bool == false
|
71
|
+
method = (positive? ? :"assert" : :"refute")
|
72
|
+
test.send method, val, [msg, 'Expected to be falsy'].compact.join("\n")
|
73
|
+
end
|
74
|
+
|
75
|
+
def blaming(msg); @msg = msg; self; end
|
76
|
+
def messaging(msg); @msg = msg; self; end
|
77
|
+
|
78
|
+
def ==(right) assert_or_refute :equal, right, left; end
|
79
|
+
def !=(right) refute_or_assert :equal, right, left; end
|
80
|
+
def =~(right) assert_or_refute :match, right, left; end
|
81
|
+
def >(right) assert_or_refute :operator, left, :>, right; end
|
82
|
+
def <(right) assert_or_refute :operator, left, :<, right; end
|
83
|
+
def >=(right) assert_or_refute :operator, left, :>=, right; end
|
84
|
+
def <=(right) assert_or_refute :operator, left, :<=, right; end
|
85
|
+
def include(right) assert_or_refute :includes, left, right; end
|
86
|
+
def instance_of(right) assert_or_refute :instance_of, right, left; end
|
87
|
+
def kind_of(right) assert_or_refute :kind_of, right, left; end
|
88
|
+
def nil() assert_or_refute :nil, left; end
|
89
|
+
def same(right) assert_or_refute :same, right, left; end
|
90
|
+
def respond_to(right) assert_or_refute :respond_to, left, right; end
|
91
|
+
def empty() assert_or_refute :empty, left; end
|
92
|
+
def satisfy(&blk) assert_or_refute :block, &blk; end
|
93
|
+
|
94
|
+
def match(right) self =~ right; end
|
95
|
+
def equal(right) self == right; end
|
96
|
+
|
97
|
+
def close(right, d=0.001) assert_or_refute :in_delta, right, left, d; end
|
98
|
+
def in_epsilon(right, d=0.001) assert_or_refute :in_epsilon, right, left, d; end
|
99
|
+
|
100
|
+
def assert_or_refute(what, *args, &blk)
|
101
|
+
test.send (positive? ? :"assert_#{what}" : :"refute_#{what}"), *args, msg, &blk
|
102
|
+
end
|
103
|
+
|
104
|
+
def refute_or_assert(what, *args)
|
105
|
+
test.send (negative? ? :"assert_#{what}" : :"refute_#{what}"), *args, msg
|
106
|
+
end
|
107
|
+
|
108
|
+
def throw(what=nil, &blk)
|
109
|
+
if positive?
|
110
|
+
test.send :assert_throws, what, msg, &blk
|
111
|
+
else
|
112
|
+
warn "ShouldSyntax: should.not.throw is not supported"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def raise(ex=StandardError, &blk)
|
117
|
+
if positive?
|
118
|
+
test.send :assert_raises, ex, msg, &blk
|
119
|
+
else
|
120
|
+
warn "ShouldSyntax: should.not.raise is not supported"
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def method_missing(meth, *args, &blk)
|
125
|
+
result = left.send(:"#{meth}?", *args, &blk)
|
126
|
+
method = positive? ? :assert : :refute
|
127
|
+
|
128
|
+
args = [result]
|
129
|
+
args << msg if msg
|
130
|
+
|
131
|
+
test.send method, *args
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
class Object
|
137
|
+
def should
|
138
|
+
MiniTest::ShouldSyntax.new(self)
|
139
|
+
end
|
140
|
+
|
141
|
+
def should_not
|
142
|
+
MiniTest::ShouldSyntax.new(self, true)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
class MiniTest::Unit::TestCase
|
147
|
+
alias :mts_before_setup :before_setup
|
148
|
+
|
149
|
+
def before_setup(*a, &block)
|
150
|
+
MiniTest::ShouldSyntax.init self
|
151
|
+
mts_before_setup(*a, &block)
|
152
|
+
end
|
153
|
+
|
154
|
+
def msg(string=nil)
|
155
|
+
self.msg = string if string
|
156
|
+
@msg
|
157
|
+
end
|
158
|
+
|
159
|
+
def msg=(string)
|
160
|
+
@msg = string
|
161
|
+
end
|
162
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require "./lib/minitest/should_syntax/version"
|
2
|
+
Gem::Specification.new do |s|
|
3
|
+
s.name = "minitest-should_syntax"
|
4
|
+
s.version = MiniTest::ShouldSyntax.version
|
5
|
+
s.summary = "RSpec-like syntax for MiniTest."
|
6
|
+
s.description = "Lets you use a syntax similar to RSpec on your MiniTest tests."
|
7
|
+
s.authors = ["Rico Sta. Cruz"]
|
8
|
+
s.email = ["rico@sinefunc.com"]
|
9
|
+
s.homepage = "http://github.com/rstacruz/minitest-should_syntax"
|
10
|
+
s.files = `git ls-files`.strip.split("\n")
|
11
|
+
|
12
|
+
s.add_dependency "minitest"
|
13
|
+
s.add_development_dependency "mocha"
|
14
|
+
s.add_development_dependency "rake"
|
15
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
module MiniTest::ArrayMatcher
|
4
|
+
def like(right)
|
5
|
+
super unless left.is_a?(Array) && right.is_a?(Array)
|
6
|
+
if positive?
|
7
|
+
test.assert_equal left.sort, right.sort
|
8
|
+
else
|
9
|
+
test.refute_equal left.sort, right.sort
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
MiniTest::ShouldSyntax.add MiniTest::ArrayMatcher
|
15
|
+
|
16
|
+
class ExtensionTest < UnitTest
|
17
|
+
def test_extension
|
18
|
+
a = %w(a b c)
|
19
|
+
b = %w(b c a)
|
20
|
+
|
21
|
+
a.should.be.like b
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_extension_2
|
25
|
+
a = %w(a b c)
|
26
|
+
b = %w(b c A)
|
27
|
+
|
28
|
+
a.should_not.be.like b
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_extension_3
|
32
|
+
a = %w(a b c)
|
33
|
+
b = 2
|
34
|
+
|
35
|
+
should.raise(NoMethodError) { a.should.be.like b }
|
36
|
+
end
|
37
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class IncludeTest < UnitTest
|
4
|
+
def test_should_include
|
5
|
+
"abc".should.include "b"
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_should_include_fail
|
9
|
+
self.expects(:assert_includes).with { |a, b| a == "axxc" && b == "b" }
|
10
|
+
"axxc".should.include "b"
|
11
|
+
end
|
12
|
+
end
|
data/test/should_test.rb
ADDED
@@ -0,0 +1,142 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class Foo
|
4
|
+
def get_true?
|
5
|
+
true
|
6
|
+
end
|
7
|
+
|
8
|
+
def get_false?
|
9
|
+
false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class ShouldTest < UnitTest
|
14
|
+
describe "should" do
|
15
|
+
it ".should ==" do
|
16
|
+
2.should == 2
|
17
|
+
2.should_not == 3
|
18
|
+
2.should.not == 3
|
19
|
+
end
|
20
|
+
|
21
|
+
it ".should !=" do
|
22
|
+
2.should != 3
|
23
|
+
2.should_not != 2
|
24
|
+
2.should.not != 2
|
25
|
+
end
|
26
|
+
|
27
|
+
it ".should.match" do
|
28
|
+
"hi".should =~ /hi/
|
29
|
+
"hi".should.match /hi/
|
30
|
+
"hi".should_not =~ /HI/
|
31
|
+
"hi".should.not.match /HI/
|
32
|
+
end
|
33
|
+
|
34
|
+
it ".should.be.nil?" do
|
35
|
+
@foo.should.be.nil?
|
36
|
+
1000.should_not.be.nil?
|
37
|
+
end
|
38
|
+
|
39
|
+
it ".should.respond_to" do
|
40
|
+
"".should.respond_to(:empty?)
|
41
|
+
"".should_not.respond_to(:lolwhat)
|
42
|
+
end
|
43
|
+
|
44
|
+
it ".should.raise" do
|
45
|
+
should.raise(ZeroDivisionError) { 2 / 0 }
|
46
|
+
# should_not.raise { 2 + 2 }
|
47
|
+
end
|
48
|
+
|
49
|
+
it ".should.be.empty" do
|
50
|
+
[].should.be.empty
|
51
|
+
[].should.empty
|
52
|
+
end
|
53
|
+
|
54
|
+
it ".should.not.be.empty" do
|
55
|
+
[1].should_not.be.empty
|
56
|
+
[1].should.include(1)
|
57
|
+
end
|
58
|
+
|
59
|
+
it ".should <" do
|
60
|
+
2.should < 3
|
61
|
+
1.should < 2
|
62
|
+
2.should <= 2
|
63
|
+
2.should <= 4
|
64
|
+
4.should >= 4
|
65
|
+
4.should >= 3
|
66
|
+
end
|
67
|
+
|
68
|
+
it ".should.be.kind_of" do
|
69
|
+
Object.new.should.respond_to(:freeze)
|
70
|
+
Object.new.should.be.kind_of(Object)
|
71
|
+
Object.new.should.be.an.instance_of(Object)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should.be.equal again" do
|
75
|
+
a = Object.new
|
76
|
+
b = a
|
77
|
+
a.should.be.equal(b)
|
78
|
+
a.should.be(b)
|
79
|
+
a.should_not.be.equal(Object.new)
|
80
|
+
end
|
81
|
+
|
82
|
+
|
83
|
+
it ".should.be.close" do
|
84
|
+
Math::PI.should.be.close(22.0/7, 0.1)
|
85
|
+
end
|
86
|
+
|
87
|
+
it ".should.throw" do
|
88
|
+
should.throw(:x) { throw :x }
|
89
|
+
# should.not.throw { 2 + 2 }
|
90
|
+
end
|
91
|
+
|
92
|
+
it ".should.not.method_missing" do
|
93
|
+
Foo.new.should.not.get_false
|
94
|
+
Foo.new.should.get_true
|
95
|
+
end
|
96
|
+
|
97
|
+
it ".should.be" do
|
98
|
+
a = Object.new
|
99
|
+
b = a
|
100
|
+
|
101
|
+
expects(:assert_same).with(a, b, nil)
|
102
|
+
a.should.be(b)
|
103
|
+
end
|
104
|
+
|
105
|
+
it ".should.include" do
|
106
|
+
expects(:assert_includes).with([], 2, nil)
|
107
|
+
[].should.include 2
|
108
|
+
end
|
109
|
+
|
110
|
+
it ".should.not.include" do
|
111
|
+
expects(:refute_includes).with([], 2, nil)
|
112
|
+
[].should.not.include 2
|
113
|
+
end
|
114
|
+
|
115
|
+
it ".should.blaming" do
|
116
|
+
expects(:assert_equal).with(4, 3, 'lol')
|
117
|
+
3.should.blaming('lol') == 4
|
118
|
+
end
|
119
|
+
|
120
|
+
it ".msg" do
|
121
|
+
expects(:assert_equal).with(4, 3, 'oh no')
|
122
|
+
|
123
|
+
msg "oh no"
|
124
|
+
3.should == 4
|
125
|
+
end
|
126
|
+
|
127
|
+
it ".should.blaming again" do
|
128
|
+
object = Object.new
|
129
|
+
|
130
|
+
expects(:assert).with(true).at_least_once # Because minitest does this
|
131
|
+
expects(:assert).with(true, 'he cant dance')
|
132
|
+
object.expects(:dance?).returns(true)
|
133
|
+
|
134
|
+
object.should.blaming('he cant dance').dance
|
135
|
+
end
|
136
|
+
|
137
|
+
it ".should.satisfy" do
|
138
|
+
expects :assert_block
|
139
|
+
should.satisfy { false }
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
metadata
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: minitest-should_syntax
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.0
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Rico Sta. Cruz
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-01-12 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
none: false
|
21
|
+
name: minitest
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - ! '>='
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: '0'
|
29
|
+
none: false
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
version_requirements: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
none: false
|
37
|
+
name: mocha
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
none: false
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ! '>='
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
none: false
|
53
|
+
name: rake
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ! '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
none: false
|
62
|
+
description: Lets you use a syntax similar to RSpec on your MiniTest tests.
|
63
|
+
email:
|
64
|
+
- rico@sinefunc.com
|
65
|
+
executables: []
|
66
|
+
extensions: []
|
67
|
+
extra_rdoc_files: []
|
68
|
+
files:
|
69
|
+
- .gitignore
|
70
|
+
- Gemfile
|
71
|
+
- HISTORY.md
|
72
|
+
- README.md
|
73
|
+
- Rakefile
|
74
|
+
- lib/minitest/should_syntax.rb
|
75
|
+
- lib/minitest/should_syntax/version.rb
|
76
|
+
- minitest-should_syntax.gemspec
|
77
|
+
- test/extension_test.rb
|
78
|
+
- test/helper.rb
|
79
|
+
- test/include_test.rb
|
80
|
+
- test/should_test.rb
|
81
|
+
homepage: http://github.com/rstacruz/minitest-should_syntax
|
82
|
+
licenses: []
|
83
|
+
post_install_message:
|
84
|
+
rdoc_options: []
|
85
|
+
require_paths:
|
86
|
+
- lib
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ! '>='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
none: false
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
none: false
|
99
|
+
requirements: []
|
100
|
+
rubyforge_project:
|
101
|
+
rubygems_version: 1.8.23
|
102
|
+
signing_key:
|
103
|
+
specification_version: 3
|
104
|
+
summary: RSpec-like syntax for MiniTest.
|
105
|
+
test_files: []
|