test-belt 0.2.0 → 0.2.1
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.
@@ -6,8 +6,7 @@ module TestBelt::ShouldaMacros::Classes
|
|
6
6
|
|
7
7
|
# Ripped from Shoulda::ActiveRecord::Macros
|
8
8
|
def should_have_class_methods(*methods)
|
9
|
-
|
10
|
-
methods.each do |method|
|
9
|
+
handle_methods(methods) do |method|
|
11
10
|
should "respond to class method ##{method}" do
|
12
11
|
klass = construct_subject.class
|
13
12
|
assert_respond_to klass, method, "#{klass.name} does not have class method #{method}"
|
@@ -16,12 +15,20 @@ module TestBelt::ShouldaMacros::Classes
|
|
16
15
|
end
|
17
16
|
alias_method :should_have_class_method, :should_have_class_methods
|
18
17
|
protected :should_have_class_methods, :should_have_class_method
|
18
|
+
def skip_should_have_class_methods(*methods)
|
19
|
+
handle_methods(methods) do |method|
|
20
|
+
should "(skip) respond to class method ##{method}" do
|
21
|
+
skip
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
alias_method :skip_should_have_class_method, :skip_should_have_class_methods
|
26
|
+
protected :skip_should_have_class_methods, :skip_should_have_class_method
|
19
27
|
|
20
28
|
|
21
29
|
# Ripped from Shoulda::ActiveRecord::Macros
|
22
30
|
def should_have_instance_methods(*methods)
|
23
|
-
|
24
|
-
methods.each do |method|
|
31
|
+
handle_methods(methods) do |method|
|
25
32
|
should "respond to instance method ##{method}" do
|
26
33
|
the_subject = construct_subject
|
27
34
|
assert_respond_to(the_subject, method, "#{the_subject.class.name} does not have instance method #{method}")
|
@@ -30,6 +37,15 @@ module TestBelt::ShouldaMacros::Classes
|
|
30
37
|
end
|
31
38
|
alias_method :should_have_instance_method, :should_have_instance_methods
|
32
39
|
protected :should_have_instance_methods, :should_have_instance_method
|
40
|
+
def skip_should_have_instance_methods(*methods)
|
41
|
+
handle_methods(methods) do |method|
|
42
|
+
should "(skip) respond to instance method ##{method}" do
|
43
|
+
skip
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
alias_method :skip_should_have_instance_method, :skip_should_have_instance_methods
|
48
|
+
protected :skip_should_have_instance_methods, :skip_should_have_instance_method
|
33
49
|
|
34
50
|
|
35
51
|
def should_have_readers(*readers)
|
@@ -38,6 +54,12 @@ module TestBelt::ShouldaMacros::Classes
|
|
38
54
|
end
|
39
55
|
alias_method :should_have_reader, :should_have_readers
|
40
56
|
protected :should_have_readers, :should_have_reader
|
57
|
+
def skip_should_have_readers(*readers)
|
58
|
+
get_options!(readers)
|
59
|
+
skip_should_have_instance_methods *readers
|
60
|
+
end
|
61
|
+
alias_method :skip_should_have_reader, :skip_should_have_readers
|
62
|
+
protected :skip_should_have_readers, :skip_should_have_reader
|
41
63
|
|
42
64
|
|
43
65
|
def should_have_writers(*writers)
|
@@ -46,6 +68,12 @@ module TestBelt::ShouldaMacros::Classes
|
|
46
68
|
end
|
47
69
|
alias_method :should_have_writer, :should_have_writers
|
48
70
|
protected :should_have_writers, :should_have_writer
|
71
|
+
def skip_should_have_writers(*writers)
|
72
|
+
get_options!(writers)
|
73
|
+
skip_should_have_instance_methods *(writers.collect{|w| "#{w}="})
|
74
|
+
end
|
75
|
+
alias_method :skip_should_have_writer, :skip_should_have_writers
|
76
|
+
protected :skip_should_have_writers, :skip_should_have_writer
|
49
77
|
|
50
78
|
|
51
79
|
def should_have_accessors(*accessors)
|
@@ -55,6 +83,22 @@ module TestBelt::ShouldaMacros::Classes
|
|
55
83
|
end
|
56
84
|
alias_method :should_have_accessor, :should_have_accessors
|
57
85
|
protected :should_have_accessors, :should_have_accessor
|
86
|
+
def skip_should_have_accessors(*accessors)
|
87
|
+
get_options!(accessors)
|
88
|
+
skip_should_have_instance_methods *accessors
|
89
|
+
skip_should_have_instance_methods *(accessors.collect{|a| "#{a}="})
|
90
|
+
end
|
91
|
+
alias_method :skip_should_have_accessor, :skip_should_have_accessors
|
92
|
+
protected :skip_should_have_accessors, :skip_should_have_accessor
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
def handle_methods(methods)
|
98
|
+
get_options!(methods)
|
99
|
+
methods.each {|m| yield m if block_given?}
|
100
|
+
end
|
101
|
+
private :handle_methods
|
58
102
|
|
59
103
|
end
|
60
104
|
|
@@ -21,10 +21,28 @@ module TestBelt::ShouldaMacros::Files
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
protected :should_have_files
|
24
|
+
def skip_should_have_files(*files)
|
25
|
+
the_files = files.flatten
|
26
|
+
if the_files.empty?
|
27
|
+
should "(skip) have @root_path" do
|
28
|
+
skip
|
29
|
+
end
|
30
|
+
else
|
31
|
+
the_files.each do |file|
|
32
|
+
should "(skip) have the file '#{file}' in @root_path" do
|
33
|
+
skip
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
protected :skip_should_have_files
|
24
39
|
|
25
40
|
alias_method :should_have_file, :should_have_files
|
26
41
|
alias_method :should_have_directories, :should_have_files
|
27
42
|
alias_method :should_have_directory, :should_have_files
|
43
|
+
alias_method :skip_should_have_file, :skip_should_have_files
|
44
|
+
alias_method :skip_should_have_directories, :skip_should_have_files
|
45
|
+
alias_method :skip_should_have_directory, :skip_should_have_files
|
28
46
|
|
29
47
|
end
|
30
48
|
|
data/lib/test_belt/version.rb
CHANGED
@@ -6,6 +6,32 @@ class ClassesTest < Test::Unit::TestCase
|
|
6
6
|
context "TestBelt Shoulda Macros for classes" do
|
7
7
|
subject { Thing.new }
|
8
8
|
|
9
|
+
# should provide these macros
|
10
|
+
should "provide a set of macros" do
|
11
|
+
assert self.class.respond_to?(:should_have_instance_methods), "no :should_have_instance_methods macro"
|
12
|
+
assert self.class.respond_to?(:should_have_instance_method), "no :should_have_instance_method macro"
|
13
|
+
assert self.class.respond_to?(:should_have_class_methods), "no :should_have_class_methods macro"
|
14
|
+
assert self.class.respond_to?(:should_have_class_method), "no :should_have_class_method macro"
|
15
|
+
assert self.class.respond_to?(:should_have_readers), "no :should_have_readers macro"
|
16
|
+
assert self.class.respond_to?(:should_have_reader), "no :should_have_reader macro"
|
17
|
+
assert self.class.respond_to?(:should_have_writers), "no :should_have_writers macro"
|
18
|
+
assert self.class.respond_to?(:should_have_writer), "no :should_have_writer macro"
|
19
|
+
assert self.class.respond_to?(:should_have_accessors), "no :should_have_accessors macro"
|
20
|
+
assert self.class.respond_to?(:should_have_accessor), "no :should_have_accessor macro"
|
21
|
+
|
22
|
+
assert self.class.respond_to?(:skip_should_have_instance_methods), "no :skip_should_have_instance_methods macro"
|
23
|
+
assert self.class.respond_to?(:skip_should_have_instance_method), "no :skip_should_have_instance_method macro"
|
24
|
+
assert self.class.respond_to?(:skip_should_have_class_methods), "no :skip_should_have_class_methods macro"
|
25
|
+
assert self.class.respond_to?(:skip_should_have_class_method), "no :skip_should_have_class_method macro"
|
26
|
+
assert self.class.respond_to?(:skip_should_have_readers), "no :skip_should_have_readers macro"
|
27
|
+
assert self.class.respond_to?(:skip_should_have_reader), "no :skip_should_have_reader macro"
|
28
|
+
assert self.class.respond_to?(:skip_should_have_writers), "no :skip_should_have_writers macro"
|
29
|
+
assert self.class.respond_to?(:skip_should_have_writer), "no :skip_should_have_writer macro"
|
30
|
+
assert self.class.respond_to?(:skip_should_have_accessors), "no :skip_should_have_accessors macro"
|
31
|
+
assert self.class.respond_to?(:skip_should_have_accessor), "no :skip_should_have_accessor macro"
|
32
|
+
end
|
33
|
+
|
34
|
+
|
9
35
|
should_have_instance_method :an_instance_meth
|
10
36
|
should_have_instance_methods :instance1, :instance2
|
11
37
|
should_have_class_method :a_class_meth
|
@@ -16,6 +42,17 @@ class ClassesTest < Test::Unit::TestCase
|
|
16
42
|
should_have_writer :writer3
|
17
43
|
should_have_accessors :accessor1, :accessor2
|
18
44
|
should_have_accessor :accessor3
|
45
|
+
|
46
|
+
skip_should_have_instance_method :an_instance_meth
|
47
|
+
skip_should_have_instance_methods :instance1, :instance2
|
48
|
+
skip_should_have_class_method :a_class_meth
|
49
|
+
skip_should_have_class_methods :class1, :class2
|
50
|
+
skip_should_have_readers :reader1, :reader2
|
51
|
+
skip_should_have_reader :reader3
|
52
|
+
skip_should_have_writers :writer1, :writer2
|
53
|
+
skip_should_have_writer :writer3
|
54
|
+
skip_should_have_accessors :accessor1, :accessor2
|
55
|
+
skip_should_have_accessor :accessor3
|
19
56
|
end
|
20
57
|
|
21
58
|
end
|
@@ -16,13 +16,20 @@ module TestBelt::ShouldaMacros
|
|
16
16
|
assert self.class.respond_to?(:should_have_directory), "no :should_have_directory macro"
|
17
17
|
assert self.class.respond_to?(:should_have_files), "no :should_have_files macro"
|
18
18
|
assert self.class.respond_to?(:should_have_file), "no :should_have_file macro"
|
19
|
+
|
20
|
+
assert self.class.respond_to?(:skip_should_have_directories), "no :should_have_directories macro"
|
21
|
+
assert self.class.respond_to?(:skip_should_have_directory), "no :should_have_directory macro"
|
22
|
+
assert self.class.respond_to?(:skip_should_have_files), "no :should_have_files macro"
|
23
|
+
assert self.class.respond_to?(:skip_should_have_file), "no :should_have_file macro"
|
19
24
|
end
|
20
25
|
|
21
26
|
# should find the @root_path directory
|
22
27
|
should_have_directories
|
28
|
+
skip_should_have_directories
|
23
29
|
|
24
30
|
#should find files in the @root_path directory
|
25
31
|
should_have_files 'files_test.rb'
|
32
|
+
skip_should_have_files 'files_test.rb'
|
26
33
|
end
|
27
34
|
|
28
35
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-belt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 1
|
10
|
+
version: 0.2.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kelly D. Redding
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-03-02 00:00:00 -06:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|