lemon 0.8.5 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/{lemon.gemspec → .gemspec} +0 -0
- data/.ruby +4 -11
- data/Assembly +5 -11
- data/HISTORY.rdoc +31 -0
- data/MANIFEST +45 -55
- data/PROFILE +6 -6
- data/README.md +113 -0
- data/Rakefile +12 -3
- data/VERSION +1 -1
- data/bin/lemonade +8 -0
- data/lib/lemon.rb +52 -2
- data/lib/lemon.yml +4 -11
- data/lib/lemon/{model/ae.rb → ae.rb} +0 -0
- data/lib/lemon/cli.rb +28 -279
- data/lib/lemon/cli/base.rb +139 -0
- data/lib/lemon/cli/coverage.rb +52 -0
- data/lib/lemon/cli/generate.rb +51 -0
- data/lib/lemon/cli/test.rb +50 -0
- data/lib/lemon/core_ext.rb +7 -0
- data/lib/lemon/core_ext/kernel.rb +20 -0
- data/lib/lemon/core_ext/omission.rb +18 -0
- data/lib/lemon/{controller/coverage_analyzer.rb → coverage/analyzer.rb} +41 -19
- data/lib/lemon/{model → coverage}/cover_unit.rb +0 -0
- data/lib/lemon/{view/cover_reports → coverage/formats}/abstract.rb +0 -0
- data/lib/lemon/{view/cover_reports → coverage/formats}/compact.rb +1 -1
- data/lib/lemon/{view/cover_reports → coverage/formats}/outline.rb +1 -1
- data/lib/lemon/{view/cover_reports → coverage/formats}/verbose.rb +1 -1
- data/lib/lemon/{view/cover_reports → coverage/formats}/yaml.rb +1 -1
- data/lib/lemon/{model → coverage}/snapshot.rb +0 -0
- data/lib/lemon/{model → coverage}/source_parser.rb +0 -0
- data/lib/lemon/{controller/scaffold_generator.rb → generator.rb} +53 -14
- data/lib/lemon/test_advice.rb +63 -0
- data/lib/lemon/test_case.rb +270 -0
- data/lib/lemon/test_class.rb +28 -0
- data/lib/lemon/test_method.rb +207 -0
- data/lib/lemon/test_module.rb +114 -0
- data/lib/lemon/test_proc.rb +140 -0
- data/lib/lemon/test_setup.rb +54 -0
- data/lib/lemon/test_world.rb +9 -0
- data/notes/{2010-05-06-files_not_classes.rdoc → 2010-05-06-files-not-classes.rdoc} +0 -0
- data/notes/{2010-07-11-acid_testing.rdoc → 2010-07-11-acid-testing.rdoc} +0 -0
- data/notes/2011-07-07-nailing-down-the-nomenclature.md +6 -0
- data/site/index.html +7 -6
- data/{qed → spec}/applique/fs.rb +0 -0
- data/{qed → spec}/coverage/01_complete.rdoc +26 -16
- data/{qed → spec}/coverage/02_incomplete.rdoc +10 -7
- data/{qed → spec}/coverage/03_extensions.rdoc +10 -6
- data/spec/coverage/applique/lemon.rb +1 -0
- data/try/.test +8 -0
- data/try/case_error.rb +18 -0
- data/try/case_fail.rb +19 -0
- data/try/case_pass.rb +42 -0
- data/try/case_pending.rb +18 -0
- data/try/case_singleton.rb +18 -0
- data/try/case_untested.rb +14 -0
- data/try/fixtures/calculator.rb +15 -0
- data/{demo/fixture → try/fixtures}/example-use.rb +0 -0
- data/{demo/fixture → try/fixtures}/example.rb +0 -0
- data/try/helpers/loadpath.rb +1 -0
- data/{.config → work/deprecated}/cucumber.yml +0 -0
- data/{features → work/deprecated/features}/coverage.feature +0 -0
- data/{features → work/deprecated/features}/generate.feature +0 -0
- data/{features → work/deprecated/features}/step_definitions/coverage_steps.rb +0 -0
- data/{features → work/deprecated/features}/support/ae.rb +0 -0
- data/{features → work/deprecated/features}/support/aruba.rb +0 -0
- data/{features → work/deprecated/features}/test.feature +0 -0
- data/work/deprecated/model/dsl/advice.rb +78 -0
- data/work/deprecated/model/dsl/subject.rb +40 -0
- data/{lib/lemon → work/deprecated}/model/main.rb +40 -29
- data/work/deprecated/model/test.rb +54 -0
- data/work/deprecated/model/test_base_dsl.rb +88 -0
- data/work/deprecated/model/test_clause.rb +112 -0
- data/{lib/lemon → work/deprecated}/model/test_context.rb +24 -24
- data/work/deprecated/model/test_feature.rb +128 -0
- data/work/deprecated/model/test_scenario.rb +137 -0
- data/{lib/lemon → work/deprecated}/model/test_suite.rb +113 -32
- data/work/deprecated/rake.rb +103 -0
- data/{test → work/deprecated/test}/case_coverage_analyzer.rb +0 -0
- data/{test → work/deprecated/test}/case_test_case_dsl.rb +2 -2
- data/{test → work/deprecated/test}/fixtures/case_complete.rb +0 -0
- data/{test → work/deprecated/test}/fixtures/case_inclusion.rb +0 -0
- data/{test → work/deprecated/test}/fixtures/case_incomplete.rb +0 -0
- data/{test → work/deprecated/test}/fixtures/example.rb +0 -0
- data/{test → work/deprecated/test}/fixtures/helper.rb +0 -0
- data/{test → work/deprecated/test}/runner +0 -0
- data/work/old-tests/case_example.rb +15 -0
- data/work/old-tests/feature_example.rb +40 -0
- data/work/reference/dsl2.rb +4 -0
- metadata +101 -98
- data/README.rdoc +0 -103
- data/bin/lemon +0 -4
- data/demo/case_example_error.rb +0 -10
- data/demo/case_example_fail.rb +0 -15
- data/demo/case_example_pass.rb +0 -32
- data/demo/case_example_pending.rb +0 -14
- data/demo/case_example_untested.rb +0 -10
- data/lib/lemon/controller/test_runner.rb +0 -299
- data/lib/lemon/model/pending.rb +0 -10
- data/lib/lemon/model/test_case.rb +0 -305
- data/lib/lemon/model/test_unit.rb +0 -147
- data/lib/lemon/view/test_reports/abstract.rb +0 -256
- data/lib/lemon/view/test_reports/dotprogress.rb +0 -73
- data/lib/lemon/view/test_reports/html.rb +0 -146
- data/lib/lemon/view/test_reports/outline.rb +0 -118
- data/lib/lemon/view/test_reports/summary.rb +0 -131
- data/lib/lemon/view/test_reports/tap.rb +0 -49
- data/lib/lemon/view/test_reports/tapj.rb +0 -130
- data/lib/lemon/view/test_reports/tapy.rb +0 -141
- data/lib/lemon/view/test_reports/verbose.rb +0 -197
- data/work/sandbox/lib/sample.rb +0 -13
- data/work/sandbox/test/sample_case.rb +0 -12
- data/work/trash/example-cover.rb +0 -5
- data/work/trash/example.rb +0 -16
@@ -1,6 +1,10 @@
|
|
1
1
|
require 'lemon/model/test_case'
|
2
|
+
require 'lemon/model/test_method'
|
3
|
+
require 'lemon/model/test_module'
|
4
|
+
require 'lemon/model/test_feature'
|
2
5
|
require 'lemon/model/snapshot'
|
3
6
|
#require 'lemon/model/main'
|
7
|
+
require 'lemon/core_ext/kernel'
|
4
8
|
|
5
9
|
module Lemon
|
6
10
|
|
@@ -23,7 +27,7 @@ module Lemon
|
|
23
27
|
attr :files
|
24
28
|
|
25
29
|
# Test cases in this suite.
|
26
|
-
attr :
|
30
|
+
attr :cases
|
27
31
|
|
28
32
|
# List of pre-test procedures that apply suite-wide.
|
29
33
|
attr :before
|
@@ -47,7 +51,9 @@ module Lemon
|
|
47
51
|
#end
|
48
52
|
|
49
53
|
#
|
50
|
-
|
54
|
+
attr :options
|
55
|
+
|
56
|
+
attr :stack
|
51
57
|
|
52
58
|
attr :dsl
|
53
59
|
|
@@ -56,12 +62,13 @@ module Lemon
|
|
56
62
|
@files = files.flatten
|
57
63
|
@options = options
|
58
64
|
|
59
|
-
@
|
65
|
+
@cases = []
|
66
|
+
@helpers = []
|
60
67
|
|
61
|
-
@before
|
62
|
-
@after
|
68
|
+
@before = {}
|
69
|
+
@after = {}
|
63
70
|
|
64
|
-
|
71
|
+
load_helpers
|
65
72
|
|
66
73
|
#if cover? or cover_all?
|
67
74
|
# @coverage = Snapshot.new
|
@@ -73,6 +80,16 @@ module Lemon
|
|
73
80
|
load_files
|
74
81
|
end
|
75
82
|
|
83
|
+
#
|
84
|
+
def cover?
|
85
|
+
@options[:cover]
|
86
|
+
end
|
87
|
+
|
88
|
+
#
|
89
|
+
def cover_all?
|
90
|
+
@options[:cover_all]
|
91
|
+
end
|
92
|
+
|
76
93
|
#
|
77
94
|
#class Scope < Module
|
78
95
|
# def initialize
|
@@ -80,34 +97,61 @@ module Lemon
|
|
80
97
|
# end
|
81
98
|
#end
|
82
99
|
|
100
|
+
def to_a
|
101
|
+
@cases
|
102
|
+
end
|
103
|
+
|
83
104
|
# Iterate through this suite's test cases.
|
84
105
|
def each(&block)
|
85
|
-
@
|
106
|
+
@cases.each(&block)
|
86
107
|
end
|
87
108
|
|
88
109
|
#
|
89
|
-
def
|
90
|
-
@
|
110
|
+
def advice
|
111
|
+
@advice ||= TestAdvice.new
|
91
112
|
end
|
92
113
|
|
93
114
|
#
|
94
|
-
def
|
95
|
-
@
|
115
|
+
def subject
|
116
|
+
@subject
|
96
117
|
end
|
97
118
|
|
98
|
-
|
99
|
-
#def load_helpers(*files)
|
100
|
-
# helpers = []
|
101
|
-
# filelist.each do |file|
|
102
|
-
# dir = File.dirname(file)
|
103
|
-
# hlp = Dir[File.join(dir, '{test_,}helper.rb')]
|
104
|
-
# helpers.concat(hlp)
|
105
|
-
# end
|
119
|
+
=begin
|
106
120
|
#
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
#
|
121
|
+
def start_suite
|
122
|
+
end
|
123
|
+
|
124
|
+
#
|
125
|
+
def finish_suite
|
126
|
+
end
|
127
|
+
=end
|
128
|
+
|
129
|
+
#
|
130
|
+
def scope
|
131
|
+
s = Object.new
|
132
|
+
s.extend(dsl)
|
133
|
+
s
|
134
|
+
end
|
135
|
+
|
136
|
+
# Automatically load helpers. Helpers are any *.rb script in
|
137
|
+
# a `helpers` directory, relative to a test script.
|
138
|
+
#
|
139
|
+
# TODO: You can change the file pattern used to automatically
|
140
|
+
# load helper scripts in `.lemon`.
|
141
|
+
#
|
142
|
+
def load_helpers
|
143
|
+
helpers = []
|
144
|
+
filelist.each do |file|
|
145
|
+
dir = File.dirname(file)
|
146
|
+
hlp = Dir[File.join(dir, 'helper{s,}/*.rb')]
|
147
|
+
helpers.concat(hlp)
|
148
|
+
end
|
149
|
+
helpers.uniq!
|
150
|
+
helpers.each do |hlp|
|
151
|
+
require File.expand_path(hlp)
|
152
|
+
end
|
153
|
+
@helpers = helpers
|
154
|
+
end
|
111
155
|
|
112
156
|
#
|
113
157
|
def load_files #(*files)
|
@@ -155,13 +199,23 @@ module Lemon
|
|
155
199
|
end.flatten
|
156
200
|
#files = files.map{ |f| File.expand_path(f) }
|
157
201
|
files.uniq
|
202
|
+
files.reject{ |f| /fixture(|s)\/(.*?)\.rb$/ =~ f }
|
203
|
+
files.reject{ |f| /helper(|s)\/(.*?)\.rb$/ =~ f }
|
204
|
+
)
|
205
|
+
end
|
206
|
+
|
207
|
+
# TODO: Note sure about scope creation here
|
208
|
+
def scope
|
209
|
+
@scope ||= (
|
210
|
+
scope = Object.new
|
211
|
+
scope.extend(dsl)
|
158
212
|
)
|
159
213
|
end
|
160
214
|
|
161
215
|
class DSL < Module
|
162
216
|
#
|
163
|
-
def initialize(
|
164
|
-
@
|
217
|
+
def initialize(suite)
|
218
|
+
@suite = suite
|
165
219
|
#module_eval(&code)
|
166
220
|
end
|
167
221
|
|
@@ -181,24 +235,51 @@ module Lemon
|
|
181
235
|
alias_method :Covers, :covers
|
182
236
|
|
183
237
|
# Define a test case belonging to this suite.
|
184
|
-
def
|
185
|
-
|
186
|
-
|
238
|
+
def test_case(description, &block)
|
239
|
+
options = {
|
240
|
+
:description => description
|
241
|
+
}
|
242
|
+
@suite.cases << TestCase.new(@suite, options, &block)
|
187
243
|
end
|
188
244
|
|
189
245
|
#
|
190
|
-
alias_method :TestCase, :
|
191
|
-
|
246
|
+
alias_method :TestCase, :test_case
|
247
|
+
|
248
|
+
# Define a module test case belonging to this suite.
|
249
|
+
def test_module(target_module, &block)
|
250
|
+
raise "lemon: target must be a module" unless Module === target_module
|
251
|
+
options = {
|
252
|
+
:target => target_module
|
253
|
+
}
|
254
|
+
@suite.cases << TestModule.new(@suite, optios, &block)
|
255
|
+
end
|
256
|
+
|
257
|
+
# Define a class test case belonging to this suite.
|
258
|
+
def test_class(target_class, &block)
|
259
|
+
raise "lemon: case target must be a class" unless Class === target_class
|
260
|
+
options = {
|
261
|
+
:target => target_class
|
262
|
+
}
|
263
|
+
@suite.cases << TestModule.new(@suite, options, &block)
|
264
|
+
end
|
265
|
+
|
266
|
+
# Define a test feature.
|
267
|
+
def test_feature(target, &block)
|
268
|
+
options = {
|
269
|
+
:target => target
|
270
|
+
}
|
271
|
+
@suite.cases << TestFeature.new(@suite, options, &block)
|
272
|
+
end
|
192
273
|
|
193
274
|
# Define a pre-test procedure to apply suite-wide.
|
194
275
|
def before(*matches, &block)
|
195
|
-
@
|
276
|
+
@suite.before[matches] = block #<< Advice.new(match, &block)
|
196
277
|
end
|
197
278
|
alias_method :Before, :before
|
198
279
|
|
199
280
|
# Define a post-test procedure to apply suite-wide.
|
200
281
|
def after(*matches, &block)
|
201
|
-
@
|
282
|
+
@suite.after[matches] = block #<< Advice.new(match, &block)
|
202
283
|
end
|
203
284
|
alias_method :After, :after
|
204
285
|
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'rake/tasklib'
|
2
|
+
|
3
|
+
module Lemon
|
4
|
+
|
5
|
+
module Rake
|
6
|
+
|
7
|
+
# Define a lemon test rake task.
|
8
|
+
#
|
9
|
+
# The `TEST` environment variable can be used to select tests
|
10
|
+
# when using the task.
|
11
|
+
#
|
12
|
+
# TODO: The test task uses #fork. Maybe it should shell out instead?
|
13
|
+
class TestTask < ::Rake::TaskLib
|
14
|
+
|
15
|
+
#
|
16
|
+
DEFAULT_TESTS = [
|
17
|
+
'test/**/case_*.rb',
|
18
|
+
'test/**/*_case.rb',
|
19
|
+
'test/**/test_*.rb',
|
20
|
+
'test/**/*_test.rb'
|
21
|
+
]
|
22
|
+
|
23
|
+
#
|
24
|
+
attr_accessor :tests
|
25
|
+
|
26
|
+
#
|
27
|
+
attr_accessor :loadpath
|
28
|
+
|
29
|
+
#
|
30
|
+
attr_accessor :requires
|
31
|
+
|
32
|
+
#
|
33
|
+
attr_accessor :namespaces
|
34
|
+
|
35
|
+
#
|
36
|
+
attr_accessor :format
|
37
|
+
|
38
|
+
#
|
39
|
+
def initialize(name='lemon:test', desc="run lemon tests", &block)
|
40
|
+
@name = name
|
41
|
+
@desc = desc
|
42
|
+
|
43
|
+
@loadpath = ['lib']
|
44
|
+
@requires = []
|
45
|
+
@tests = [ENV['TEST']] || DEFAULT_TESTS
|
46
|
+
@format = nil
|
47
|
+
@namespaces = []
|
48
|
+
|
49
|
+
block.call(self)
|
50
|
+
|
51
|
+
define_task
|
52
|
+
end
|
53
|
+
|
54
|
+
#
|
55
|
+
def define_task
|
56
|
+
desc @desc
|
57
|
+
task @name do
|
58
|
+
require 'open3'
|
59
|
+
|
60
|
+
@tests ||= (
|
61
|
+
if ENV['tests']
|
62
|
+
ENV['tests'].split(/[:;]/)
|
63
|
+
else
|
64
|
+
DEFAULT_TESTS
|
65
|
+
end
|
66
|
+
)
|
67
|
+
|
68
|
+
run
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
#
|
73
|
+
def run
|
74
|
+
fork {
|
75
|
+
#require 'lemon'
|
76
|
+
require 'lemon/controller/test_runner'
|
77
|
+
loadpath.each do |path|
|
78
|
+
$LOAD_PATH.unshift(path)
|
79
|
+
end
|
80
|
+
requires.each do |file|
|
81
|
+
require file
|
82
|
+
end
|
83
|
+
runner = Lemon::TestRunner.new(
|
84
|
+
tests,
|
85
|
+
:format => format,
|
86
|
+
:namespaces => namespaces
|
87
|
+
)
|
88
|
+
success = runner.run
|
89
|
+
exit -1 unless success
|
90
|
+
}
|
91
|
+
Process.wait
|
92
|
+
end
|
93
|
+
|
94
|
+
#
|
95
|
+
#def ruby_command
|
96
|
+
# File.join(RbConfig::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
97
|
+
#end
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
File without changes
|
@@ -6,7 +6,7 @@ testcase Lemon::TestCase::DSL do
|
|
6
6
|
|
7
7
|
setup "Modules included in a test case are accessible by the unit tests" do
|
8
8
|
ts = Lemon::TestSuite.new(@files)
|
9
|
-
tc = ts.
|
9
|
+
tc = ts.test_cases.first # the only one
|
10
10
|
tc.dsl
|
11
11
|
end
|
12
12
|
|
@@ -28,7 +28,7 @@ testcase Lemon::TestCase::DSL do
|
|
28
28
|
|
29
29
|
setup "Test cases are augmented by before and afters procedures" do
|
30
30
|
ts = Lemon::TestSuite.new(@files)
|
31
|
-
tc = ts.
|
31
|
+
tc = ts.test_cases.first # the only one
|
32
32
|
tc.dsl
|
33
33
|
end
|
34
34
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,40 @@
|
|
1
|
+
Test::Feature "Addition" do
|
2
|
+
To "avoid silly mistakes"
|
3
|
+
As "a math idiot"
|
4
|
+
We "need to calculate the sum of numbers"
|
5
|
+
|
6
|
+
Scenario "Add two numbers" do
|
7
|
+
Given "I have a calculator"
|
8
|
+
Given "I have entered 50 into the calculator"
|
9
|
+
Given "I have entered 70 into the calculator"
|
10
|
+
When "I press add"
|
11
|
+
Then "the result should be 120 on the screen"
|
12
|
+
end
|
13
|
+
|
14
|
+
Scenario "Add three numbers" do
|
15
|
+
Given "I have a calculator"
|
16
|
+
Given "I have entered 50 into the calculator"
|
17
|
+
Given "I have entered 70 into the calculator"
|
18
|
+
Given "I have entered 90 into the calculator"
|
19
|
+
When "I press add"
|
20
|
+
Then "the result should be 210 on the screen"
|
21
|
+
end
|
22
|
+
|
23
|
+
Given 'I have a calculator' do
|
24
|
+
require 'calculator'
|
25
|
+
@calculator = Calculator.new
|
26
|
+
end
|
27
|
+
|
28
|
+
Given 'I have entered (((\d+))) into the calculator' do |n|
|
29
|
+
@calculator.push n.to_i
|
30
|
+
end
|
31
|
+
|
32
|
+
When 'I press add' do
|
33
|
+
@result = @calculator.add
|
34
|
+
end
|
35
|
+
|
36
|
+
Then 'the result should be (((\d+))) on the screen' do |n|
|
37
|
+
@result.assert == n.to_i
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
data/work/reference/dsl2.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lemon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.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: 2011-
|
12
|
+
date: 2011-08-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement: &
|
15
|
+
name: test
|
16
|
+
requirement: &23343340 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,43 +21,32 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: ansi
|
27
|
-
requirement: &21079500 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ! '>='
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '1.3'
|
33
|
-
type: :runtime
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *21079500
|
24
|
+
version_requirements: *23343340
|
36
25
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement: &
|
26
|
+
name: ae
|
27
|
+
requirement: &23342680 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
29
|
requirements:
|
41
30
|
- - ! '>='
|
42
31
|
- !ruby/object:Gem::Version
|
43
32
|
version: '0'
|
44
|
-
type: :
|
33
|
+
type: :runtime
|
45
34
|
prerelease: false
|
46
|
-
version_requirements: *
|
35
|
+
version_requirements: *23342680
|
47
36
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: &
|
37
|
+
name: ansi
|
38
|
+
requirement: &23341660 !ruby/object:Gem::Requirement
|
50
39
|
none: false
|
51
40
|
requirements:
|
52
41
|
- - ! '>='
|
53
42
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
55
|
-
type: :
|
43
|
+
version: '1.3'
|
44
|
+
type: :runtime
|
56
45
|
prerelease: false
|
57
|
-
version_requirements: *
|
46
|
+
version_requirements: *23341660
|
58
47
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement: &
|
48
|
+
name: detroit
|
49
|
+
requirement: &23340760 !ruby/object:Gem::Requirement
|
61
50
|
none: false
|
62
51
|
requirements:
|
63
52
|
- - ! '>='
|
@@ -65,10 +54,10 @@ dependencies:
|
|
65
54
|
version: '0'
|
66
55
|
type: :development
|
67
56
|
prerelease: false
|
68
|
-
version_requirements: *
|
57
|
+
version_requirements: *23340760
|
69
58
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
-
requirement: &
|
59
|
+
name: reap
|
60
|
+
requirement: &23339940 !ruby/object:Gem::Requirement
|
72
61
|
none: false
|
73
62
|
requirements:
|
74
63
|
- - ! '>='
|
@@ -76,10 +65,10 @@ dependencies:
|
|
76
65
|
version: '0'
|
77
66
|
type: :development
|
78
67
|
prerelease: false
|
79
|
-
version_requirements: *
|
68
|
+
version_requirements: *23339940
|
80
69
|
- !ruby/object:Gem::Dependency
|
81
|
-
name:
|
82
|
-
requirement: &
|
70
|
+
name: qed
|
71
|
+
requirement: &19924040 !ruby/object:Gem::Requirement
|
83
72
|
none: false
|
84
73
|
requirements:
|
85
74
|
- - ! '>='
|
@@ -87,20 +76,20 @@ dependencies:
|
|
87
76
|
version: '0'
|
88
77
|
type: :development
|
89
78
|
prerelease: false
|
90
|
-
version_requirements: *
|
79
|
+
version_requirements: *19924040
|
91
80
|
description: Lemon is a unit testing framework that tightly correlates class to test
|
92
81
|
case and method to test unit.
|
93
82
|
email:
|
94
83
|
- transfire@gmail.com
|
95
84
|
executables:
|
96
|
-
-
|
85
|
+
- lemonade
|
97
86
|
extensions: []
|
98
87
|
extra_rdoc_files:
|
99
88
|
- HISTORY.rdoc
|
100
|
-
- README.rdoc
|
101
89
|
- COPYING.rdoc
|
90
|
+
- README.md
|
102
91
|
files:
|
103
|
-
- .
|
92
|
+
- .gemspec
|
104
93
|
- .gitignore
|
105
94
|
- .reap/digest
|
106
95
|
- .reap/test.reap
|
@@ -110,63 +99,45 @@ files:
|
|
110
99
|
- HISTORY.rdoc
|
111
100
|
- MANIFEST
|
112
101
|
- PROFILE
|
113
|
-
- README.
|
102
|
+
- README.md
|
114
103
|
- Rakefile
|
115
104
|
- VERSION
|
116
|
-
- bin/
|
117
|
-
- demo/case_example_error.rb
|
118
|
-
- demo/case_example_fail.rb
|
119
|
-
- demo/case_example_pass.rb
|
120
|
-
- demo/case_example_pending.rb
|
121
|
-
- demo/case_example_untested.rb
|
122
|
-
- demo/fixture/example-use.rb
|
123
|
-
- demo/fixture/example.rb
|
124
|
-
- features/coverage.feature
|
125
|
-
- features/generate.feature
|
126
|
-
- features/step_definitions/coverage_steps.rb
|
127
|
-
- features/support/ae.rb
|
128
|
-
- features/support/aruba.rb
|
129
|
-
- features/test.feature
|
130
|
-
- lemon.gemspec
|
105
|
+
- bin/lemonade
|
131
106
|
- lib/lemon.rb
|
132
107
|
- lib/lemon.yml
|
108
|
+
- lib/lemon/ae.rb
|
133
109
|
- lib/lemon/cli.rb
|
134
|
-
- lib/lemon/
|
135
|
-
- lib/lemon/
|
136
|
-
- lib/lemon/
|
137
|
-
- lib/lemon/
|
138
|
-
- lib/lemon/
|
139
|
-
- lib/lemon/
|
140
|
-
- lib/lemon/
|
141
|
-
- lib/lemon/
|
142
|
-
- lib/lemon/
|
143
|
-
- lib/lemon/
|
144
|
-
- lib/lemon/
|
145
|
-
- lib/lemon/
|
146
|
-
- lib/lemon/
|
147
|
-
- lib/lemon/
|
148
|
-
- lib/lemon/
|
149
|
-
- lib/lemon/
|
150
|
-
- lib/lemon/
|
151
|
-
- lib/lemon/
|
152
|
-
- lib/lemon/
|
153
|
-
- lib/lemon/
|
154
|
-
- lib/lemon/
|
155
|
-
- lib/lemon/
|
156
|
-
- lib/lemon/
|
157
|
-
- lib/lemon/
|
158
|
-
- lib/lemon/
|
159
|
-
- lib/lemon/view/test_reports/tapy.rb
|
160
|
-
- lib/lemon/view/test_reports/verbose.rb
|
110
|
+
- lib/lemon/cli/base.rb
|
111
|
+
- lib/lemon/cli/coverage.rb
|
112
|
+
- lib/lemon/cli/generate.rb
|
113
|
+
- lib/lemon/cli/test.rb
|
114
|
+
- lib/lemon/core_ext.rb
|
115
|
+
- lib/lemon/core_ext/kernel.rb
|
116
|
+
- lib/lemon/core_ext/omission.rb
|
117
|
+
- lib/lemon/coverage/analyzer.rb
|
118
|
+
- lib/lemon/coverage/cover_unit.rb
|
119
|
+
- lib/lemon/coverage/formats/abstract.rb
|
120
|
+
- lib/lemon/coverage/formats/compact.rb
|
121
|
+
- lib/lemon/coverage/formats/outline.rb
|
122
|
+
- lib/lemon/coverage/formats/verbose.rb
|
123
|
+
- lib/lemon/coverage/formats/yaml.rb
|
124
|
+
- lib/lemon/coverage/snapshot.rb
|
125
|
+
- lib/lemon/coverage/source_parser.rb
|
126
|
+
- lib/lemon/generator.rb
|
127
|
+
- lib/lemon/test_advice.rb
|
128
|
+
- lib/lemon/test_case.rb
|
129
|
+
- lib/lemon/test_class.rb
|
130
|
+
- lib/lemon/test_method.rb
|
131
|
+
- lib/lemon/test_module.rb
|
132
|
+
- lib/lemon/test_proc.rb
|
133
|
+
- lib/lemon/test_setup.rb
|
134
|
+
- lib/lemon/test_world.rb
|
161
135
|
- notes/2010-05-05-coverage.rdoc
|
162
|
-
- notes/2010-05-06-
|
163
|
-
- notes/2010-07-11-
|
136
|
+
- notes/2010-05-06-files-not-classes.rdoc
|
137
|
+
- notes/2010-07-11-acid-testing.rdoc
|
164
138
|
- notes/2010-08-02-enforcing-the-unit.md
|
165
139
|
- notes/2010-08-03-new-api.md
|
166
|
-
-
|
167
|
-
- qed/coverage/01_complete.rdoc
|
168
|
-
- qed/coverage/02_incomplete.rdoc
|
169
|
-
- qed/coverage/03_extensions.rdoc
|
140
|
+
- notes/2011-07-07-nailing-down-the-nomenclature.md
|
170
141
|
- site/.rsync-filter
|
171
142
|
- site/assets/images/cut-lemon.png
|
172
143
|
- site/assets/images/forkme.png
|
@@ -184,24 +155,56 @@ files:
|
|
184
155
|
- site/assets/styles/reset.css
|
185
156
|
- site/assets/styles/site.css
|
186
157
|
- site/index.html
|
187
|
-
-
|
188
|
-
-
|
189
|
-
-
|
190
|
-
-
|
191
|
-
-
|
192
|
-
- test
|
193
|
-
-
|
194
|
-
-
|
158
|
+
- spec/applique/fs.rb
|
159
|
+
- spec/coverage/01_complete.rdoc
|
160
|
+
- spec/coverage/02_incomplete.rdoc
|
161
|
+
- spec/coverage/03_extensions.rdoc
|
162
|
+
- spec/coverage/applique/lemon.rb
|
163
|
+
- try/.test
|
164
|
+
- try/case_error.rb
|
165
|
+
- try/case_fail.rb
|
166
|
+
- try/case_pass.rb
|
167
|
+
- try/case_pending.rb
|
168
|
+
- try/case_singleton.rb
|
169
|
+
- try/case_untested.rb
|
170
|
+
- try/fixtures/calculator.rb
|
171
|
+
- try/fixtures/example-use.rb
|
172
|
+
- try/fixtures/example.rb
|
173
|
+
- try/helpers/loadpath.rb
|
195
174
|
- work/deprecated/command/abstract.rb
|
196
175
|
- work/deprecated/command/coverage.rb
|
197
176
|
- work/deprecated/command/generate.rb
|
198
177
|
- work/deprecated/command/test.rb
|
178
|
+
- work/deprecated/cucumber.yml
|
179
|
+
- work/deprecated/features/coverage.feature
|
180
|
+
- work/deprecated/features/generate.feature
|
181
|
+
- work/deprecated/features/step_definitions/coverage_steps.rb
|
182
|
+
- work/deprecated/features/support/ae.rb
|
183
|
+
- work/deprecated/features/support/aruba.rb
|
184
|
+
- work/deprecated/features/test.feature
|
185
|
+
- work/deprecated/model/dsl/advice.rb
|
186
|
+
- work/deprecated/model/dsl/subject.rb
|
187
|
+
- work/deprecated/model/main.rb
|
188
|
+
- work/deprecated/model/test.rb
|
189
|
+
- work/deprecated/model/test_base_dsl.rb
|
190
|
+
- work/deprecated/model/test_clause.rb
|
191
|
+
- work/deprecated/model/test_context.rb
|
192
|
+
- work/deprecated/model/test_feature.rb
|
193
|
+
- work/deprecated/model/test_scenario.rb
|
194
|
+
- work/deprecated/model/test_suite.rb
|
195
|
+
- work/deprecated/rake.rb
|
196
|
+
- work/deprecated/test/case_coverage_analyzer.rb
|
197
|
+
- work/deprecated/test/case_test_case_dsl.rb
|
198
|
+
- work/deprecated/test/fixtures/case_complete.rb
|
199
|
+
- work/deprecated/test/fixtures/case_inclusion.rb
|
200
|
+
- work/deprecated/test/fixtures/case_incomplete.rb
|
201
|
+
- work/deprecated/test/fixtures/example.rb
|
202
|
+
- work/deprecated/test/fixtures/helper.rb
|
203
|
+
- work/deprecated/test/runner
|
204
|
+
- work/old-tests/case_example.rb
|
205
|
+
- work/old-tests/feature_example.rb
|
199
206
|
- work/reference/dsl2.rb
|
200
207
|
- work/reference/dynamic_constant_lookup.rb
|
201
|
-
- work/sandbox/lib/sample.rb
|
202
|
-
- work/sandbox/test/sample_case.rb
|
203
|
-
- work/trash/example-cover.rb
|
204
|
-
- work/trash/example.rb
|
205
208
|
homepage: http://rubyworks.github.com/lemon
|
206
209
|
licenses: []
|
207
210
|
post_install_message:
|