neo-rails 0.0.7 → 0.0.8
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/lib/neo/rails/mock.rb +16 -2
- data/lib/neo/rails/version.rb +1 -1
- data/test/mock_test.rb +30 -0
- metadata +2 -2
data/lib/neo/rails/mock.rb
CHANGED
|
@@ -56,13 +56,27 @@ module Neo
|
|
|
56
56
|
|
|
57
57
|
class MockConfig
|
|
58
58
|
def initialize(tags, options={})
|
|
59
|
-
@tags = tags
|
|
59
|
+
@tags = Set.new(tags)
|
|
60
60
|
@options = options
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
# Returns a human readable tag list.
|
|
64
64
|
def description
|
|
65
|
-
@tags.
|
|
65
|
+
@tags.map { |tag| tag.to_s.capitalize }.join(", ")
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def tags
|
|
69
|
+
@tags.to_a
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Tag mock with +tags+.
|
|
73
|
+
def tag(*tags)
|
|
74
|
+
tags.each { |tag| @tags << tag }
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Untag mock.
|
|
78
|
+
def untag(*tags)
|
|
79
|
+
tags.each { |tag| @tags.delete(tag) }
|
|
66
80
|
end
|
|
67
81
|
|
|
68
82
|
# Checks if this mock is tagged with +tag+.
|
data/lib/neo/rails/version.rb
CHANGED
data/test/mock_test.rb
CHANGED
|
@@ -31,6 +31,36 @@ class MockTest < NeoRailsCase
|
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
+
context :tag do
|
|
35
|
+
let(:mock) { Neo::Rails::Mock.new }
|
|
36
|
+
|
|
37
|
+
test "add tags" do
|
|
38
|
+
mock.mock.tag(:foo, :bar)
|
|
39
|
+
assert mock.mock.tagged?(:foo)
|
|
40
|
+
assert mock.mock.tagged?(:bar)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
test "add tag uniquely" do
|
|
44
|
+
mock.mock.tag(:foo, :foo)
|
|
45
|
+
assert_equal [ :foo ], mock.mock.tags
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
context :untag do
|
|
50
|
+
let(:mock) { Neo::Rails::Mock.new(:foo, :bar) }
|
|
51
|
+
|
|
52
|
+
test "remove tags" do
|
|
53
|
+
mock.mock.untag(:bar, :foo)
|
|
54
|
+
refute mock.mock.tagged?(:foo)
|
|
55
|
+
refute mock.mock.tagged?(:bar)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
test "remove unset tag works" do
|
|
59
|
+
refute mock.mock.tagged?(:nottagged)
|
|
60
|
+
mock.mock.untag(:nottagged)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
34
64
|
context :options do
|
|
35
65
|
let(:mock) { Neo::Rails::Mock.new(:tag, :opt => true, "string" => :yes) }
|
|
36
66
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: neo-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.8
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2012-09-
|
|
13
|
+
date: 2012-09-14 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rake
|