lemon 0.8.5 → 0.9.0

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.
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: