minitest-extra-assertions 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +20 -8
- data/README.rdoc +4 -0
- data/VERSION +1 -1
- data/lib/minitest-extra-assertions.rb +14 -1
- data/minitest-extra-assertions.gemspec +62 -0
- data/test/test_minitest-extra-assertions.rb +31 -0
- metadata +40 -14
data/Gemfile.lock
CHANGED
@@ -1,22 +1,34 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
activesupport (3.2.11)
|
5
|
+
i18n (~> 0.6)
|
6
|
+
multi_json (~> 1.0)
|
7
|
+
bourne (1.1.2)
|
8
|
+
mocha (= 0.10.5)
|
4
9
|
git (1.2.5)
|
5
|
-
|
10
|
+
i18n (0.6.1)
|
11
|
+
jeweler (1.8.4)
|
6
12
|
bundler (~> 1.0)
|
7
13
|
git (>= 1.2.5)
|
8
14
|
rake
|
9
15
|
rdoc
|
10
|
-
json (1.
|
16
|
+
json (1.7.6)
|
17
|
+
metaclass (0.0.1)
|
11
18
|
minitest (2.12.1)
|
12
|
-
|
19
|
+
mocha (0.10.5)
|
20
|
+
metaclass (~> 0.0.1)
|
21
|
+
multi_json (1.5.0)
|
22
|
+
rake (10.0.3)
|
13
23
|
rdoc (3.12)
|
14
24
|
json (~> 1.4)
|
15
|
-
shoulda (3.
|
16
|
-
shoulda-context (~> 1.0.
|
17
|
-
shoulda-matchers (~> 1.
|
18
|
-
shoulda-context (1.0.
|
19
|
-
shoulda-matchers (1.
|
25
|
+
shoulda (3.3.2)
|
26
|
+
shoulda-context (~> 1.0.1)
|
27
|
+
shoulda-matchers (~> 1.4.1)
|
28
|
+
shoulda-context (1.0.2)
|
29
|
+
shoulda-matchers (1.4.2)
|
30
|
+
activesupport (>= 3.0.0)
|
31
|
+
bourne (~> 1.1.2)
|
20
32
|
|
21
33
|
PLATFORMS
|
22
34
|
ruby
|
data/README.rdoc
CHANGED
@@ -18,6 +18,10 @@ salve the headaches involved in switching.
|
|
18
18
|
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
19
19
|
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
20
20
|
|
21
|
+
== Contributors
|
22
|
+
|
23
|
+
* @jaggederest: Added assert_between
|
24
|
+
|
21
25
|
== Copyright
|
22
26
|
|
23
27
|
Copyright (c) 2012 Ben Somers. See LICENSE.txt for further details.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
@@ -10,13 +10,26 @@ module MiniTest
|
|
10
10
|
assert obj == true, msg
|
11
11
|
end
|
12
12
|
|
13
|
-
# This
|
13
|
+
# This actually conflicts with behavior in minitest proper; this mimics the
|
14
|
+
# old Test::Unit implementation, relying on the #=~ method of the actual object.
|
15
|
+
# Minitest calls #=~ on the matcher instead, which is honestly better by the POLS
|
16
|
+
# but makes it much more difficult to test objects that have custom #=~ implementations.
|
14
17
|
def assert_match exp, act, msg = nil
|
15
18
|
msg = message(msg) { "Expected #{mu_pp(exp)} to match #{mu_pp(act)}" }
|
16
19
|
assert_respond_to act, "=~"
|
17
20
|
exp = Regexp.new(Regexp.escape(exp)) if String === exp
|
18
21
|
assert act =~ exp, msg
|
19
22
|
end
|
23
|
+
|
24
|
+
def assert_between(*args)
|
25
|
+
hi, lo, exp, msg = if args.first.is_a?(Range)
|
26
|
+
[args.first.begin, args.first.end, args[1], args[2]]
|
27
|
+
else
|
28
|
+
args[0..3]
|
29
|
+
end
|
30
|
+
msg = message(msg) { "Expected #{mu_pp(exp)} to be between #{mu_pp(lo)} and #{mu_pp(hi)}" }
|
31
|
+
assert (lo < exp && exp < hi) || (hi < exp && exp < lo), msg
|
32
|
+
end
|
20
33
|
end
|
21
34
|
end
|
22
35
|
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "minitest-extra-assertions"
|
8
|
+
s.version = "0.2.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Ben Somers"]
|
12
|
+
s.date = "2013-01-23"
|
13
|
+
s.description = "Additional assertions for seattlerb's popular MiniTest framework. Mostly aimed around improving compatibility with test-unit."
|
14
|
+
s.email = "somers.ben@gmail.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
"Gemfile",
|
22
|
+
"Gemfile.lock",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"lib/minitest-extra-assertions.rb",
|
28
|
+
"minitest-extra-assertions.gemspec",
|
29
|
+
"test/helper.rb",
|
30
|
+
"test/test_minitest-extra-assertions.rb"
|
31
|
+
]
|
32
|
+
s.homepage = "http://github.com/bensomers/minitest-extra-assertions"
|
33
|
+
s.licenses = ["MIT"]
|
34
|
+
s.require_paths = ["lib"]
|
35
|
+
s.rubygems_version = "1.8.24"
|
36
|
+
s.summary = "Extra assertions for MiniTest"
|
37
|
+
|
38
|
+
if s.respond_to? :specification_version then
|
39
|
+
s.specification_version = 3
|
40
|
+
|
41
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
42
|
+
s.add_development_dependency(%q<minitest>, ["~> 2.0"])
|
43
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
44
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
45
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
46
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
47
|
+
else
|
48
|
+
s.add_dependency(%q<minitest>, ["~> 2.0"])
|
49
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
50
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
51
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
52
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
53
|
+
end
|
54
|
+
else
|
55
|
+
s.add_dependency(%q<minitest>, ["~> 2.0"])
|
56
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
57
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
58
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
59
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
@@ -79,6 +79,37 @@ class TestMinitestExtraAssertions < Test::Unit::TestCase
|
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
|
+
context ".assert_between" do
|
83
|
+
should "return true for basic integers" do
|
84
|
+
@assertion_count = 1
|
85
|
+
assert_equal true, @tc.assert_between(1,10,5), "returns true for 1 to 10 and 5"
|
86
|
+
end
|
87
|
+
|
88
|
+
should "return true for the range case" do
|
89
|
+
@assertion_count = 1
|
90
|
+
assert_equal true, @tc.assert_between((1..10), 5), "returns true for 1..10 with 5"
|
91
|
+
end
|
92
|
+
|
93
|
+
should "handle the case where the hi part is first" do
|
94
|
+
@assertion_count = 1
|
95
|
+
assert_equal true, @tc.assert_between(10, 1, 5), "returns true for 10 to 1, with 5"
|
96
|
+
end
|
97
|
+
|
98
|
+
should "return false for values outside the bounds" do
|
99
|
+
@assertion_count = 1
|
100
|
+
util_assert_triggered "Expected 100 to be between 10 and 1." do
|
101
|
+
@tc.assert_between(1, 10, 100)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
should "raise error for incompatible values" do
|
106
|
+
@assertion_count = 0
|
107
|
+
assert_raises ArgumentError do
|
108
|
+
@tc.assert_between(1, 10, Time.now)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
82
113
|
# This is pull-requested for minitest proper, hopefully will be merged soon
|
83
114
|
def test_assert_match_unusual_object
|
84
115
|
@assertion_count = 2
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-extra-assertions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '2.0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: shoulda
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rdoc
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '3.12'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.12'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: bundler
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '1.0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: jeweler
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ~>
|
@@ -65,7 +85,12 @@ dependencies:
|
|
65
85
|
version: 1.8.3
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.8.3
|
69
94
|
description: Additional assertions for seattlerb's popular MiniTest framework. Mostly
|
70
95
|
aimed around improving compatibility with test-unit.
|
71
96
|
email: somers.ben@gmail.com
|
@@ -83,6 +108,7 @@ files:
|
|
83
108
|
- Rakefile
|
84
109
|
- VERSION
|
85
110
|
- lib/minitest-extra-assertions.rb
|
111
|
+
- minitest-extra-assertions.gemspec
|
86
112
|
- test/helper.rb
|
87
113
|
- test/test_minitest-extra-assertions.rb
|
88
114
|
homepage: http://github.com/bensomers/minitest-extra-assertions
|
@@ -100,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
100
126
|
version: '0'
|
101
127
|
segments:
|
102
128
|
- 0
|
103
|
-
hash:
|
129
|
+
hash: -2295176469853663409
|
104
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
131
|
none: false
|
106
132
|
requirements:
|
@@ -109,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
135
|
version: '0'
|
110
136
|
requirements: []
|
111
137
|
rubyforge_project:
|
112
|
-
rubygems_version: 1.8.
|
138
|
+
rubygems_version: 1.8.24
|
113
139
|
signing_key:
|
114
140
|
specification_version: 3
|
115
141
|
summary: Extra assertions for MiniTest
|