cuke_sniffer 0.0.8 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/cuke_sniffer +4 -1
- data/lib/cuke_sniffer/cli.rb +15 -4
- data/lib/cuke_sniffer/cuke_sniffer_helper.rb +4 -3
- data/lib/cuke_sniffer/dead_steps_helper.rb +53 -53
- data/lib/cuke_sniffer/formatter.rb +166 -125
- data/lib/cuke_sniffer/js/cuke_sniffer.js +184 -0
- data/lib/cuke_sniffer/report/css.html.erb +122 -132
- data/lib/cuke_sniffer/report/dead_steps.html.erb +61 -61
- data/lib/cuke_sniffer/report/dead_steps_min.html.erb +23 -0
- data/lib/cuke_sniffer/report/expand_and_collapse_buttons.html.erb +8 -0
- data/lib/cuke_sniffer/report/features.html.erb +124 -106
- data/lib/cuke_sniffer/report/hooks.html.erb +76 -76
- data/lib/cuke_sniffer/report/improvement_list.html.erb +34 -24
- data/lib/cuke_sniffer/report/information.html.erb +81 -0
- data/lib/cuke_sniffer/report/js.html.erb +9 -65
- data/lib/cuke_sniffer/report/min_template.html.erb +12 -7
- data/lib/cuke_sniffer/report/rules.html.erb +100 -68
- data/lib/cuke_sniffer/report/standard_template.html.erb +16 -12
- data/lib/cuke_sniffer/report/step_definitions.html.erb +69 -63
- data/lib/cuke_sniffer/report/summary.html.erb +131 -96
- data/lib/cuke_sniffer/report/title.html.erb +13 -9
- data/lib/cuke_sniffer/rule.rb +1 -0
- data/lib/cuke_sniffer/rule_config.rb +2 -2
- data/lib/cuke_sniffer/rules_evaluator.rb +1 -2
- data/lib/cuke_sniffer/scenario.rb +67 -23
- data/lib/cuke_sniffer/summary_helper.rb +90 -90
- metadata +31 -46
- data/lib/cuke_sniffer/report/legend.html.erb +0 -167
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cuke_sniffer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Robert Cochran
|
@@ -11,85 +10,71 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date:
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
17
|
-
name: roxml
|
18
|
-
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
|
-
requirements:
|
21
|
-
- - ! '>='
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: '0'
|
24
|
-
type: :runtime
|
25
|
-
prerelease: false
|
26
|
-
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
|
-
requirements:
|
29
|
-
- - ! '>='
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version: '0'
|
13
|
+
date: 2016-06-26 00:00:00.000000000 Z
|
14
|
+
dependencies: []
|
32
15
|
description: A ruby library used to root out smells in your cukes.
|
33
|
-
email:
|
16
|
+
email: robert.cochran.dev@gmail.com
|
34
17
|
executables:
|
35
18
|
- cuke_sniffer
|
36
19
|
extensions: []
|
37
20
|
extra_rdoc_files: []
|
38
21
|
files:
|
39
|
-
-
|
40
|
-
- lib/cuke_sniffer
|
22
|
+
- bin/cuke_sniffer
|
23
|
+
- lib/cuke_sniffer.rb
|
24
|
+
- lib/cuke_sniffer/cli.rb
|
25
|
+
- lib/cuke_sniffer/constants.rb
|
26
|
+
- lib/cuke_sniffer/cuke_sniffer_helper.rb
|
27
|
+
- lib/cuke_sniffer/dead_steps_helper.rb
|
28
|
+
- lib/cuke_sniffer/feature.rb
|
29
|
+
- lib/cuke_sniffer/feature_rules_evaluator.rb
|
30
|
+
- lib/cuke_sniffer/formatter.rb
|
31
|
+
- lib/cuke_sniffer/hook.rb
|
32
|
+
- lib/cuke_sniffer/js/cuke_sniffer.js
|
41
33
|
- lib/cuke_sniffer/report/css.html.erb
|
42
|
-
- lib/cuke_sniffer/report/
|
34
|
+
- lib/cuke_sniffer/report/dead_steps.html.erb
|
35
|
+
- lib/cuke_sniffer/report/dead_steps_min.html.erb
|
36
|
+
- lib/cuke_sniffer/report/expand_and_collapse_buttons.html.erb
|
43
37
|
- lib/cuke_sniffer/report/features.html.erb
|
44
38
|
- lib/cuke_sniffer/report/hooks.html.erb
|
45
39
|
- lib/cuke_sniffer/report/improvement_list.html.erb
|
40
|
+
- lib/cuke_sniffer/report/information.html.erb
|
41
|
+
- lib/cuke_sniffer/report/js.html.erb
|
46
42
|
- lib/cuke_sniffer/report/min_template.html.erb
|
47
|
-
- lib/cuke_sniffer/report/standard_template.html.erb
|
48
43
|
- lib/cuke_sniffer/report/rules.html.erb
|
44
|
+
- lib/cuke_sniffer/report/standard_template.html.erb
|
49
45
|
- lib/cuke_sniffer/report/step_definitions.html.erb
|
50
46
|
- lib/cuke_sniffer/report/summary.html.erb
|
51
|
-
- lib/cuke_sniffer/report/
|
52
|
-
- lib/cuke_sniffer.rb
|
53
|
-
- lib/cuke_sniffer/constants.rb
|
54
|
-
- lib/cuke_sniffer/feature.rb
|
55
|
-
- lib/cuke_sniffer/feature_rules_evaluator.rb
|
56
|
-
- lib/cuke_sniffer/rule_target.rb
|
47
|
+
- lib/cuke_sniffer/report/title.html.erb
|
48
|
+
- lib/cuke_sniffer/rule.rb
|
57
49
|
- lib/cuke_sniffer/rule_config.rb
|
50
|
+
- lib/cuke_sniffer/rule_target.rb
|
51
|
+
- lib/cuke_sniffer/rules_evaluator.rb
|
58
52
|
- lib/cuke_sniffer/scenario.rb
|
59
53
|
- lib/cuke_sniffer/step_definition.rb
|
60
|
-
- lib/cuke_sniffer/rule.rb
|
61
|
-
- lib/cuke_sniffer/formatter.rb
|
62
|
-
- lib/cuke_sniffer/summary_node.rb
|
63
|
-
- lib/cuke_sniffer/rules_evaluator.rb
|
64
|
-
- lib/cuke_sniffer/cuke_sniffer_helper.rb
|
65
54
|
- lib/cuke_sniffer/summary_helper.rb
|
66
|
-
- lib/cuke_sniffer/
|
67
|
-
- lib/cuke_sniffer/cli.rb
|
68
|
-
- lib/cuke_sniffer/hook.rb
|
69
|
-
- bin/cuke_sniffer
|
55
|
+
- lib/cuke_sniffer/summary_node.rb
|
70
56
|
homepage: https://github.com/r-cochran/cuke_sniffer
|
71
57
|
licenses:
|
72
58
|
- MIT
|
59
|
+
metadata: {}
|
73
60
|
post_install_message:
|
74
61
|
rdoc_options: []
|
75
62
|
require_paths:
|
76
63
|
- lib
|
77
64
|
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
65
|
requirements:
|
80
|
-
- -
|
66
|
+
- - ">="
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '0'
|
83
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
70
|
requirements:
|
86
|
-
- -
|
71
|
+
- - ">="
|
87
72
|
- !ruby/object:Gem::Version
|
88
73
|
version: '0'
|
89
74
|
requirements: []
|
90
75
|
rubyforge_project:
|
91
|
-
rubygems_version:
|
76
|
+
rubygems_version: 2.5.1
|
92
77
|
signing_key:
|
93
|
-
specification_version:
|
78
|
+
specification_version: 4
|
94
79
|
summary: CukeSniffer
|
95
80
|
test_files: []
|
@@ -1,167 +0,0 @@
|
|
1
|
-
<style>
|
2
|
-
.legend_header {
|
3
|
-
font-weight: bold;
|
4
|
-
width: 10%;
|
5
|
-
vertical-align:text-top;
|
6
|
-
border-bottom: 2px solid #add8e6;
|
7
|
-
}
|
8
|
-
.legend_description {
|
9
|
-
border-bottom: 2px solid #add8e6;
|
10
|
-
}
|
11
|
-
</style>
|
12
|
-
|
13
|
-
<div class="title" onclick="toggleById('legend', this)">
|
14
|
-
Legend +
|
15
|
-
</div>
|
16
|
-
<div class="shrink_section" style="display: none;" id="legend">
|
17
|
-
<div id="description">
|
18
|
-
<table>
|
19
|
-
<tr>
|
20
|
-
<td class="legend_header">
|
21
|
-
Purpose:
|
22
|
-
</td>
|
23
|
-
<td class="legend_description">
|
24
|
-
cuke_sniffer is an open source project with the goal of aiding others in the maintenance and improvement of their cucumber projects. This tool will identify improvements for readability, misuse of cucumber practices, and point out step definitions that are no longer used (dead steps).
|
25
|
-
</td>
|
26
|
-
</tr>
|
27
|
-
<tr>
|
28
|
-
<td class="legend_header">
|
29
|
-
Scoring:
|
30
|
-
</td>
|
31
|
-
<td class="legend_description">
|
32
|
-
The higher the score the more improvements there are to be made. The score ultimately is unique to the project since projects can vary so much from domain, number of people involved, and how long the project has been around. We suggest that you use it as a measure against yourself as you move forward and make improvements.
|
33
|
-
</td>
|
34
|
-
</tr>
|
35
|
-
<tr>
|
36
|
-
<td class="legend_header">
|
37
|
-
Summary:
|
38
|
-
</td>
|
39
|
-
<td class="legend_description">
|
40
|
-
The summary section is designed to be a birds eye view of the project and give quick feedback on the health of a project.
|
41
|
-
</td>
|
42
|
-
</tr>
|
43
|
-
<tr>
|
44
|
-
<td></td>
|
45
|
-
<td class="legend_description">
|
46
|
-
<table>
|
47
|
-
<tr>
|
48
|
-
<td class="legend_header">
|
49
|
-
Total Score:
|
50
|
-
</td>
|
51
|
-
<td class="legend_description">
|
52
|
-
This is the total points gathered by a given section. More often than not Scenarios will have the highest value in this section.
|
53
|
-
</td>
|
54
|
-
</tr>
|
55
|
-
<tr>
|
56
|
-
<td class="legend_header">
|
57
|
-
Count:
|
58
|
-
</td>
|
59
|
-
<td class="legend_description">
|
60
|
-
This is the total number of cucumber objects found in the project. If you have 30 feature files the features count will be 30. For Scenarios/Step Definitions/Hooks the count will be on objects gathered independent of the files they were found in.
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
<tr>
|
64
|
-
<td class="legend_header">
|
65
|
-
Lowest Score:
|
66
|
-
</td>
|
67
|
-
<td class="legend_description">
|
68
|
-
This is to show the best score any object had obtained. This will most often be 0 unless every single object had an improvement found.
|
69
|
-
</td>
|
70
|
-
</tr>
|
71
|
-
<tr>
|
72
|
-
<td class="legend_header">
|
73
|
-
Highest Score:
|
74
|
-
</td>
|
75
|
-
<td class="legend_description">
|
76
|
-
This is to show the worst score any object had obtained. This can be used to quickly gauge the biggest area of improvement. The larger scoring sections will be Scenarios and Step Definitions.
|
77
|
-
</td>
|
78
|
-
</tr>
|
79
|
-
<tr>
|
80
|
-
<td class="legend_header">
|
81
|
-
Average Score:
|
82
|
-
</td>
|
83
|
-
<td class="legend_description">
|
84
|
-
This is to show the average score any object had obtained.
|
85
|
-
</td>
|
86
|
-
</tr>
|
87
|
-
<tr>
|
88
|
-
<td class="legend_header">
|
89
|
-
Threshold:
|
90
|
-
</td>
|
91
|
-
<td class="legend_description">
|
92
|
-
This is the value used to determine if a Feature/Scenario/Step Definition/Hook is good or bad. The value can be customized(see wiki on github) to scale what is good/bad for a project.
|
93
|
-
</td>
|
94
|
-
</tr>
|
95
|
-
<tr>
|
96
|
-
<td class="legend_header">
|
97
|
-
Good:
|
98
|
-
</td>
|
99
|
-
<td class="legend_description">
|
100
|
-
The percentage of objects that can be considered good. Based on the Threshold.
|
101
|
-
</td>
|
102
|
-
</tr>
|
103
|
-
<tr>
|
104
|
-
<td class="legend_header">
|
105
|
-
Bad:
|
106
|
-
</td>
|
107
|
-
<td class="legend_description">
|
108
|
-
The percentage of objects that can be considered bad. Based on the Threshold.
|
109
|
-
</td>
|
110
|
-
</tr>
|
111
|
-
</table>
|
112
|
-
</td>
|
113
|
-
</tr>
|
114
|
-
<tr>
|
115
|
-
<td class="legend_header">
|
116
|
-
Improvement List:
|
117
|
-
</td>
|
118
|
-
<td class="legend_description">
|
119
|
-
This displays a sorted list of all the improvements that can be made in the project based on the total times a rule was triggered.
|
120
|
-
</td>
|
121
|
-
</tr>
|
122
|
-
<tr>
|
123
|
-
<td class="legend_header">
|
124
|
-
Rules:
|
125
|
-
</td>
|
126
|
-
<td class="legend_description">
|
127
|
-
This displays all of the rules when evaluating the project. The rules section is divided into Enabled and Disabled to show the status of any given rule.
|
128
|
-
</td>
|
129
|
-
</tr>
|
130
|
-
<tr>
|
131
|
-
<td class="legend_header">
|
132
|
-
Dead Steps:
|
133
|
-
</td>
|
134
|
-
<td class="legend_description">
|
135
|
-
This displays all steps that were found unused in a project. A step definition is considered unused if it is never directly referenced from a scenario or through a nested step call found in a step definition. There are also measures used to do fuzzy matching in the case of step definitions that are only ever called through constructed calls.
|
136
|
-
This section is divided up by step definition file to more easily find/remove the unused step definition. We show the line and regex of each dead step.
|
137
|
-
</td>
|
138
|
-
</tr>
|
139
|
-
<tr>
|
140
|
-
<td class="legend_header">
|
141
|
-
Features:
|
142
|
-
</td>
|
143
|
-
<td class="legend_description">
|
144
|
-
This section contains all details around Features and Scenarios. Expanding each section will show you any rules and the location, title, and improvements. This section will be sorted by the combined score of the feature and its scenarios/background.
|
145
|
-
</td>
|
146
|
-
</tr>
|
147
|
-
<tr>
|
148
|
-
<td class="legend_header">
|
149
|
-
Step Definitions:
|
150
|
-
</td>
|
151
|
-
<td class="legend_description">
|
152
|
-
This section contains all details around Step Definitions. Expanding each section will show you any rules and the location, title, and improvements. This section also shows the number of calls made to this step definition. This includes individual calls from outlines and nested step calls.
|
153
|
-
</td>
|
154
|
-
</tr>
|
155
|
-
<tr>
|
156
|
-
<td class="legend_header">
|
157
|
-
Hooks:
|
158
|
-
</td>
|
159
|
-
<td class="legend_description">
|
160
|
-
This section contains all details around Hooks. Expanding each section will show you any rules and the location, title, and improvements.
|
161
|
-
</td>
|
162
|
-
</tr>
|
163
|
-
</table>
|
164
|
-
</div>
|
165
|
-
</div>
|
166
|
-
|
167
|
-
<br>
|