lemon 0.8.1 → 0.8.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/HISTORY.rdoc +15 -0
- data/README.rdoc +32 -14
- data/bin/lemon +3 -2
- data/demo/case_example_fail.rb +15 -0
- data/demo/case_example_pass.rb +32 -0
- data/demo/case_example_pending.rb +14 -0
- data/demo/case_example_untested.rb +10 -0
- data/demo/fixture/example-use.rb +5 -0
- data/demo/fixture/example.rb +20 -0
- data/lib/lemon.rb +2 -2
- data/lib/lemon/cli.rb +281 -0
- data/lib/lemon/controller/coverage_analyzer.rb +343 -0
- data/lib/lemon/controller/scaffold_generator.rb +110 -0
- data/lib/lemon/controller/test_runner.rb +284 -0
- data/lib/lemon/meta/data.rb +29 -0
- data/lib/lemon/meta/gemfile +24 -0
- data/{PROFILE → lib/lemon/meta/profile} +6 -5
- data/lib/lemon/model/ae.rb +4 -0
- data/lib/lemon/model/cover_unit.rb +75 -0
- data/lib/lemon/{dsl.rb → model/main.rb} +22 -28
- data/lib/lemon/model/pending.rb +10 -0
- data/lib/lemon/model/snapshot.rb +203 -0
- data/lib/lemon/model/source_parser.rb +198 -0
- data/lib/lemon/model/test_case.rb +221 -0
- data/lib/lemon/model/test_context.rb +90 -0
- data/lib/lemon/model/test_suite.rb +216 -0
- data/lib/lemon/{test/unit.rb → model/test_unit.rb} +40 -28
- data/lib/lemon/{coversheet → view/cover_reports}/abstract.rb +19 -20
- data/lib/lemon/view/cover_reports/compact.rb +37 -0
- data/lib/lemon/view/cover_reports/outline.rb +45 -0
- data/lib/lemon/view/cover_reports/verbose.rb +51 -0
- data/lib/lemon/view/cover_reports/yaml.rb +15 -0
- data/lib/lemon/view/test_reports/abstract.rb +149 -0
- data/lib/lemon/view/test_reports/dotprogress.rb +73 -0
- data/lib/lemon/view/test_reports/html.rb +146 -0
- data/lib/lemon/view/test_reports/outline.rb +118 -0
- data/lib/lemon/view/test_reports/summary.rb +131 -0
- data/lib/lemon/view/test_reports/tap.rb +49 -0
- data/lib/lemon/view/test_reports/verbose.rb +197 -0
- data/meta/data.rb +29 -0
- data/meta/gemfile +24 -0
- data/meta/profile +17 -0
- data/test/api/applique/fs.rb +18 -0
- data/test/api/coverage/complete.rdoc +136 -0
- data/test/api/coverage/extensions.rdoc +61 -0
- data/test/api/coverage/incomplete.rdoc +97 -0
- data/{features → test/cli}/coverage.feature +4 -4
- data/{features → test/cli}/generate.feature +2 -2
- data/{features → test/cli}/step_definitions/coverage_steps.rb +0 -0
- data/{features → test/cli}/support/ae.rb +0 -0
- data/{features → test/cli}/support/aruba.rb +0 -0
- data/{features → test/cli}/test.feature +0 -0
- data/test/fixtures/case_complete.rb +17 -4
- data/test/fixtures/case_inclusion.rb +18 -0
- data/test/fixtures/case_incomplete.rb +4 -4
- data/test/fixtures/example.rb +5 -0
- data/test/fixtures/helper.rb +13 -0
- data/test/runner +3 -0
- data/test/unit/case_coverage_analyzer.rb +25 -0
- data/test/unit/case_test_case_dsl.rb +46 -0
- metadata +87 -42
- data/REQUIRE +0 -9
- data/VERSION +0 -6
- data/lib/lemon/command.rb +0 -184
- data/lib/lemon/coverage.rb +0 -260
- data/lib/lemon/coversheet/outline.rb +0 -47
- data/lib/lemon/kernel.rb +0 -24
- data/lib/lemon/reporter.rb +0 -22
- data/lib/lemon/reporter/abstract.rb +0 -97
- data/lib/lemon/reporter/dotprogress.rb +0 -68
- data/lib/lemon/reporter/outline.rb +0 -105
- data/lib/lemon/reporter/verbose.rb +0 -143
- data/lib/lemon/runner.rb +0 -308
- data/lib/lemon/snapshot.rb +0 -185
- data/lib/lemon/test/case.rb +0 -139
- data/lib/lemon/test/concern.rb +0 -52
- data/lib/lemon/test/suite.rb +0 -229
- data/test/case_coverage.rb +0 -26
- data/test/case_testcase.rb +0 -58
@@ -0,0 +1,18 @@
|
|
1
|
+
covers File.dirname(__FILE__) + '/example.rb'
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/helper.rb'
|
4
|
+
|
5
|
+
testcase X do
|
6
|
+
|
7
|
+
include HelperMixin
|
8
|
+
|
9
|
+
unit :a => "Returns a String" do
|
10
|
+
X.new.a
|
11
|
+
end
|
12
|
+
|
13
|
+
unit :b => "Returns a String" do
|
14
|
+
X.new.b
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
@@ -1,11 +1,11 @@
|
|
1
|
-
|
1
|
+
covers File.dirname(__FILE__) + '/example.rb'
|
2
2
|
|
3
|
-
|
3
|
+
testcase X do
|
4
4
|
|
5
|
-
|
5
|
+
unit :a => "Returns a String" do
|
6
6
|
end
|
7
7
|
|
8
|
-
|
8
|
+
unit :b => "Returns a String" do
|
9
9
|
end
|
10
10
|
|
11
11
|
end
|
data/test/fixtures/example.rb
CHANGED
data/test/runner
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
covers 'lemon/controller/coverage_analyzer'
|
2
|
+
|
3
|
+
testcase Lemon::CoverageAnalyzer do
|
4
|
+
|
5
|
+
setup "Coverage of public units of an incomplete test" do
|
6
|
+
@memo_instance ||= (
|
7
|
+
files = ['test/fixtures/case_incomplete.rb']
|
8
|
+
Lemon::CoverageAnalyzer.new(files)
|
9
|
+
)
|
10
|
+
end
|
11
|
+
|
12
|
+
unit :covered => 'returns a list of covered units' do |ca|
|
13
|
+
ca.covered.assert.is_a?(Array)
|
14
|
+
end
|
15
|
+
|
16
|
+
unit :uncovered => 'returns a list of uncovered units' do |ca|
|
17
|
+
ca.uncovered.assert.is_a?(Array)
|
18
|
+
end
|
19
|
+
|
20
|
+
unit :current => 'returns a current Snapshot of all units in the system' do |ca|
|
21
|
+
ca.current.assert.is_a?(Lemon::Snapshot)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,46 @@
|
|
1
|
+
testcase Lemon::TestCase::DSL do
|
2
|
+
|
3
|
+
before do
|
4
|
+
@files = ['test/fixtures/case_inclusion.rb']
|
5
|
+
end
|
6
|
+
|
7
|
+
setup "Modules included in a test case are accessible by the unit tests" do
|
8
|
+
ts = Lemon::TestSuite.new(@files)
|
9
|
+
tc = ts.testcases.first # the only one
|
10
|
+
tc.dsl
|
11
|
+
end
|
12
|
+
|
13
|
+
unit :include, "allows access to module methods" do |dsl|
|
14
|
+
mod = Module.new{ def x; "x"; end }
|
15
|
+
dsl.include(mod)
|
16
|
+
# how to test?
|
17
|
+
end
|
18
|
+
|
19
|
+
# I do not think it is possible to make this work using dyanmic module
|
20
|
+
# construction. Please correct me if you know otherwise. To fix
|
21
|
+
# would mean turning test cases into classes instead of objects. Maybe
|
22
|
+
# we will do this in the future.
|
23
|
+
omit unit :include, "allows access to nested modules" do |dsl|
|
24
|
+
mod = Module.new{ N = 1 }
|
25
|
+
dsl.include(mod)
|
26
|
+
dsl::N == 1
|
27
|
+
end
|
28
|
+
|
29
|
+
setup "Test cases are augmented by before and afters procedures" do
|
30
|
+
ts = Lemon::TestSuite.new(@files)
|
31
|
+
tc = ts.testcases.first # the only one
|
32
|
+
tc.dsl
|
33
|
+
end
|
34
|
+
|
35
|
+
unit :before => "setup a pre-testcase procedure" do |dsl|
|
36
|
+
dsl.before{ }
|
37
|
+
# how to test?
|
38
|
+
end
|
39
|
+
|
40
|
+
unit :after => "setup a post-testcase procedure" do |dsl|
|
41
|
+
dsl.after{ }
|
42
|
+
# how to test?
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lemon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 59
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 0.8.
|
9
|
+
- 2
|
10
|
+
version: 0.8.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Thomas Sawyer
|
@@ -15,11 +15,11 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-05 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
22
|
+
name: ae
|
23
23
|
prerelease: false
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
@@ -30,10 +30,10 @@ dependencies:
|
|
30
30
|
segments:
|
31
31
|
- 0
|
32
32
|
version: "0"
|
33
|
-
type: :
|
33
|
+
type: :runtime
|
34
34
|
version_requirements: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: syckle
|
37
37
|
prerelease: false
|
38
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
@@ -47,7 +47,7 @@ dependencies:
|
|
47
47
|
type: :development
|
48
48
|
version_requirements: *id002
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
50
|
+
name: box
|
51
51
|
prerelease: false
|
52
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
@@ -61,7 +61,7 @@ dependencies:
|
|
61
61
|
type: :development
|
62
62
|
version_requirements: *id003
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: cucumber
|
65
65
|
prerelease: false
|
66
66
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
67
|
none: false
|
@@ -75,7 +75,7 @@ dependencies:
|
|
75
75
|
type: :development
|
76
76
|
version_requirements: *id004
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
78
|
+
name: ae
|
79
79
|
prerelease: false
|
80
80
|
requirement: &id005 !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
@@ -88,8 +88,22 @@ dependencies:
|
|
88
88
|
version: "0"
|
89
89
|
type: :development
|
90
90
|
version_requirements: *id005
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: aruba
|
93
|
+
prerelease: false
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
version: "0"
|
103
|
+
type: :development
|
104
|
+
version_requirements: *id006
|
91
105
|
description: Lemon is a unit testing framework that tightly correlates class to test case and method to test unit.
|
92
|
-
email:
|
106
|
+
email: transfire@gmail.com
|
93
107
|
executables:
|
94
108
|
- lemon
|
95
109
|
extensions: []
|
@@ -98,45 +112,70 @@ extra_rdoc_files:
|
|
98
112
|
- README.rdoc
|
99
113
|
files:
|
100
114
|
- bin/lemon
|
101
|
-
-
|
102
|
-
-
|
103
|
-
-
|
104
|
-
-
|
105
|
-
-
|
106
|
-
-
|
107
|
-
- lib/lemon/
|
108
|
-
- lib/lemon/
|
109
|
-
- lib/lemon/
|
110
|
-
- lib/lemon/
|
111
|
-
- lib/lemon/
|
112
|
-
- lib/lemon/
|
113
|
-
- lib/lemon/
|
114
|
-
- lib/lemon/
|
115
|
-
- lib/lemon/
|
116
|
-
- lib/lemon/
|
117
|
-
- lib/lemon/
|
118
|
-
- lib/lemon/
|
119
|
-
- lib/lemon/
|
120
|
-
- lib/lemon/
|
121
|
-
- lib/lemon/
|
122
|
-
- lib/lemon/
|
123
|
-
- lib/lemon/
|
115
|
+
- demo/case_example_fail.rb
|
116
|
+
- demo/case_example_pass.rb
|
117
|
+
- demo/case_example_pending.rb
|
118
|
+
- demo/case_example_untested.rb
|
119
|
+
- demo/fixture/example-use.rb
|
120
|
+
- demo/fixture/example.rb
|
121
|
+
- lib/lemon/cli.rb
|
122
|
+
- lib/lemon/controller/coverage_analyzer.rb
|
123
|
+
- lib/lemon/controller/scaffold_generator.rb
|
124
|
+
- lib/lemon/controller/test_runner.rb
|
125
|
+
- lib/lemon/meta/data.rb
|
126
|
+
- lib/lemon/meta/gemfile
|
127
|
+
- lib/lemon/meta/profile
|
128
|
+
- lib/lemon/model/ae.rb
|
129
|
+
- lib/lemon/model/cover_unit.rb
|
130
|
+
- lib/lemon/model/main.rb
|
131
|
+
- lib/lemon/model/pending.rb
|
132
|
+
- lib/lemon/model/snapshot.rb
|
133
|
+
- lib/lemon/model/source_parser.rb
|
134
|
+
- lib/lemon/model/test_case.rb
|
135
|
+
- lib/lemon/model/test_context.rb
|
136
|
+
- lib/lemon/model/test_suite.rb
|
137
|
+
- lib/lemon/model/test_unit.rb
|
138
|
+
- lib/lemon/view/cover_reports/abstract.rb
|
139
|
+
- lib/lemon/view/cover_reports/compact.rb
|
140
|
+
- lib/lemon/view/cover_reports/outline.rb
|
141
|
+
- lib/lemon/view/cover_reports/verbose.rb
|
142
|
+
- lib/lemon/view/cover_reports/yaml.rb
|
143
|
+
- lib/lemon/view/test_reports/abstract.rb
|
144
|
+
- lib/lemon/view/test_reports/dotprogress.rb
|
145
|
+
- lib/lemon/view/test_reports/html.rb
|
146
|
+
- lib/lemon/view/test_reports/outline.rb
|
147
|
+
- lib/lemon/view/test_reports/summary.rb
|
148
|
+
- lib/lemon/view/test_reports/tap.rb
|
149
|
+
- lib/lemon/view/test_reports/verbose.rb
|
124
150
|
- lib/lemon.rb
|
125
|
-
-
|
126
|
-
-
|
151
|
+
- meta/data.rb
|
152
|
+
- meta/gemfile
|
153
|
+
- meta/profile
|
154
|
+
- test/api/applique/fs.rb
|
155
|
+
- test/api/coverage/complete.rdoc
|
156
|
+
- test/api/coverage/extensions.rdoc
|
157
|
+
- test/api/coverage/incomplete.rdoc
|
158
|
+
- test/cli/coverage.feature
|
159
|
+
- test/cli/generate.feature
|
160
|
+
- test/cli/step_definitions/coverage_steps.rb
|
161
|
+
- test/cli/support/ae.rb
|
162
|
+
- test/cli/support/aruba.rb
|
163
|
+
- test/cli/test.feature
|
127
164
|
- test/fixtures/case_complete.rb
|
165
|
+
- test/fixtures/case_inclusion.rb
|
128
166
|
- test/fixtures/case_incomplete.rb
|
129
167
|
- test/fixtures/example.rb
|
168
|
+
- test/fixtures/helper.rb
|
169
|
+
- test/runner
|
170
|
+
- test/unit/case_coverage_analyzer.rb
|
171
|
+
- test/unit/case_test_case_dsl.rb
|
130
172
|
- HISTORY.rdoc
|
131
|
-
- PROFILE
|
132
173
|
- LICENSE
|
133
174
|
- README.rdoc
|
134
|
-
- REQUIRE
|
135
|
-
- VERSION
|
136
175
|
has_rdoc: true
|
137
176
|
homepage: http://proutils.github.com/lemon
|
138
|
-
licenses:
|
139
|
-
|
177
|
+
licenses:
|
178
|
+
- Apache 2.0
|
140
179
|
post_install_message:
|
141
180
|
rdoc_options:
|
142
181
|
- --title
|
@@ -171,4 +210,10 @@ signing_key:
|
|
171
210
|
specification_version: 3
|
172
211
|
summary: Pucker-tight Unit Testing
|
173
212
|
test_files:
|
174
|
-
-
|
213
|
+
- demo/case_example_untested.rb
|
214
|
+
- lib/lemon/controller/test_runner.rb
|
215
|
+
- lib/lemon/model/test_case.rb
|
216
|
+
- lib/lemon/model/test_context.rb
|
217
|
+
- lib/lemon/model/test_suite.rb
|
218
|
+
- lib/lemon/model/test_unit.rb
|
219
|
+
- test/unit/case_test_case_dsl.rb
|
data/REQUIRE
DELETED
data/VERSION
DELETED
data/lib/lemon/command.rb
DELETED
@@ -1,184 +0,0 @@
|
|
1
|
-
module Lemon
|
2
|
-
require 'lemon'
|
3
|
-
require 'optparse'
|
4
|
-
|
5
|
-
# Lemon Command-line tool.
|
6
|
-
class Command
|
7
|
-
|
8
|
-
# Initialize and run.
|
9
|
-
def self.run
|
10
|
-
new.run
|
11
|
-
end
|
12
|
-
|
13
|
-
# New Command instance.
|
14
|
-
def initialize
|
15
|
-
@command = :test
|
16
|
-
@format = nil
|
17
|
-
@requires = []
|
18
|
-
@includes = []
|
19
|
-
@namespaces = []
|
20
|
-
@uncovered = false
|
21
|
-
@public_only = true
|
22
|
-
end
|
23
|
-
|
24
|
-
#
|
25
|
-
attr_accessor :command
|
26
|
-
|
27
|
-
#
|
28
|
-
attr_accessor :format
|
29
|
-
|
30
|
-
#
|
31
|
-
attr_accessor :requires
|
32
|
-
|
33
|
-
#
|
34
|
-
attr_accessor :includes
|
35
|
-
|
36
|
-
#
|
37
|
-
attr_accessor :namespaces
|
38
|
-
|
39
|
-
#
|
40
|
-
attr_accessor :uncovered
|
41
|
-
|
42
|
-
#
|
43
|
-
attr_accessor :public_only
|
44
|
-
|
45
|
-
|
46
|
-
# Get or set librarires to pre-require.
|
47
|
-
def requires(*paths)
|
48
|
-
@requires.concat(paths) unless paths.empty?
|
49
|
-
@requires
|
50
|
-
end
|
51
|
-
|
52
|
-
# Get or set paths to include in $LOAD_PATH.
|
53
|
-
def includes(*paths)
|
54
|
-
@includes.concat(paths) unless paths.empty?
|
55
|
-
@includes
|
56
|
-
end
|
57
|
-
|
58
|
-
#
|
59
|
-
def namespaces(*names)
|
60
|
-
@namespaces.concat(names) unless names.empty?
|
61
|
-
@namespaces
|
62
|
-
end
|
63
|
-
|
64
|
-
# Instance of OptionParser.
|
65
|
-
def parser
|
66
|
-
@parser ||= OptionParser.new do |opt|
|
67
|
-
opt.banner = "lemon [options] [files ...]"
|
68
|
-
opt.separator("Run unit tests, check coverage and generate test scaffolding.")
|
69
|
-
opt.separator " "
|
70
|
-
opt.separator("COMMAND OPTIONS (choose one):")
|
71
|
-
opt.on('--test', '-t', "run unit tests [default]") do
|
72
|
-
self.command = :test
|
73
|
-
end
|
74
|
-
opt.on('--coverage', '-c', "provide test coverage analysis") do
|
75
|
-
self.command = :cover
|
76
|
-
end
|
77
|
-
opt.on('--generate', '-g', "generate unit test scaffolding") do
|
78
|
-
self.command = :generate
|
79
|
-
end
|
80
|
-
opt.separator " "
|
81
|
-
opt.separator("COMMON OPTIONS:")
|
82
|
-
opt.on("--namespace", "-n NAME", "limit testing/coverage to namespace") do |name|
|
83
|
-
namespaces(name)
|
84
|
-
end
|
85
|
-
opt.on('--format', '-f TYPE', "select output format") do |type|
|
86
|
-
self.format = type
|
87
|
-
end
|
88
|
-
opt.on('--verbose', '-v', "select verbose report format") do |type|
|
89
|
-
self.format = :verbose
|
90
|
-
end
|
91
|
-
opt.on('--outline', '-o', "select outline report format") do |type|
|
92
|
-
self.format = :outline
|
93
|
-
end
|
94
|
-
opt.separator " "
|
95
|
-
opt.separator("COVERAGE OPTIONS:")
|
96
|
-
opt.on('--private', '-p', "include private and protected methods") do
|
97
|
-
self.public_only = false
|
98
|
-
end
|
99
|
-
opt.separator " "
|
100
|
-
opt.separator("GENERATOR OPTIONS:")
|
101
|
-
opt.on("--uncovered", "-u", "only include missing units of uncovered methods") do
|
102
|
-
self.uncovered = true
|
103
|
-
end
|
104
|
-
opt.separator " "
|
105
|
-
opt.separator("SYSTEM OPTIONS:")
|
106
|
-
opt.on("-r [FILES]" , 'files to require (before doing anything else)') do |files|
|
107
|
-
files = files.split(/[:;]/)
|
108
|
-
requires(*files)
|
109
|
-
end
|
110
|
-
opt.on("-I [PATH]" , 'locations to add to $LOAD_PATH') do |path|
|
111
|
-
paths = path.split(/[:;]/)
|
112
|
-
includes(*paths)
|
113
|
-
end
|
114
|
-
opt.on("--debug" , 'turn on debugging mode') do
|
115
|
-
$DEBUG = true
|
116
|
-
end
|
117
|
-
opt.on_tail('--help', '-h', 'show this help message') do
|
118
|
-
puts opt
|
119
|
-
exit
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
# Run command.
|
125
|
-
def run
|
126
|
-
parser.parse!
|
127
|
-
__send__(@command)
|
128
|
-
end
|
129
|
-
|
130
|
-
# Run unit tests.
|
131
|
-
def test
|
132
|
-
require 'lemon/runner'
|
133
|
-
|
134
|
-
files = ARGV.dup
|
135
|
-
|
136
|
-
includes.each{ |path| $LOAD_PATH.unshift(path) }
|
137
|
-
requires.each{ |path| require(path) }
|
138
|
-
|
139
|
-
#suite = Lemon::Test::Suite.new(files, :cover=>cover)
|
140
|
-
#runner = Lemon::Runner.new(suite, :format=>format, :cover=>cover, :namespaces=>namespaces)
|
141
|
-
|
142
|
-
suite = Lemon::Test::Suite.new(files)
|
143
|
-
runner = Lemon::Runner.new(suite, :format=>format, :namespaces=>namespaces)
|
144
|
-
|
145
|
-
runner.run
|
146
|
-
end
|
147
|
-
|
148
|
-
# Ouput coverage report.
|
149
|
-
def cover
|
150
|
-
test_files = ARGV.dup
|
151
|
-
load_files = []
|
152
|
-
|
153
|
-
includes.each{ |path| $LOAD_PATH.unshift(path) }
|
154
|
-
requires.each{ |path| require(path) }
|
155
|
-
|
156
|
-
suite = Lemon::Test::Suite.new(test_files, :cover=>true)
|
157
|
-
coverage = Lemon::Coverage.new(suite, namespaces, :public=>public_only)
|
158
|
-
|
159
|
-
coverage.format(format)
|
160
|
-
end
|
161
|
-
|
162
|
-
# Generate test templates.
|
163
|
-
def generate
|
164
|
-
test_files = ARGV.dup
|
165
|
-
|
166
|
-
includes.each{ |path| $LOAD_PATH.unshift(path) }
|
167
|
-
requires.each{ |path| require(path) }
|
168
|
-
|
169
|
-
suite = Lemon::Test::Suite.new(test_files, :cover=>true, :cover_all=>true)
|
170
|
-
cover = Lemon::Coverage.new(suite, namespaces, :public=>public_only)
|
171
|
-
#cover = Lemon::Coverage.new([], namespaces, :public=>public_only?, :uncovered=>uncovered)
|
172
|
-
|
173
|
-
if uncovered
|
174
|
-
puts cover.generate_uncovered #(output)
|
175
|
-
else
|
176
|
-
puts cover.generate #(output)
|
177
|
-
end
|
178
|
-
|
179
|
-
end
|
180
|
-
|
181
|
-
end
|
182
|
-
|
183
|
-
end
|
184
|
-
|