lemon 0.9.0 → 0.9.1
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/.ruby +23 -14
- data/.yardopts +6 -0
- data/Config.rb +14 -0
- data/{HISTORY.rdoc → HISTORY.md} +26 -11
- data/LICENSE.txt +27 -0
- data/README.md +42 -28
- data/SPECSHEET.md +314 -0
- data/bin/{lemonade → lemons} +0 -0
- data/lib/lemon.yml +23 -14
- data/lib/lemon/cli.rb +19 -8
- data/lib/lemon/cli/base.rb +50 -20
- data/lib/lemon/cli/generate.rb +51 -16
- data/lib/lemon/cli/lemon.ascii +84 -0
- data/lib/lemon/cli/obrother.rb +35 -0
- data/lib/lemon/cli/scaffold.rb +116 -0
- data/lib/lemon/core_ext.rb +2 -2
- data/lib/lemon/core_ext/module.rb +9 -0
- data/lib/lemon/coverage/analyzer.rb +76 -5
- data/lib/lemon/coverage/cover_unit.rb +38 -14
- data/lib/lemon/coverage/formats/verbose.rb +1 -1
- data/lib/lemon/coverage/generator.rb +196 -0
- data/lib/lemon/coverage/snapshot.rb +16 -16
- data/lib/lemon/coverage/source_parser.rb +103 -37
- data/lib/lemon/ignore_callers.rb +19 -0
- data/lib/lemon/test_case.rb +135 -26
- data/lib/lemon/test_class.rb +16 -3
- data/lib/lemon/test_class_method.rb +58 -0
- data/lib/lemon/test_method.rb +57 -68
- data/lib/lemon/test_module.rb +47 -44
- data/lib/lemon/test_proc.rb +28 -2
- data/lib/lemon/test_scope.rb +14 -0
- data/lib/lemon/test_setup.rb +1 -1
- data/lib/lemon/test_world.rb +7 -0
- data/{work/deprecated/features/support → spec/applique}/ae.rb +0 -0
- data/spec/coverage/{01_complete.rdoc → 01_complete.md} +3 -3
- data/spec/coverage/{02_incomplete.rdoc → 02_incomplete.md} +2 -2
- data/spec/coverage/{03_extensions.rdoc → 03_extensions.md} +2 -2
- data/try/case_scope.rb +19 -0
- metadata +50 -102
- data/.gemspec +0 -152
- data/.gitignore +0 -8
- data/.reap/digest +0 -678
- data/.reap/test.reap +0 -7
- data/Assembly +0 -37
- data/COPYING.rdoc +0 -33
- data/MANIFEST +0 -55
- data/PROFILE +0 -30
- data/Rakefile +0 -23
- data/VERSION +0 -1
- data/lib/lemon/core_ext/omission.rb +0 -18
- data/lib/lemon/generator.rb +0 -149
- data/notes/2010-05-05-coverage.rdoc +0 -47
- data/notes/2010-05-06-files-not-classes.rdoc +0 -19
- data/notes/2010-07-11-acid-testing.rdoc +0 -52
- data/notes/2010-08-02-enforcing-the-unit.md +0 -68
- data/notes/2010-08-03-new-api.md +0 -37
- data/notes/2011-07-07-nailing-down-the-nomenclature.md +0 -6
- data/site/.rsync-filter +0 -8
- data/site/assets/images/cut-lemon.png +0 -0
- data/site/assets/images/forkme.png +0 -0
- data/site/assets/images/github-logo.png +0 -0
- data/site/assets/images/lemon.jpg +0 -0
- data/site/assets/images/lemon.svg +0 -39
- data/site/assets/images/lemons-are-good.png +0 -0
- data/site/assets/images/opensource.png +0 -0
- data/site/assets/images/ruby-logo.png +0 -0
- data/site/assets/images/skin.jpg +0 -0
- data/site/assets/images/skin1.jpg +0 -0
- data/site/assets/images/tap.png +0 -0
- data/site/assets/images/title.png +0 -0
- data/site/assets/styles/class.css +0 -6
- data/site/assets/styles/reset.css +0 -17
- data/site/assets/styles/site.css +0 -33
- data/site/index.html +0 -218
- data/work/deprecated/command/abstract.rb +0 -29
- data/work/deprecated/command/coverage.rb +0 -115
- data/work/deprecated/command/generate.rb +0 -124
- data/work/deprecated/command/test.rb +0 -112
- data/work/deprecated/cucumber.yml +0 -3
- data/work/deprecated/features/coverage.feature +0 -65
- data/work/deprecated/features/generate.feature +0 -66
- data/work/deprecated/features/step_definitions/coverage_steps.rb +0 -1
- data/work/deprecated/features/support/aruba.rb +0 -1
- data/work/deprecated/features/test.feature +0 -67
- data/work/deprecated/model/dsl/advice.rb +0 -78
- data/work/deprecated/model/dsl/subject.rb +0 -40
- data/work/deprecated/model/main.rb +0 -87
- data/work/deprecated/model/test.rb +0 -54
- data/work/deprecated/model/test_base_dsl.rb +0 -88
- data/work/deprecated/model/test_clause.rb +0 -112
- data/work/deprecated/model/test_context.rb +0 -90
- data/work/deprecated/model/test_feature.rb +0 -128
- data/work/deprecated/model/test_scenario.rb +0 -137
- data/work/deprecated/model/test_suite.rb +0 -297
- data/work/deprecated/rake.rb +0 -103
- data/work/deprecated/test/case_coverage_analyzer.rb +0 -25
- data/work/deprecated/test/case_test_case_dsl.rb +0 -46
- data/work/deprecated/test/fixtures/case_complete.rb +0 -25
- data/work/deprecated/test/fixtures/case_inclusion.rb +0 -18
- data/work/deprecated/test/fixtures/case_incomplete.rb +0 -12
- data/work/deprecated/test/fixtures/example.rb +0 -13
- data/work/deprecated/test/fixtures/helper.rb +0 -13
- data/work/deprecated/test/runner +0 -2
- data/work/old-tests/case_example.rb +0 -15
- data/work/old-tests/feature_example.rb +0 -40
- data/work/reference/dsl2.rb +0 -140
- data/work/reference/dynamic_constant_lookup.rb +0 -76
data/lib/lemon/test_module.rb
CHANGED
|
@@ -2,37 +2,55 @@ module Lemon
|
|
|
2
2
|
|
|
3
3
|
require 'lemon/test_case'
|
|
4
4
|
require 'lemon/test_method'
|
|
5
|
+
require 'lemon/test_class_method'
|
|
5
6
|
|
|
6
7
|
# The nomenclature of a TestModule limts the focus of testing
|
|
7
8
|
# the methods of a module.
|
|
8
9
|
#
|
|
9
10
|
class TestModule < TestCase
|
|
10
11
|
|
|
12
|
+
#
|
|
11
13
|
# New unit test.
|
|
14
|
+
#
|
|
12
15
|
def initialize(settings={}, &block)
|
|
13
16
|
@tested = false
|
|
14
17
|
super(settings)
|
|
15
18
|
end
|
|
16
19
|
|
|
20
|
+
#
|
|
17
21
|
# Make sure the target is a module.
|
|
22
|
+
#
|
|
18
23
|
def validate_settings
|
|
19
24
|
raise "#{@target} is not a module" unless Module === @target
|
|
20
25
|
end
|
|
21
26
|
|
|
27
|
+
#
|
|
22
28
|
# The type of test case.
|
|
29
|
+
#
|
|
23
30
|
def type
|
|
24
31
|
'Module'
|
|
25
32
|
end
|
|
26
33
|
|
|
34
|
+
#
|
|
27
35
|
# Gives the name of the target module.
|
|
36
|
+
#
|
|
28
37
|
def to_s
|
|
29
38
|
target.to_s
|
|
30
39
|
end
|
|
31
40
|
|
|
32
41
|
# Evaluation scope for TestModule.
|
|
33
|
-
|
|
42
|
+
#
|
|
43
|
+
class DSL < TestCase::DSL
|
|
34
44
|
|
|
35
|
-
#
|
|
45
|
+
#
|
|
46
|
+
# The class for which this is a DSL context.
|
|
47
|
+
#
|
|
48
|
+
def context_class
|
|
49
|
+
TestModule
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
#
|
|
53
|
+
# Define a method-unit subcase for the class/module testcase.
|
|
36
54
|
#
|
|
37
55
|
# @example
|
|
38
56
|
# unit :puts do
|
|
@@ -41,13 +59,16 @@ module Lemon
|
|
|
41
59
|
# end
|
|
42
60
|
# end
|
|
43
61
|
#
|
|
44
|
-
def unit(method, &block)
|
|
62
|
+
def unit(method, *tags, &block)
|
|
63
|
+
return if @_omit
|
|
64
|
+
|
|
45
65
|
meth = TestMethod.new(
|
|
46
|
-
:context
|
|
47
|
-
:setup
|
|
48
|
-
:skip
|
|
49
|
-
:target
|
|
50
|
-
:
|
|
66
|
+
:context => @_testcase,
|
|
67
|
+
:setup => @_setup,
|
|
68
|
+
:skip => @_skip,
|
|
69
|
+
:target => method.to_sym,
|
|
70
|
+
:tags => tags,
|
|
71
|
+
:singleton => false,
|
|
51
72
|
&block
|
|
52
73
|
)
|
|
53
74
|
@_testcase.tests << meth
|
|
@@ -55,57 +76,39 @@ module Lemon
|
|
|
55
76
|
end
|
|
56
77
|
alias :Unit :unit
|
|
57
78
|
|
|
79
|
+
#
|
|
58
80
|
# More specific nomencalture for `#unit`.
|
|
81
|
+
#
|
|
59
82
|
alias :method :unit
|
|
60
83
|
alias :Method :unit
|
|
61
84
|
|
|
85
|
+
#
|
|
62
86
|
# Define a class-method unit test for this case.
|
|
63
87
|
#
|
|
64
|
-
def class_unit(method, &block)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
:
|
|
69
|
-
:
|
|
70
|
-
:
|
|
88
|
+
def class_unit(method, *tags, &block)
|
|
89
|
+
return if @_omit
|
|
90
|
+
|
|
91
|
+
meth = TestClassMethod.new(
|
|
92
|
+
:context => @_testcase,
|
|
93
|
+
:setup => @_setup,
|
|
94
|
+
:skip => @_skip,
|
|
95
|
+
:target => method.to_sym,
|
|
96
|
+
:tags => tags,
|
|
97
|
+
:singleton => true,
|
|
71
98
|
&block
|
|
72
99
|
)
|
|
100
|
+
|
|
73
101
|
@_testcase.tests << meth
|
|
102
|
+
|
|
74
103
|
meth
|
|
75
104
|
end
|
|
76
105
|
alias :ClassUnit :class_unit
|
|
77
106
|
|
|
107
|
+
#
|
|
78
108
|
# More specific nomencalture for `#class_unit`.
|
|
79
|
-
alias :class_method :class_unit
|
|
80
|
-
alias :ClassMethod :class_unit
|
|
81
|
-
|
|
82
|
-
# Alternate nomenclature for class_unit.
|
|
83
|
-
alias :Function :ClassMethod
|
|
84
|
-
alias :function :ClassMethod
|
|
85
|
-
|
|
86
|
-
#--
|
|
87
|
-
# TODO: Allow sub-cases?
|
|
88
|
-
#++
|
|
89
|
-
|
|
90
|
-
# Create a subcase of module testcase.
|
|
91
|
-
def context(label, &block)
|
|
92
|
-
@_testcase.tests << TestModule.new(
|
|
93
|
-
:context => @_testcase,
|
|
94
|
-
:target => @_testcase.target,
|
|
95
|
-
:setup => @_setup,
|
|
96
|
-
:skip => @_skip,
|
|
97
|
-
:label => label,
|
|
98
|
-
&block
|
|
99
|
-
)
|
|
100
|
-
end
|
|
101
|
-
alias :Context :context
|
|
102
|
-
|
|
103
109
|
#
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
block.call
|
|
107
|
-
@_skip = nil
|
|
108
|
-
end
|
|
110
|
+
alias :class_method :class_unit
|
|
111
|
+
alias :ClassMethod :class_unit
|
|
109
112
|
|
|
110
113
|
end
|
|
111
114
|
|
data/lib/lemon/test_proc.rb
CHANGED
|
@@ -11,6 +11,7 @@ module Lemon
|
|
|
11
11
|
@setup = settings[:setup]
|
|
12
12
|
@label = settings[:label]
|
|
13
13
|
@skip = settings[:skip]
|
|
14
|
+
@tags = settings[:tags]
|
|
14
15
|
|
|
15
16
|
@procedure = procedure
|
|
16
17
|
|
|
@@ -34,7 +35,9 @@ module Lemon
|
|
|
34
35
|
#
|
|
35
36
|
#attr :caller
|
|
36
37
|
|
|
38
|
+
#
|
|
37
39
|
# Target method of context.
|
|
40
|
+
#
|
|
38
41
|
def target
|
|
39
42
|
context.target
|
|
40
43
|
end
|
|
@@ -42,29 +45,44 @@ module Lemon
|
|
|
42
45
|
#
|
|
43
46
|
attr_accessor :skip
|
|
44
47
|
|
|
48
|
+
#
|
|
45
49
|
# Don't run test?
|
|
50
|
+
#
|
|
46
51
|
def skip?
|
|
47
52
|
@skip
|
|
48
53
|
end
|
|
49
54
|
|
|
55
|
+
#
|
|
56
|
+
#
|
|
57
|
+
#
|
|
58
|
+
def tags
|
|
59
|
+
@tags
|
|
60
|
+
end
|
|
61
|
+
|
|
50
62
|
# Has this test been executed?
|
|
51
63
|
attr_accessor :tested
|
|
52
64
|
|
|
65
|
+
#
|
|
53
66
|
# Test label.
|
|
67
|
+
#
|
|
54
68
|
def to_s
|
|
55
69
|
label.to_s
|
|
56
70
|
end
|
|
57
71
|
|
|
58
72
|
alias_method :name, :to_s
|
|
59
73
|
|
|
74
|
+
#
|
|
60
75
|
# Ruby Test looks for #topic as the description of test setup.
|
|
76
|
+
#
|
|
77
|
+
# @todo This may be deprecated in future RubyTest.
|
|
78
|
+
#
|
|
61
79
|
def topic
|
|
62
80
|
setup.to_s
|
|
63
81
|
end
|
|
64
82
|
|
|
65
83
|
#
|
|
66
84
|
#def description
|
|
67
|
-
# if
|
|
85
|
+
# if singleton?
|
|
68
86
|
# #"#{test_case} .#{target} #{aspect}"
|
|
69
87
|
# "#{test_case}.#{target} #{context} #{aspect}".strip
|
|
70
88
|
# else
|
|
@@ -76,7 +94,7 @@ module Lemon
|
|
|
76
94
|
|
|
77
95
|
#
|
|
78
96
|
#def name
|
|
79
|
-
# if
|
|
97
|
+
# if singleton?
|
|
80
98
|
# "#{test_case}.#{target}"
|
|
81
99
|
# else
|
|
82
100
|
# "#{test_case}##{target}"
|
|
@@ -88,6 +106,8 @@ module Lemon
|
|
|
88
106
|
[]
|
|
89
107
|
end
|
|
90
108
|
|
|
109
|
+
#
|
|
110
|
+
#
|
|
91
111
|
#
|
|
92
112
|
def to_proc
|
|
93
113
|
lambda do
|
|
@@ -95,11 +115,15 @@ module Lemon
|
|
|
95
115
|
end
|
|
96
116
|
end
|
|
97
117
|
|
|
118
|
+
#
|
|
119
|
+
#
|
|
98
120
|
#
|
|
99
121
|
def match?(match)
|
|
100
122
|
match == target || match === description
|
|
101
123
|
end
|
|
102
124
|
|
|
125
|
+
#
|
|
126
|
+
# Run the test.
|
|
103
127
|
#
|
|
104
128
|
def call
|
|
105
129
|
context.run(self) do
|
|
@@ -109,6 +133,8 @@ module Lemon
|
|
|
109
133
|
end
|
|
110
134
|
end
|
|
111
135
|
|
|
136
|
+
#
|
|
137
|
+
#
|
|
112
138
|
#
|
|
113
139
|
def scope
|
|
114
140
|
context.scope
|
data/lib/lemon/test_setup.rb
CHANGED
|
@@ -20,7 +20,7 @@ module Lemon
|
|
|
20
20
|
def initialize(context, description, options={}, &setup)
|
|
21
21
|
@context = context
|
|
22
22
|
@description = description.to_s
|
|
23
|
-
#@
|
|
23
|
+
#@singleton = options[:singleton]
|
|
24
24
|
#@type = options[:type] || :context
|
|
25
25
|
@setup = [setup].flatten
|
|
26
26
|
@teardown = []
|
data/lib/lemon/test_world.rb
CHANGED
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
## Complete Coverage
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
### Complete Coverage of Public Interface
|
|
4
4
|
|
|
5
5
|
Given an example script in 'lib/complete_example.rb' as follows:
|
|
6
6
|
|
|
@@ -76,7 +76,7 @@ In addition there should be no uncovered_cases or undefined_units.
|
|
|
76
76
|
coverage.undefined_units.assert = []
|
|
77
77
|
coverage.uncovered_cases.assert = []
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
### Including Private and Protected Methods
|
|
80
80
|
|
|
81
81
|
We will use the same example classes as above, but in this case we will
|
|
82
82
|
add coverage for private and protected methods as well, given a test case
|
data/try/case_scope.rb
ADDED
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.9.
|
|
4
|
+
version: 0.9.1
|
|
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:
|
|
12
|
+
date: 2012-03-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
|
-
name:
|
|
16
|
-
requirement: &
|
|
15
|
+
name: rubytest
|
|
16
|
+
requirement: &14113140 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *14113140
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: ae
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &14143620 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *14143620
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: ansi
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &14331080 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '1.3'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *14331080
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: detroit
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &14345460 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '0'
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *14345460
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: reap
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &14418880 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *14418880
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: qed
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &14414420 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,44 +76,36 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
80
|
-
description: Lemon is a unit testing framework that tightly correlates
|
|
81
|
-
|
|
79
|
+
version_requirements: *14414420
|
|
80
|
+
description: ! 'Lemon is a unit testing framework that tightly correlates
|
|
81
|
+
|
|
82
|
+
class to test case and method to test unit.'
|
|
82
83
|
email:
|
|
83
84
|
- transfire@gmail.com
|
|
84
85
|
executables:
|
|
85
|
-
-
|
|
86
|
+
- lemons
|
|
86
87
|
extensions: []
|
|
87
88
|
extra_rdoc_files:
|
|
88
|
-
-
|
|
89
|
-
-
|
|
89
|
+
- LICENSE.txt
|
|
90
|
+
- HISTORY.md
|
|
90
91
|
- README.md
|
|
92
|
+
- SPECSHEET.md
|
|
91
93
|
files:
|
|
92
|
-
- .
|
|
93
|
-
- .gitignore
|
|
94
|
-
- .reap/digest
|
|
95
|
-
- .reap/test.reap
|
|
94
|
+
- .yardopts
|
|
96
95
|
- .ruby
|
|
97
|
-
-
|
|
98
|
-
- COPYING.rdoc
|
|
99
|
-
- HISTORY.rdoc
|
|
100
|
-
- MANIFEST
|
|
101
|
-
- PROFILE
|
|
102
|
-
- README.md
|
|
103
|
-
- Rakefile
|
|
104
|
-
- VERSION
|
|
105
|
-
- bin/lemonade
|
|
106
|
-
- lib/lemon.rb
|
|
107
|
-
- lib/lemon.yml
|
|
96
|
+
- bin/lemons
|
|
108
97
|
- lib/lemon/ae.rb
|
|
109
|
-
- lib/lemon/cli.rb
|
|
110
98
|
- lib/lemon/cli/base.rb
|
|
111
99
|
- lib/lemon/cli/coverage.rb
|
|
112
100
|
- lib/lemon/cli/generate.rb
|
|
101
|
+
- lib/lemon/cli/lemon.ascii
|
|
102
|
+
- lib/lemon/cli/obrother.rb
|
|
103
|
+
- lib/lemon/cli/scaffold.rb
|
|
113
104
|
- lib/lemon/cli/test.rb
|
|
114
|
-
- lib/lemon/
|
|
105
|
+
- lib/lemon/cli.rb
|
|
115
106
|
- lib/lemon/core_ext/kernel.rb
|
|
116
|
-
- lib/lemon/core_ext/
|
|
107
|
+
- lib/lemon/core_ext/module.rb
|
|
108
|
+
- lib/lemon/core_ext.rb
|
|
117
109
|
- lib/lemon/coverage/analyzer.rb
|
|
118
110
|
- lib/lemon/coverage/cover_unit.rb
|
|
119
111
|
- lib/lemon/coverage/formats/abstract.rb
|
|
@@ -121,92 +113,48 @@ files:
|
|
|
121
113
|
- lib/lemon/coverage/formats/outline.rb
|
|
122
114
|
- lib/lemon/coverage/formats/verbose.rb
|
|
123
115
|
- lib/lemon/coverage/formats/yaml.rb
|
|
116
|
+
- lib/lemon/coverage/generator.rb
|
|
124
117
|
- lib/lemon/coverage/snapshot.rb
|
|
125
118
|
- lib/lemon/coverage/source_parser.rb
|
|
126
|
-
- lib/lemon/
|
|
119
|
+
- lib/lemon/ignore_callers.rb
|
|
127
120
|
- lib/lemon/test_advice.rb
|
|
128
121
|
- lib/lemon/test_case.rb
|
|
129
122
|
- lib/lemon/test_class.rb
|
|
123
|
+
- lib/lemon/test_class_method.rb
|
|
130
124
|
- lib/lemon/test_method.rb
|
|
131
125
|
- lib/lemon/test_module.rb
|
|
132
126
|
- lib/lemon/test_proc.rb
|
|
127
|
+
- lib/lemon/test_scope.rb
|
|
133
128
|
- lib/lemon/test_setup.rb
|
|
134
129
|
- lib/lemon/test_world.rb
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
- notes/2010-08-02-enforcing-the-unit.md
|
|
139
|
-
- notes/2010-08-03-new-api.md
|
|
140
|
-
- notes/2011-07-07-nailing-down-the-nomenclature.md
|
|
141
|
-
- site/.rsync-filter
|
|
142
|
-
- site/assets/images/cut-lemon.png
|
|
143
|
-
- site/assets/images/forkme.png
|
|
144
|
-
- site/assets/images/github-logo.png
|
|
145
|
-
- site/assets/images/lemon.jpg
|
|
146
|
-
- site/assets/images/lemon.svg
|
|
147
|
-
- site/assets/images/lemons-are-good.png
|
|
148
|
-
- site/assets/images/opensource.png
|
|
149
|
-
- site/assets/images/ruby-logo.png
|
|
150
|
-
- site/assets/images/skin.jpg
|
|
151
|
-
- site/assets/images/skin1.jpg
|
|
152
|
-
- site/assets/images/tap.png
|
|
153
|
-
- site/assets/images/title.png
|
|
154
|
-
- site/assets/styles/class.css
|
|
155
|
-
- site/assets/styles/reset.css
|
|
156
|
-
- site/assets/styles/site.css
|
|
157
|
-
- site/index.html
|
|
130
|
+
- lib/lemon.rb
|
|
131
|
+
- lib/lemon.yml
|
|
132
|
+
- spec/applique/ae.rb
|
|
158
133
|
- spec/applique/fs.rb
|
|
159
|
-
- spec/coverage/01_complete.
|
|
160
|
-
- spec/coverage/02_incomplete.
|
|
161
|
-
- spec/coverage/03_extensions.
|
|
134
|
+
- spec/coverage/01_complete.md
|
|
135
|
+
- spec/coverage/02_incomplete.md
|
|
136
|
+
- spec/coverage/03_extensions.md
|
|
162
137
|
- spec/coverage/applique/lemon.rb
|
|
163
138
|
- try/.test
|
|
164
139
|
- try/case_error.rb
|
|
165
140
|
- try/case_fail.rb
|
|
166
141
|
- try/case_pass.rb
|
|
167
142
|
- try/case_pending.rb
|
|
143
|
+
- try/case_scope.rb
|
|
168
144
|
- try/case_singleton.rb
|
|
169
145
|
- try/case_untested.rb
|
|
170
146
|
- try/fixtures/calculator.rb
|
|
171
147
|
- try/fixtures/example-use.rb
|
|
172
148
|
- try/fixtures/example.rb
|
|
173
149
|
- try/helpers/loadpath.rb
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
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
|
|
206
|
-
- work/reference/dsl2.rb
|
|
207
|
-
- work/reference/dynamic_constant_lookup.rb
|
|
150
|
+
- LICENSE.txt
|
|
151
|
+
- HISTORY.md
|
|
152
|
+
- README.md
|
|
153
|
+
- SPECSHEET.md
|
|
154
|
+
- Config.rb
|
|
208
155
|
homepage: http://rubyworks.github.com/lemon
|
|
209
|
-
licenses:
|
|
156
|
+
licenses:
|
|
157
|
+
- BSD-2-Clause
|
|
210
158
|
post_install_message:
|
|
211
159
|
rdoc_options: []
|
|
212
160
|
require_paths:
|
|
@@ -225,8 +173,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
225
173
|
version: '0'
|
|
226
174
|
requirements: []
|
|
227
175
|
rubyforge_project:
|
|
228
|
-
rubygems_version: 1.8.
|
|
176
|
+
rubygems_version: 1.8.11
|
|
229
177
|
signing_key:
|
|
230
178
|
specification_version: 3
|
|
231
|
-
summary: Pucker-
|
|
179
|
+
summary: Pucker-strength Unit Testing
|
|
232
180
|
test_files: []
|