quicktest 0.1.0 → 0.3.2
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/README +10 -10
- data/lib/quicktest.rb +72 -56
- data/rakefile +7 -2
- data/test/test.rb +60 -20
- data/test/test_result.txt +31 -31
- metadata +2 -20
- data/doc/created.rid +0 -1
- data/doc/fr_class_index.html +0 -26
- data/doc/fr_file_index.html +0 -27
- data/doc/fr_method_index.html +0 -26
- data/doc/index.html +0 -24
- data/doc/rdoc-style.css +0 -208
- data/pkg/quicktest-0.0.1.gem +0 -0
- data/pkg/quicktest-0.0.2.gem +0 -0
- data/pkg/quicktest-0.0.3.gem +0 -0
- data/pkg/quicktest-0.0.4.gem +0 -0
- data/pkg/quicktest-0.0.5.gem +0 -0
- data/pkg/quicktest-0.0.6.gem +0 -0
- data/pkg/quicktest-0.0.7.gem +0 -0
- data/pkg/quicktest-0.0.8.gem +0 -0
data/README
CHANGED
@@ -15,16 +15,16 @@ Quicktest uses method tracing to know the method you are testing. By default the
|
|
15
15
|
|
16
16
|
== USAGE
|
17
17
|
To test a method, place another method called 'quicktest' immediately after it
|
18
|
-
the quicktest method has
|
19
|
-
- the test runner object
|
20
|
-
- a reference to self
|
18
|
+
the quicktest method has one OPTIONAL argument
|
21
19
|
- a method object for the method under test
|
22
20
|
|
23
|
-
run with
|
21
|
+
run with
|
22
|
+
|
23
|
+
spec -r quicktest file_to_test
|
24
24
|
|
25
25
|
There is a convenience script so that you can just run
|
26
26
|
|
27
|
-
|
27
|
+
quickspec file_to_test
|
28
28
|
|
29
29
|
== NOTES
|
30
30
|
- leaving test code in with your production code is not necessarily a good idea, but there is almost no runtime overhead to doing so since ruby will not evaluate code in a method until the method is invoked
|
@@ -40,17 +40,17 @@ class Foo
|
|
40
40
|
def initialize
|
41
41
|
@bar = true
|
42
42
|
end
|
43
|
-
def quicktest
|
44
|
-
|
45
|
-
|
43
|
+
def quicktest
|
44
|
+
it "bar should be initialized to true" do
|
45
|
+
bar.should == true
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
49
|
def self.hello arg
|
50
50
|
"hello" + arg
|
51
51
|
end
|
52
|
-
def self.quicktest
|
53
|
-
|
52
|
+
def self.quicktest meth
|
53
|
+
it "should prepend 'hello' to its argument" do
|
54
54
|
meth["world"].should == 'hello world' # error - no space 'helloworld'
|
55
55
|
end
|
56
56
|
end
|
data/lib/quicktest.rb
CHANGED
@@ -1,84 +1,95 @@
|
|
1
1
|
# :main: README
|
2
|
+
|
2
3
|
module QuickTest
|
3
|
-
# set which class will run the tests
|
4
|
-
def self.runner= runner;
|
5
|
-
@@runner = runner
|
6
|
-
end
|
7
|
-
def self.runner; @@runner end
|
8
4
|
|
9
|
-
#
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
5
|
+
# create module variables
|
6
|
+
class << self
|
7
|
+
# don't record the fact that we add Module.method_added
|
8
|
+
attr_accessor :ignore_first_method_added
|
9
|
+
|
10
|
+
# set which code will be running the tests
|
11
|
+
attr_accessor :runner, :runner_module
|
15
12
|
end
|
16
13
|
|
17
|
-
#
|
18
|
-
# -
|
19
|
-
# -
|
14
|
+
# to reuse this implementation
|
15
|
+
# - create a module specific to the testing system
|
16
|
+
# - and then add a flag at the bottom of this file to
|
17
|
+
# set QuickTest.runner_module to the new module
|
18
|
+
# The module should
|
20
19
|
# - implement any methods to be publicly available in the quicktest method
|
21
|
-
# -
|
20
|
+
# - contain the constants
|
21
|
+
# * QuickTestIgnoreClasses
|
22
|
+
# * QuickTestIncludeModules
|
23
|
+
#
|
24
|
+
# see RSpecTestRunner as an example
|
25
|
+
#
|
22
26
|
# it is possible to write a test runner without re-using this code.
|
23
27
|
# The test runner class to be used is set at the bottom of this file
|
24
|
-
#
|
28
|
+
# with QuickTest.runner =
|
25
29
|
class TestRunner
|
26
|
-
|
27
|
-
|
28
|
-
@@methods = []
|
29
|
-
def self.methods
|
30
|
-
@@methods
|
30
|
+
class << self
|
31
|
+
attr_accessor :methods, :tested_self
|
31
32
|
end
|
33
|
+
|
34
|
+
# keep a list of all traced methods
|
35
|
+
self.methods = []
|
32
36
|
def self.add_method( meth )
|
33
|
-
|
37
|
+
self.methods.push meth
|
34
38
|
end
|
35
39
|
def self.add_singleton_method( meth )
|
36
|
-
|
40
|
+
self.methods.push meth
|
37
41
|
end
|
38
42
|
|
39
43
|
def initialize tested
|
44
|
+
self.class.tested_self = tested
|
45
|
+
|
40
46
|
q = tested.method(:quicktest)
|
47
|
+
tested.extend(QuickTest.runner_module)
|
48
|
+
QuickTest.runner_module::QuickTestIncludeModules.each do |mod|
|
49
|
+
tested.extend mod
|
50
|
+
end
|
51
|
+
|
41
52
|
case q.arity
|
42
53
|
when 0 then q.call
|
43
|
-
when 1 then q.call self
|
44
|
-
when 2 then q.call self, tested
|
45
|
-
when 3 then q.call self, tested, tested.method(@@methods[-1])
|
54
|
+
when 1 then q.call tested.method(self.class.methods[-1])
|
46
55
|
else raise ArgumentError, "to many arguments for quicktest method"
|
47
56
|
end
|
57
|
+
|
58
|
+
tested.send :__quicktest_run_tests__
|
48
59
|
end
|
49
60
|
end
|
50
61
|
|
51
62
|
# all public instance methods are RSpec method wrappers
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
def before( &block ); @before_block = block end
|
63
|
-
def after( &block ); @after_block = block end
|
63
|
+
module RSpecTestRunner
|
64
|
+
QuickTestIgnoreClasses = [/^Spec/]
|
65
|
+
QuickTestIncludeModules = [Spec::Matchers]
|
66
|
+
@@quicktests = Hash.new
|
67
|
+
@@after_block = nil
|
68
|
+
@@before_block = nil
|
69
|
+
|
70
|
+
def before( &block ); @@before_block = block end
|
71
|
+
def after( &block ); @@after_block = block end
|
64
72
|
def it(specification, &block )
|
65
|
-
|
66
|
-
|
73
|
+
@@quicktests[(TestRunner.methods.pop.to_s << ' ' << specification)] = block
|
74
|
+
TestRunner.methods.clear
|
67
75
|
end
|
68
76
|
|
69
77
|
private
|
70
|
-
def
|
71
|
-
before_block, after_block =
|
72
|
-
tests =
|
78
|
+
def __quicktest_run_tests__ # :nodoc:
|
79
|
+
before_block, after_block = @@before_block, @@after_block
|
80
|
+
tests = @@quicktests
|
73
81
|
|
74
|
-
describe(
|
75
|
-
before {
|
76
|
-
after {
|
82
|
+
describe( TestRunner.tested_self.to_s ) do
|
83
|
+
before { before_block.call } if before_block
|
84
|
+
after { after_block.call } if after_block
|
77
85
|
|
78
86
|
tests.each_pair do |spec, test_block|
|
79
|
-
it( spec ) {
|
87
|
+
it( spec ) { test_block.call }
|
80
88
|
end
|
81
89
|
end
|
90
|
+
@@quicktests.clear
|
91
|
+
@@after_block &&= nil
|
92
|
+
@@before_block &&= nil
|
82
93
|
end
|
83
94
|
end
|
84
95
|
|
@@ -93,7 +104,6 @@ module QuickTest
|
|
93
104
|
end
|
94
105
|
end
|
95
106
|
|
96
|
-
# auto-printing of the method name is accomplished by using ruby's tracing hooks
|
97
107
|
def self.tracer_include(meta)
|
98
108
|
meta.module_eval do
|
99
109
|
|
@@ -102,6 +112,7 @@ module QuickTest
|
|
102
112
|
alias_method :__quicktest_singleton_method_added__, :singleton_method_added
|
103
113
|
alias_method :__quicktest_method_added__, :method_added
|
104
114
|
|
115
|
+
# ruby tracing hook
|
105
116
|
def singleton_method_added(traced)
|
106
117
|
# avoid infinite recursion if module is included into a class by a user
|
107
118
|
return if traced == QuickTest.runner.methods.last
|
@@ -116,23 +127,25 @@ module QuickTest
|
|
116
127
|
|
117
128
|
QuickTest.ignore_first_method_added = true
|
118
129
|
|
130
|
+
# ruby tracing hook
|
119
131
|
def method_added(traced)
|
132
|
+
qt = QuickTest
|
120
133
|
# avoid infinite recursion if module is included into a class by a user
|
121
|
-
return if traced ==
|
134
|
+
return if traced == qt.runner.methods.last
|
122
135
|
|
123
136
|
if traced == :quicktest
|
124
137
|
if self.class == Module
|
125
138
|
fail "to test module instance methods, include them in a class"
|
126
139
|
end
|
127
|
-
|
140
|
+
qt.runner.new self.new
|
128
141
|
|
129
142
|
else
|
130
|
-
unless
|
131
|
-
|
132
|
-
|
143
|
+
unless qt.ignore_first_method_added or
|
144
|
+
qt.runner_module::QuickTestIgnoreClasses.detect {|m| self.to_s =~ m}
|
145
|
+
qt.runner.add_method traced
|
133
146
|
end
|
134
147
|
|
135
|
-
|
148
|
+
qt.ignore_first_method_added = false
|
136
149
|
__quicktest_method_added__ traced
|
137
150
|
end
|
138
151
|
end
|
@@ -143,12 +156,15 @@ end
|
|
143
156
|
|
144
157
|
|
145
158
|
# add cases for different test handlers here
|
146
|
-
QuickTest.runner =
|
159
|
+
QuickTest.runner = QuickTest::TestRunner
|
160
|
+
QuickTest.runner_module =
|
147
161
|
case ARGV[0]
|
148
162
|
when '--rspec' then ARGV.shift; QuickTest::RSpecTestRunner
|
149
163
|
else # assume rspec
|
150
164
|
QuickTest::RSpecTestRunner
|
151
165
|
end
|
152
166
|
|
153
|
-
class Module
|
167
|
+
class Module # :nodoc:
|
168
|
+
include QuickTest::Tracer
|
169
|
+
end
|
154
170
|
#class Class; include QuickTest::Tracer end
|
data/rakefile
CHANGED
@@ -8,14 +8,19 @@ end
|
|
8
8
|
|
9
9
|
namespace :test do
|
10
10
|
run = '../bin/quickspec test.rb'
|
11
|
-
|
12
11
|
task :generate do
|
13
12
|
test_dir {`#{run} >| test_result.txt`}
|
14
13
|
end
|
14
|
+
|
15
15
|
desc "test quickspec executable"
|
16
16
|
task :quickspec => :generate do
|
17
17
|
test_dir {puts `#{run}`}
|
18
18
|
end
|
19
|
+
|
20
|
+
desc "test readme file"
|
21
|
+
task :README do
|
22
|
+
puts `./bin/quickspec README`
|
23
|
+
end
|
19
24
|
end
|
20
25
|
|
21
26
|
|
@@ -25,7 +30,7 @@ require 'rake/gempackagetask'
|
|
25
30
|
spec = Gem::Specification.new do |s|
|
26
31
|
s.name = "quicktest"
|
27
32
|
s.rubyforge_project = "quicktest"
|
28
|
-
s.version = "0.
|
33
|
+
s.version = "0.3.2"
|
29
34
|
s.author = "Greg Weber"
|
30
35
|
s.email = "greg@gregweber.info"
|
31
36
|
s.homepage = "http://quicktest.rubyfore.org/"
|
data/test/test.rb
CHANGED
@@ -4,32 +4,72 @@
|
|
4
4
|
# spec -r ../lib/quicktest test.rb
|
5
5
|
# regenerate and run
|
6
6
|
# spec -r ../lib/quicktest test.rb >| test_result.txt || spec -r ../lib/quicktest test.rb
|
7
|
+
|
8
|
+
# all tests for this class should always pass
|
9
|
+
class Tester
|
10
|
+
def self.meth
|
11
|
+
"hello"
|
12
|
+
end
|
13
|
+
def self.quicktest
|
14
|
+
it "should say hi" do
|
15
|
+
meth.should == "hello"
|
16
|
+
lambda{raise}.should raise_error
|
17
|
+
end
|
18
|
+
end
|
19
|
+
def self.hello arg
|
20
|
+
"hello" + arg
|
21
|
+
end
|
22
|
+
def self.quicktest m
|
23
|
+
it "should say hello" do
|
24
|
+
m[' bob'].should == "hello bob"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
def method_missing meth
|
28
|
+
@foo if meth == :foo
|
29
|
+
end
|
30
|
+
def initialize
|
31
|
+
@foo = true
|
32
|
+
end
|
33
|
+
def quicktest
|
34
|
+
it "foo should be true" do
|
35
|
+
foo.should == true
|
36
|
+
end
|
37
|
+
end
|
38
|
+
def bar; @foo end
|
39
|
+
def quicktest meth
|
40
|
+
it "foo should be true" do
|
41
|
+
meth.call.should == true
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# test failure text
|
7
47
|
$r = File.readlines('test_result.txt')
|
8
48
|
3.times {$r.shift}
|
9
49
|
|
10
|
-
def quicktest
|
50
|
+
def quicktest
|
11
51
|
msg = "should show class name in output"
|
12
|
-
|
13
|
-
$r.shift.should =~ /^'#<#{
|
52
|
+
it msg do
|
53
|
+
$r.shift.should =~ /^'#<#{self.class}:0x[^>]+> #{msg}' FAILED$/
|
14
54
|
7.times {$r.shift}
|
15
55
|
end
|
16
56
|
end
|
17
57
|
@@new_meth = :new_method_added
|
18
58
|
eval"def #@@new_meth; end"
|
19
59
|
|
20
|
-
def quicktest
|
60
|
+
def quicktest
|
21
61
|
msg = "should show name of added method"
|
22
|
-
|
23
|
-
$r.shift.should =~ /^'#<#{
|
62
|
+
it msg do
|
63
|
+
$r.shift.should =~ /^'#<#{self.class}:0x[^>]+> #{@@new_meth} #{msg}' FAILED$/
|
24
64
|
7.times {$r.shift}
|
25
65
|
end
|
26
66
|
end
|
27
67
|
|
28
68
|
module TestModule
|
29
69
|
@@klass = self
|
30
|
-
def self.quicktest
|
70
|
+
def self.quicktest
|
31
71
|
msg = "should show class name in output"
|
32
|
-
|
72
|
+
it msg do
|
33
73
|
$r.shift.should =~ /^'#{@@klass} #{msg}' FAILED$/
|
34
74
|
7.times {$r.shift}
|
35
75
|
end
|
@@ -38,9 +78,9 @@ module TestModule
|
|
38
78
|
@@new_singleton_meth = 'new_singleton_method_added'
|
39
79
|
eval"def self.#@@new_singleton_meth;end"
|
40
80
|
|
41
|
-
def self.quicktest
|
81
|
+
def self.quicktest
|
42
82
|
msg = "should show class name in output"
|
43
|
-
|
83
|
+
it msg do
|
44
84
|
$r.shift.should =~ /^'#{@@klass} #@@new_singleton_meth #{msg}' FAILED$/
|
45
85
|
7.times {$r.shift}
|
46
86
|
end
|
@@ -49,27 +89,27 @@ end
|
|
49
89
|
|
50
90
|
class TestClass
|
51
91
|
@@klass = self
|
52
|
-
def self.quicktest
|
92
|
+
def self.quicktest
|
53
93
|
msg = "should show class name in output"
|
54
|
-
|
94
|
+
it msg do
|
55
95
|
$r.shift.should =~ /^'#{@@klass} #{msg}' FAILED$/
|
56
96
|
7.times {$r.shift}
|
57
97
|
end
|
58
98
|
end
|
59
|
-
def quicktest
|
99
|
+
def quicktest
|
60
100
|
msg = "should show class name in output"
|
61
|
-
|
62
|
-
$r.shift.should =~ /^'#<#{
|
101
|
+
it msg do
|
102
|
+
$r.shift.should =~ /^'#<#{self.class}:0x[^>]+> #{msg}' FAILED$/
|
63
103
|
7.times {$r.shift}
|
64
104
|
end
|
65
105
|
end
|
66
106
|
@@new_meth = :new_method_added
|
67
107
|
define_method @@new_meth do end
|
68
108
|
|
69
|
-
def quicktest
|
109
|
+
def quicktest
|
70
110
|
msg = "should show name of added method"
|
71
|
-
|
72
|
-
$r.shift.should =~ /^'#<#{
|
111
|
+
it msg do
|
112
|
+
$r.shift.should =~ /^'#<#{self.class}:0x[^>]+> #{@@new_meth} #{msg}' FAILED$/
|
73
113
|
7.times {$r.shift}
|
74
114
|
end
|
75
115
|
end
|
@@ -77,9 +117,9 @@ class TestClass
|
|
77
117
|
@@new_singleton_meth = 'new_singleton_method_added'
|
78
118
|
eval"def self.#@@new_singleton_meth;end"
|
79
119
|
|
80
|
-
def self.quicktest
|
120
|
+
def self.quicktest
|
81
121
|
msg = "should show class name in output"
|
82
|
-
|
122
|
+
it msg do
|
83
123
|
$r.shift.should =~ /^'#{@@klass} #@@new_singleton_meth #{msg}' FAILED$/
|
84
124
|
7.times {$r.shift}
|
85
125
|
end
|
data/test/test_result.txt
CHANGED
@@ -1,69 +1,69 @@
|
|
1
|
-
FFFFFFFF
|
1
|
+
....FFFFFFFF
|
2
2
|
|
3
3
|
1)
|
4
|
-
'#<Object:
|
4
|
+
'#<Object:0xb7820c3c> should show class name in output' FAILED
|
5
5
|
expected: /^'#<Object:0x[^>]+> should show class name in output' FAILED$/,
|
6
6
|
got: nil (using =~)
|
7
|
-
./test.rb:
|
8
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
9
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
7
|
+
./test.rb:53:in `quicktest'
|
8
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
9
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
10
10
|
|
11
11
|
2)
|
12
|
-
'#<Object:
|
12
|
+
'#<Object:0xb7820494> new_method_added should show name of added method' FAILED
|
13
13
|
expected: /^'#<Object:0x[^>]+> new_method_added should show name of added method' FAILED$/,
|
14
14
|
got: nil (using =~)
|
15
|
-
./test.rb:
|
16
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
17
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
15
|
+
./test.rb:63:in `quicktest'
|
16
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
17
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
18
18
|
|
19
19
|
3)
|
20
20
|
'TestModule should show class name in output' FAILED
|
21
21
|
expected: /^'TestModule should show class name in output' FAILED$/,
|
22
22
|
got: nil (using =~)
|
23
|
-
./test.rb:
|
24
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
25
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
23
|
+
./test.rb:73:in `quicktest'
|
24
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
25
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
26
26
|
|
27
27
|
4)
|
28
28
|
'TestModule new_singleton_method_added should show class name in output' FAILED
|
29
29
|
expected: /^'TestModule new_singleton_method_added should show class name in output' FAILED$/,
|
30
30
|
got: nil (using =~)
|
31
|
-
./test.rb:
|
32
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
33
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
31
|
+
./test.rb:84:in `quicktest'
|
32
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
33
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
34
34
|
|
35
35
|
5)
|
36
36
|
'TestClass should show class name in output' FAILED
|
37
37
|
expected: /^'TestClass should show class name in output' FAILED$/,
|
38
38
|
got: nil (using =~)
|
39
|
-
./test.rb:
|
40
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
41
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
39
|
+
./test.rb:95:in `quicktest'
|
40
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
41
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
42
42
|
|
43
43
|
6)
|
44
|
-
'#<TestClass:
|
44
|
+
'#<TestClass:0xb781e928> should show class name in output' FAILED
|
45
45
|
expected: /^'#<TestClass:0x[^>]+> should show class name in output' FAILED$/,
|
46
46
|
got: nil (using =~)
|
47
|
-
./test.rb:
|
48
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
49
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
47
|
+
./test.rb:102:in `quicktest'
|
48
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
49
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
50
50
|
|
51
51
|
7)
|
52
|
-
'#<TestClass:
|
52
|
+
'#<TestClass:0xb781e248> new_method_added should show name of added method' FAILED
|
53
53
|
expected: /^'#<TestClass:0x[^>]+> new_method_added should show name of added method' FAILED$/,
|
54
54
|
got: nil (using =~)
|
55
|
-
./test.rb:
|
56
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
57
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
55
|
+
./test.rb:112:in `quicktest'
|
56
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
57
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
58
58
|
|
59
59
|
8)
|
60
60
|
'TestClass new_singleton_method_added should show class name in output' FAILED
|
61
61
|
expected: /^'TestClass new_singleton_method_added should show class name in output' FAILED$/,
|
62
62
|
got: nil (using =~)
|
63
|
-
./test.rb:
|
64
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
65
|
-
/home/greg/quicktest/lib/quicktest.rb:
|
63
|
+
./test.rb:123:in `quicktest'
|
64
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `call'
|
65
|
+
/home/greg/quicktest/lib/quicktest.rb:87:in `__quicktest_run_tests__'
|
66
66
|
|
67
|
-
Finished in 0.
|
67
|
+
Finished in 0.030033 seconds
|
68
68
|
|
69
|
-
|
69
|
+
12 examples, 8 failures
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: quicktest
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2008-02-
|
6
|
+
version: 0.3.2
|
7
|
+
date: 2008-02-27 00:00:00 -06:00
|
8
8
|
summary: utility for inlining tests with the code tested
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -30,30 +30,12 @@ authors:
|
|
30
30
|
- Greg Weber
|
31
31
|
files:
|
32
32
|
- ./bin
|
33
|
-
- ./doc
|
34
33
|
- ./lib
|
35
|
-
- ./pkg
|
36
34
|
- ./test
|
37
35
|
- ./README
|
38
36
|
- ./rakefile
|
39
37
|
- bin/quickspec
|
40
|
-
- doc/files
|
41
|
-
- doc/index.html
|
42
|
-
- doc/rdoc-style.css
|
43
|
-
- doc/fr_method_index.html
|
44
|
-
- doc/fr_class_index.html
|
45
|
-
- doc/fr_file_index.html
|
46
|
-
- doc/created.rid
|
47
|
-
- doc/classes
|
48
38
|
- lib/quicktest.rb
|
49
|
-
- pkg/quicktest-0.0.1.gem
|
50
|
-
- pkg/quicktest-0.0.2.gem
|
51
|
-
- pkg/quicktest-0.0.3.gem
|
52
|
-
- pkg/quicktest-0.0.4.gem
|
53
|
-
- pkg/quicktest-0.0.5.gem
|
54
|
-
- pkg/quicktest-0.0.6.gem
|
55
|
-
- pkg/quicktest-0.0.7.gem
|
56
|
-
- pkg/quicktest-0.0.8.gem
|
57
39
|
- test/test.rb
|
58
40
|
- test/test_result.txt
|
59
41
|
- README
|
data/doc/created.rid
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
Sun, 24 Feb 2008 23:21:27 -0600
|
data/doc/fr_class_index.html
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
3
|
-
<!DOCTYPE html
|
4
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
6
|
-
|
7
|
-
<!--
|
8
|
-
|
9
|
-
Classes
|
10
|
-
|
11
|
-
-->
|
12
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
|
-
<head>
|
14
|
-
<title>Classes</title>
|
15
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
16
|
-
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
|
-
<base target="docwin" />
|
18
|
-
</head>
|
19
|
-
<body>
|
20
|
-
<div id="index">
|
21
|
-
<h1 class="section-bar">Classes</h1>
|
22
|
-
<div id="index-entries">
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</body>
|
26
|
-
</html>
|
data/doc/fr_file_index.html
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
|
2
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
3
|
-
<!DOCTYPE html
|
4
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
6
|
-
|
7
|
-
<!--
|
8
|
-
|
9
|
-
Files
|
10
|
-
|
11
|
-
-->
|
12
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
|
-
<head>
|
14
|
-
<title>Files</title>
|
15
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
16
|
-
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
|
-
<base target="docwin" />
|
18
|
-
</head>
|
19
|
-
<body>
|
20
|
-
<div id="index">
|
21
|
-
<h1 class="section-bar">Files</h1>
|
22
|
-
<div id="index-entries">
|
23
|
-
<a href="files/README.html">README</a><br />
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</body>
|
27
|
-
</html>
|
data/doc/fr_method_index.html
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
3
|
-
<!DOCTYPE html
|
4
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
6
|
-
|
7
|
-
<!--
|
8
|
-
|
9
|
-
Methods
|
10
|
-
|
11
|
-
-->
|
12
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
13
|
-
<head>
|
14
|
-
<title>Methods</title>
|
15
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
16
|
-
<link rel="stylesheet" href="rdoc-style.css" type="text/css" />
|
17
|
-
<base target="docwin" />
|
18
|
-
</head>
|
19
|
-
<body>
|
20
|
-
<div id="index">
|
21
|
-
<h1 class="section-bar">Methods</h1>
|
22
|
-
<div id="index-entries">
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</body>
|
26
|
-
</html>
|
data/doc/index.html
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
5
|
-
|
6
|
-
<!--
|
7
|
-
|
8
|
-
RDoc Documentation
|
9
|
-
|
10
|
-
-->
|
11
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
12
|
-
<head>
|
13
|
-
<title>RDoc Documentation</title>
|
14
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
15
|
-
</head>
|
16
|
-
<frameset rows="20%, 80%">
|
17
|
-
<frameset cols="25%,35%,45%">
|
18
|
-
<frame src="fr_file_index.html" title="Files" name="Files" />
|
19
|
-
<frame src="fr_class_index.html" name="Classes" />
|
20
|
-
<frame src="fr_method_index.html" name="Methods" />
|
21
|
-
</frameset>
|
22
|
-
<frame src="files/README.html" name="docwin" />
|
23
|
-
</frameset>
|
24
|
-
</html>
|
data/doc/rdoc-style.css
DELETED
@@ -1,208 +0,0 @@
|
|
1
|
-
|
2
|
-
body {
|
3
|
-
font-family: Verdana,Arial,Helvetica,sans-serif;
|
4
|
-
font-size: 90%;
|
5
|
-
margin: 0;
|
6
|
-
margin-left: 40px;
|
7
|
-
padding: 0;
|
8
|
-
background: white;
|
9
|
-
}
|
10
|
-
|
11
|
-
h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
|
12
|
-
h1 { font-size: 150%; }
|
13
|
-
h2,h3,h4 { margin-top: 1em; }
|
14
|
-
|
15
|
-
a { background: #eef; color: #039; text-decoration: none; }
|
16
|
-
a:hover { background: #039; color: #eef; }
|
17
|
-
|
18
|
-
/* Override the base stylesheet's Anchor inside a table cell */
|
19
|
-
td > a {
|
20
|
-
background: transparent;
|
21
|
-
color: #039;
|
22
|
-
text-decoration: none;
|
23
|
-
}
|
24
|
-
|
25
|
-
/* and inside a section title */
|
26
|
-
.section-title > a {
|
27
|
-
background: transparent;
|
28
|
-
color: #eee;
|
29
|
-
text-decoration: none;
|
30
|
-
}
|
31
|
-
|
32
|
-
/* === Structural elements =================================== */
|
33
|
-
|
34
|
-
div#index {
|
35
|
-
margin: 0;
|
36
|
-
margin-left: -40px;
|
37
|
-
padding: 0;
|
38
|
-
font-size: 90%;
|
39
|
-
}
|
40
|
-
|
41
|
-
|
42
|
-
div#index a {
|
43
|
-
margin-left: 0.7em;
|
44
|
-
}
|
45
|
-
|
46
|
-
div#index .section-bar {
|
47
|
-
margin-left: 0px;
|
48
|
-
padding-left: 0.7em;
|
49
|
-
background: #ccc;
|
50
|
-
font-size: small;
|
51
|
-
}
|
52
|
-
|
53
|
-
|
54
|
-
div#classHeader, div#fileHeader {
|
55
|
-
width: auto;
|
56
|
-
color: white;
|
57
|
-
padding: 0.5em 1.5em 0.5em 1.5em;
|
58
|
-
margin: 0;
|
59
|
-
margin-left: -40px;
|
60
|
-
border-bottom: 3px solid #006;
|
61
|
-
}
|
62
|
-
|
63
|
-
div#classHeader a, div#fileHeader a {
|
64
|
-
background: inherit;
|
65
|
-
color: white;
|
66
|
-
}
|
67
|
-
|
68
|
-
div#classHeader td, div#fileHeader td {
|
69
|
-
background: inherit;
|
70
|
-
color: white;
|
71
|
-
}
|
72
|
-
|
73
|
-
|
74
|
-
div#fileHeader {
|
75
|
-
background: #057;
|
76
|
-
}
|
77
|
-
|
78
|
-
div#classHeader {
|
79
|
-
background: #048;
|
80
|
-
}
|
81
|
-
|
82
|
-
|
83
|
-
.class-name-in-header {
|
84
|
-
font-size: 180%;
|
85
|
-
font-weight: bold;
|
86
|
-
}
|
87
|
-
|
88
|
-
|
89
|
-
div#bodyContent {
|
90
|
-
padding: 0 1.5em 0 1.5em;
|
91
|
-
}
|
92
|
-
|
93
|
-
div#description {
|
94
|
-
padding: 0.5em 1.5em;
|
95
|
-
background: #efefef;
|
96
|
-
border: 1px dotted #999;
|
97
|
-
}
|
98
|
-
|
99
|
-
div#description h1,h2,h3,h4,h5,h6 {
|
100
|
-
color: #125;;
|
101
|
-
background: transparent;
|
102
|
-
}
|
103
|
-
|
104
|
-
div#validator-badges {
|
105
|
-
text-align: center;
|
106
|
-
}
|
107
|
-
div#validator-badges img { border: 0; }
|
108
|
-
|
109
|
-
div#copyright {
|
110
|
-
color: #333;
|
111
|
-
background: #efefef;
|
112
|
-
font: 0.75em sans-serif;
|
113
|
-
margin-top: 5em;
|
114
|
-
margin-bottom: 0;
|
115
|
-
padding: 0.5em 2em;
|
116
|
-
}
|
117
|
-
|
118
|
-
|
119
|
-
/* === Classes =================================== */
|
120
|
-
|
121
|
-
table.header-table {
|
122
|
-
color: white;
|
123
|
-
font-size: small;
|
124
|
-
}
|
125
|
-
|
126
|
-
.type-note {
|
127
|
-
font-size: small;
|
128
|
-
color: #DEDEDE;
|
129
|
-
}
|
130
|
-
|
131
|
-
.xxsection-bar {
|
132
|
-
background: #eee;
|
133
|
-
color: #333;
|
134
|
-
padding: 3px;
|
135
|
-
}
|
136
|
-
|
137
|
-
.section-bar {
|
138
|
-
color: #333;
|
139
|
-
border-bottom: 1px solid #999;
|
140
|
-
margin-left: -20px;
|
141
|
-
}
|
142
|
-
|
143
|
-
|
144
|
-
.section-title {
|
145
|
-
background: #79a;
|
146
|
-
color: #eee;
|
147
|
-
padding: 3px;
|
148
|
-
margin-top: 2em;
|
149
|
-
margin-left: -30px;
|
150
|
-
border: 1px solid #999;
|
151
|
-
}
|
152
|
-
|
153
|
-
.top-aligned-row { vertical-align: top }
|
154
|
-
.bottom-aligned-row { vertical-align: bottom }
|
155
|
-
|
156
|
-
/* --- Context section classes ----------------------- */
|
157
|
-
|
158
|
-
.context-row { }
|
159
|
-
.context-item-name { font-family: monospace; font-weight: bold; color: black; }
|
160
|
-
.context-item-value { font-size: small; color: #448; }
|
161
|
-
.context-item-desc { color: #333; padding-left: 2em; }
|
162
|
-
|
163
|
-
/* --- Method classes -------------------------- */
|
164
|
-
.method-detail {
|
165
|
-
background: #efefef;
|
166
|
-
padding: 0;
|
167
|
-
margin-top: 0.5em;
|
168
|
-
margin-bottom: 1em;
|
169
|
-
border: 1px dotted #ccc;
|
170
|
-
}
|
171
|
-
.method-heading {
|
172
|
-
color: black;
|
173
|
-
background: #ccc;
|
174
|
-
border-bottom: 1px solid #666;
|
175
|
-
padding: 0.2em 0.5em 0 0.5em;
|
176
|
-
}
|
177
|
-
.method-signature { color: black; background: inherit; }
|
178
|
-
.method-name { font-weight: bold; }
|
179
|
-
.method-args { font-style: italic; }
|
180
|
-
.method-description { padding: 0 0.5em 0 0.5em; }
|
181
|
-
|
182
|
-
/* --- Source code sections -------------------- */
|
183
|
-
|
184
|
-
a.source-toggle { font-size: 90%; }
|
185
|
-
div.method-source-code {
|
186
|
-
background: #262626;
|
187
|
-
color: #ffdead;
|
188
|
-
margin: 1em;
|
189
|
-
padding: 0.5em;
|
190
|
-
border: 1px dashed #999;
|
191
|
-
overflow: hidden;
|
192
|
-
}
|
193
|
-
|
194
|
-
div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
195
|
-
|
196
|
-
/* --- Ruby keyword styles --------------------- */
|
197
|
-
|
198
|
-
.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
|
199
|
-
|
200
|
-
.ruby-constant { color: #7fffd4; background: transparent; }
|
201
|
-
.ruby-keyword { color: #00ffff; background: transparent; }
|
202
|
-
.ruby-ivar { color: #eedd82; background: transparent; }
|
203
|
-
.ruby-operator { color: #00ffee; background: transparent; }
|
204
|
-
.ruby-identifier { color: #ffdead; background: transparent; }
|
205
|
-
.ruby-node { color: #ffa07a; background: transparent; }
|
206
|
-
.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
|
207
|
-
.ruby-regexp { color: #ffa07a; background: transparent; }
|
208
|
-
.ruby-value { color: #7fffd4; background: transparent; }
|
data/pkg/quicktest-0.0.1.gem
DELETED
Binary file
|
data/pkg/quicktest-0.0.2.gem
DELETED
Binary file
|
data/pkg/quicktest-0.0.3.gem
DELETED
Binary file
|
data/pkg/quicktest-0.0.4.gem
DELETED
Binary file
|
data/pkg/quicktest-0.0.5.gem
DELETED
Binary file
|
data/pkg/quicktest-0.0.6.gem
DELETED
Binary file
|
data/pkg/quicktest-0.0.7.gem
DELETED
Binary file
|
data/pkg/quicktest-0.0.8.gem
DELETED
Binary file
|