lemon 0.8.5 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/{lemon.gemspec → .gemspec} +0 -0
  2. data/.ruby +4 -11
  3. data/Assembly +5 -11
  4. data/HISTORY.rdoc +31 -0
  5. data/MANIFEST +45 -55
  6. data/PROFILE +6 -6
  7. data/README.md +113 -0
  8. data/Rakefile +12 -3
  9. data/VERSION +1 -1
  10. data/bin/lemonade +8 -0
  11. data/lib/lemon.rb +52 -2
  12. data/lib/lemon.yml +4 -11
  13. data/lib/lemon/{model/ae.rb → ae.rb} +0 -0
  14. data/lib/lemon/cli.rb +28 -279
  15. data/lib/lemon/cli/base.rb +139 -0
  16. data/lib/lemon/cli/coverage.rb +52 -0
  17. data/lib/lemon/cli/generate.rb +51 -0
  18. data/lib/lemon/cli/test.rb +50 -0
  19. data/lib/lemon/core_ext.rb +7 -0
  20. data/lib/lemon/core_ext/kernel.rb +20 -0
  21. data/lib/lemon/core_ext/omission.rb +18 -0
  22. data/lib/lemon/{controller/coverage_analyzer.rb → coverage/analyzer.rb} +41 -19
  23. data/lib/lemon/{model → coverage}/cover_unit.rb +0 -0
  24. data/lib/lemon/{view/cover_reports → coverage/formats}/abstract.rb +0 -0
  25. data/lib/lemon/{view/cover_reports → coverage/formats}/compact.rb +1 -1
  26. data/lib/lemon/{view/cover_reports → coverage/formats}/outline.rb +1 -1
  27. data/lib/lemon/{view/cover_reports → coverage/formats}/verbose.rb +1 -1
  28. data/lib/lemon/{view/cover_reports → coverage/formats}/yaml.rb +1 -1
  29. data/lib/lemon/{model → coverage}/snapshot.rb +0 -0
  30. data/lib/lemon/{model → coverage}/source_parser.rb +0 -0
  31. data/lib/lemon/{controller/scaffold_generator.rb → generator.rb} +53 -14
  32. data/lib/lemon/test_advice.rb +63 -0
  33. data/lib/lemon/test_case.rb +270 -0
  34. data/lib/lemon/test_class.rb +28 -0
  35. data/lib/lemon/test_method.rb +207 -0
  36. data/lib/lemon/test_module.rb +114 -0
  37. data/lib/lemon/test_proc.rb +140 -0
  38. data/lib/lemon/test_setup.rb +54 -0
  39. data/lib/lemon/test_world.rb +9 -0
  40. data/notes/{2010-05-06-files_not_classes.rdoc → 2010-05-06-files-not-classes.rdoc} +0 -0
  41. data/notes/{2010-07-11-acid_testing.rdoc → 2010-07-11-acid-testing.rdoc} +0 -0
  42. data/notes/2011-07-07-nailing-down-the-nomenclature.md +6 -0
  43. data/site/index.html +7 -6
  44. data/{qed → spec}/applique/fs.rb +0 -0
  45. data/{qed → spec}/coverage/01_complete.rdoc +26 -16
  46. data/{qed → spec}/coverage/02_incomplete.rdoc +10 -7
  47. data/{qed → spec}/coverage/03_extensions.rdoc +10 -6
  48. data/spec/coverage/applique/lemon.rb +1 -0
  49. data/try/.test +8 -0
  50. data/try/case_error.rb +18 -0
  51. data/try/case_fail.rb +19 -0
  52. data/try/case_pass.rb +42 -0
  53. data/try/case_pending.rb +18 -0
  54. data/try/case_singleton.rb +18 -0
  55. data/try/case_untested.rb +14 -0
  56. data/try/fixtures/calculator.rb +15 -0
  57. data/{demo/fixture → try/fixtures}/example-use.rb +0 -0
  58. data/{demo/fixture → try/fixtures}/example.rb +0 -0
  59. data/try/helpers/loadpath.rb +1 -0
  60. data/{.config → work/deprecated}/cucumber.yml +0 -0
  61. data/{features → work/deprecated/features}/coverage.feature +0 -0
  62. data/{features → work/deprecated/features}/generate.feature +0 -0
  63. data/{features → work/deprecated/features}/step_definitions/coverage_steps.rb +0 -0
  64. data/{features → work/deprecated/features}/support/ae.rb +0 -0
  65. data/{features → work/deprecated/features}/support/aruba.rb +0 -0
  66. data/{features → work/deprecated/features}/test.feature +0 -0
  67. data/work/deprecated/model/dsl/advice.rb +78 -0
  68. data/work/deprecated/model/dsl/subject.rb +40 -0
  69. data/{lib/lemon → work/deprecated}/model/main.rb +40 -29
  70. data/work/deprecated/model/test.rb +54 -0
  71. data/work/deprecated/model/test_base_dsl.rb +88 -0
  72. data/work/deprecated/model/test_clause.rb +112 -0
  73. data/{lib/lemon → work/deprecated}/model/test_context.rb +24 -24
  74. data/work/deprecated/model/test_feature.rb +128 -0
  75. data/work/deprecated/model/test_scenario.rb +137 -0
  76. data/{lib/lemon → work/deprecated}/model/test_suite.rb +113 -32
  77. data/work/deprecated/rake.rb +103 -0
  78. data/{test → work/deprecated/test}/case_coverage_analyzer.rb +0 -0
  79. data/{test → work/deprecated/test}/case_test_case_dsl.rb +2 -2
  80. data/{test → work/deprecated/test}/fixtures/case_complete.rb +0 -0
  81. data/{test → work/deprecated/test}/fixtures/case_inclusion.rb +0 -0
  82. data/{test → work/deprecated/test}/fixtures/case_incomplete.rb +0 -0
  83. data/{test → work/deprecated/test}/fixtures/example.rb +0 -0
  84. data/{test → work/deprecated/test}/fixtures/helper.rb +0 -0
  85. data/{test → work/deprecated/test}/runner +0 -0
  86. data/work/old-tests/case_example.rb +15 -0
  87. data/work/old-tests/feature_example.rb +40 -0
  88. data/work/reference/dsl2.rb +4 -0
  89. metadata +101 -98
  90. data/README.rdoc +0 -103
  91. data/bin/lemon +0 -4
  92. data/demo/case_example_error.rb +0 -10
  93. data/demo/case_example_fail.rb +0 -15
  94. data/demo/case_example_pass.rb +0 -32
  95. data/demo/case_example_pending.rb +0 -14
  96. data/demo/case_example_untested.rb +0 -10
  97. data/lib/lemon/controller/test_runner.rb +0 -299
  98. data/lib/lemon/model/pending.rb +0 -10
  99. data/lib/lemon/model/test_case.rb +0 -305
  100. data/lib/lemon/model/test_unit.rb +0 -147
  101. data/lib/lemon/view/test_reports/abstract.rb +0 -256
  102. data/lib/lemon/view/test_reports/dotprogress.rb +0 -73
  103. data/lib/lemon/view/test_reports/html.rb +0 -146
  104. data/lib/lemon/view/test_reports/outline.rb +0 -118
  105. data/lib/lemon/view/test_reports/summary.rb +0 -131
  106. data/lib/lemon/view/test_reports/tap.rb +0 -49
  107. data/lib/lemon/view/test_reports/tapj.rb +0 -130
  108. data/lib/lemon/view/test_reports/tapy.rb +0 -141
  109. data/lib/lemon/view/test_reports/verbose.rb +0 -197
  110. data/work/sandbox/lib/sample.rb +0 -13
  111. data/work/sandbox/test/sample_case.rb +0 -12
  112. data/work/trash/example-cover.rb +0 -5
  113. 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 :testcases
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
- #attr :options
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
- @testcases = []
65
+ @cases = []
66
+ @helpers = []
60
67
 
61
- @before = {}
62
- @after = {}
68
+ @before = {}
69
+ @after = {}
63
70
 
64
- #load_helpers
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
- @testcases.each(&block)
106
+ @cases.each(&block)
86
107
  end
87
108
 
88
109
  #
89
- def cover?
90
- @options[:cover]
110
+ def advice
111
+ @advice ||= TestAdvice.new
91
112
  end
92
113
 
93
114
  #
94
- def cover_all?
95
- @options[:cover_all]
115
+ def subject
116
+ @subject
96
117
  end
97
118
 
98
- # TODO: automatic helper loading ?
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
- # helpers.each do |hlp|
108
- # require hlp
109
- # end
110
- #end
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(test_suite)
164
- @test_suite = test_suite
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 testcase(target_class, &block)
185
- raise "lemon: case target must be a class or module" unless Module === target_class
186
- @test_suite.testcases << TestCase.new(@test_suite, target_class, &block)
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, :testcase
191
- alias_method :tests, :testcase
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
- @test_suite.before[matches] = block #<< Advice.new(match, &block)
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
- @test_suite.after[matches] = block #<< Advice.new(match, &block)
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
@@ -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.testcases.first # the only one
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.testcases.first # the only one
31
+ tc = ts.test_cases.first # the only one
32
32
  tc.dsl
33
33
  end
34
34
 
File without changes
@@ -0,0 +1,15 @@
1
+ Test.case "Example Case" do
2
+
3
+ test "Example Test" do
4
+ "example".assert == "example"
5
+ end
6
+
7
+ context "Example Context" do
8
+
9
+ test do
10
+ "example".assert == "example"
11
+ end
12
+
13
+ end
14
+
15
+ end
@@ -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
+
@@ -125,6 +125,10 @@ def after(which, &block)
125
125
  Lemon.suite.after(which, &block)
126
126
  end
127
127
 
128
+ # @example
129
+ # unit Example, :foo, "desciption" do
130
+ # ...
131
+ # end
128
132
  #
129
133
  def unit(mod, meth, desc=nil, &blk)
130
134
  Lemon.suite.unit(mod, meth, desc, &blk)
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.8.5
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-07-16 00:00:00.000000000 Z
12
+ date: 2011-08-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: ae
16
- requirement: &20838840 !ruby/object:Gem::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: *20838840
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: detroit
38
- requirement: &21077760 !ruby/object:Gem::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: :development
33
+ type: :runtime
45
34
  prerelease: false
46
- version_requirements: *21077760
35
+ version_requirements: *23342680
47
36
  - !ruby/object:Gem::Dependency
48
- name: reap
49
- requirement: &21076220 !ruby/object:Gem::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: '0'
55
- type: :development
43
+ version: '1.3'
44
+ type: :runtime
56
45
  prerelease: false
57
- version_requirements: *21076220
46
+ version_requirements: *23341660
58
47
  - !ruby/object:Gem::Dependency
59
- name: qed
60
- requirement: &21075560 !ruby/object:Gem::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: *21075560
57
+ version_requirements: *23340760
69
58
  - !ruby/object:Gem::Dependency
70
- name: cucumber
71
- requirement: &21074540 !ruby/object:Gem::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: *21074540
68
+ version_requirements: *23339940
80
69
  - !ruby/object:Gem::Dependency
81
- name: aruba
82
- requirement: &21073840 !ruby/object:Gem::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: *21073840
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
- - lemon
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
- - .config/cucumber.yml
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.rdoc
102
+ - README.md
114
103
  - Rakefile
115
104
  - VERSION
116
- - bin/lemon
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/controller/coverage_analyzer.rb
135
- - lib/lemon/controller/scaffold_generator.rb
136
- - lib/lemon/controller/test_runner.rb
137
- - lib/lemon/model/ae.rb
138
- - lib/lemon/model/cover_unit.rb
139
- - lib/lemon/model/main.rb
140
- - lib/lemon/model/pending.rb
141
- - lib/lemon/model/snapshot.rb
142
- - lib/lemon/model/source_parser.rb
143
- - lib/lemon/model/test_case.rb
144
- - lib/lemon/model/test_context.rb
145
- - lib/lemon/model/test_suite.rb
146
- - lib/lemon/model/test_unit.rb
147
- - lib/lemon/view/cover_reports/abstract.rb
148
- - lib/lemon/view/cover_reports/compact.rb
149
- - lib/lemon/view/cover_reports/outline.rb
150
- - lib/lemon/view/cover_reports/verbose.rb
151
- - lib/lemon/view/cover_reports/yaml.rb
152
- - lib/lemon/view/test_reports/abstract.rb
153
- - lib/lemon/view/test_reports/dotprogress.rb
154
- - lib/lemon/view/test_reports/html.rb
155
- - lib/lemon/view/test_reports/outline.rb
156
- - lib/lemon/view/test_reports/summary.rb
157
- - lib/lemon/view/test_reports/tap.rb
158
- - lib/lemon/view/test_reports/tapj.rb
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-files_not_classes.rdoc
163
- - notes/2010-07-11-acid_testing.rdoc
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
- - qed/applique/fs.rb
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
- - test/case_coverage_analyzer.rb
188
- - test/case_test_case_dsl.rb
189
- - test/fixtures/case_complete.rb
190
- - test/fixtures/case_inclusion.rb
191
- - test/fixtures/case_incomplete.rb
192
- - test/fixtures/example.rb
193
- - test/fixtures/helper.rb
194
- - test/runner
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: