cucumber-in-the-yard 1.2 → 1.3
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/History.txt +12 -0
- data/Manifest +4 -3
- data/Rakefile +1 -1
- data/cucumber-in-the-yard.gemspec +4 -4
- data/example/empty.feature +2 -0
- data/example/example.step.rb +5 -1
- data/example/example.third.feature +3 -0
- data/example/second_example.feature +4 -1
- data/lib/city.rb +1 -1
- data/lib/cucumber/city_builder.rb +1 -1
- data/lib/yard/code_objects/base.rb +38 -0
- data/lib/yard/code_objects/feature.rb +2 -8
- data/lib/yard/code_objects/scenario.rb +22 -8
- data/lib/yard/code_objects/step.rb +2 -3
- data/lib/yard/code_objects/tags.rb +3 -11
- data/lib/yard/handlers/feature_handler.rb +2 -1
- data/lib/yard/rb_extensions.rb +8 -4
- data/lib/yard/templates/default/feature/html/feature.erb +146 -144
- data/lib/yard/templates/default/fulldoc/html/css/common.css +13 -6
- data/lib/yard/templates/default/fulldoc/html/full_list_features.erb +2 -2
- data/lib/yard/templates/default/fulldoc/html/full_list_scenarios.erb +2 -2
- data/lib/yard/templates/default/fulldoc/html/full_list_stepdefinitions.erb +2 -2
- data/lib/yard/templates/default/fulldoc/html/full_list_steps.erb +3 -3
- data/lib/yard/templates/default/fulldoc/html/full_list_tagusages.erb +2 -2
- data/lib/yard/templates/default/fulldoc/html/setup.rb +32 -41
- data/lib/yard/templates/default/steptransformers/html/stepdefinition.erb +16 -5
- data/lib/yard/templates/default/tagusage/html/tagusage.erb +4 -4
- data/lib/yard/templates/default/tagusage/setup.rb +1 -1
- metadata +9 -8
- data/lib/yard/code_objects/cucumber_location_helper.rb +0 -15
data/History.txt
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 1.3 / 2010-10-13
|
2
|
+
|
3
|
+
* (7rans requested) Step definitions to show their source code; required a better source definition to be stored during creation of the CodeObject
|
4
|
+
* Fixes to the Feature template which had some unclosed table header elements
|
5
|
+
* Scenario Outline helper methods added to Scenarios
|
6
|
+
* Scenario Outlines, Tables, and Multiline Strings had other minor CSS changes
|
7
|
+
* Step tables and Scenario Example tables are no longer locked to 150px; instead that is the minimum width
|
8
|
+
* Tables and Multiline Strings (PyStrings) are no longer displayed in the steps frame which was causing ugliness with the striping of the rows
|
9
|
+
* (lsegal strongly recommended) Removed the pervasive use of filename in the CodeObjects
|
10
|
+
* Cleaned up the fulldoc setup to remove the redundancy
|
11
|
+
* Updated all the templates to support the lack of filename
|
12
|
+
|
1
13
|
=== 1.2 / 2010-10-10
|
2
14
|
|
3
15
|
* FIX: Empty Step Definitions caused failure during serialization
|
data/Manifest
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
History.txt
|
2
|
+
Manifest
|
2
3
|
README.md
|
3
4
|
Rakefile
|
5
|
+
example/empty.feature
|
4
6
|
example/example.feature
|
5
7
|
example/example.step.rb
|
6
8
|
example/example.third.feature
|
7
9
|
example/second_example.feature
|
8
10
|
lib/city.rb
|
9
11
|
lib/cucumber/city_builder.rb
|
10
|
-
lib/yard/code_objects/
|
12
|
+
lib/yard/code_objects/base.rb
|
11
13
|
lib/yard/code_objects/feature.rb
|
12
14
|
lib/yard/code_objects/scenario.rb
|
13
15
|
lib/yard/code_objects/step.rb
|
@@ -16,8 +18,8 @@ lib/yard/extensions.rb
|
|
16
18
|
lib/yard/handlers/base.rb
|
17
19
|
lib/yard/handlers/feature_handler.rb
|
18
20
|
lib/yard/parser/feature.rb
|
19
|
-
lib/yard/rb_extensions.rb
|
20
21
|
lib/yard/rake/city_task.rb
|
22
|
+
lib/yard/rb_extensions.rb
|
21
23
|
lib/yard/templates/default/feature/html/feature.erb
|
22
24
|
lib/yard/templates/default/feature/setup.rb
|
23
25
|
lib/yard/templates/default/fulldoc/html/css/common.css
|
@@ -48,4 +50,3 @@ spec/city/yard_namespace_object_spec.rb
|
|
48
50
|
spec/city/yard_parser_cucumber_spec.rb
|
49
51
|
spec/city/yard_rb_extensions_spec.rb
|
50
52
|
spec/spec_helper.rb
|
51
|
-
Manifest
|
data/Rakefile
CHANGED
@@ -7,7 +7,7 @@ task :gendoc do
|
|
7
7
|
`yardoc -e lib/city.rb -p lib/yard/templates 'example/**/*.rb' 'example/**/*.feature' --debug`
|
8
8
|
end
|
9
9
|
|
10
|
-
Echoe.new('cucumber-in-the-yard', '1.
|
10
|
+
Echoe.new('cucumber-in-the-yard', '1.3') do |g|
|
11
11
|
g.author = "Frank;lin Webber"
|
12
12
|
g.email = "franklin.webber@gmail.com"
|
13
13
|
g.url = "http://github.com/burtlo/Cucumber-In-The-Yard"
|
@@ -2,19 +2,19 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{cucumber-in-the-yard}
|
5
|
-
s.version = "1.
|
5
|
+
s.version = "1.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Frank;lin Webber"]
|
9
|
-
s.date = %q{2010-10-
|
9
|
+
s.date = %q{2010-10-13}
|
10
10
|
s.description = %q{
|
11
11
|
Cucumber-In-The-Yard is a YARD extension that processes Cucumber Features, Scenarios, Steps,
|
12
12
|
Step Definitions, Transforms, and Tags and provides a documentation interface that allows you
|
13
13
|
easily view and investigate the test suite. This tools hopes to bridge the gap of being able
|
14
14
|
to provide your feature descriptions to your Product Owners and Stakeholders. }
|
15
15
|
s.email = %q{franklin.webber@gmail.com}
|
16
|
-
s.extra_rdoc_files = ["README.md", "lib/city.rb", "lib/cucumber/city_builder.rb", "lib/yard/code_objects/
|
17
|
-
s.files = ["History.txt", "README.md", "Rakefile", "example/example.feature", "example/example.step.rb", "example/example.third.feature", "example/second_example.feature", "lib/city.rb", "lib/cucumber/city_builder.rb", "lib/yard/code_objects/
|
16
|
+
s.extra_rdoc_files = ["README.md", "lib/city.rb", "lib/cucumber/city_builder.rb", "lib/yard/code_objects/base.rb", "lib/yard/code_objects/feature.rb", "lib/yard/code_objects/scenario.rb", "lib/yard/code_objects/step.rb", "lib/yard/code_objects/tags.rb", "lib/yard/extensions.rb", "lib/yard/handlers/base.rb", "lib/yard/handlers/feature_handler.rb", "lib/yard/parser/feature.rb", "lib/yard/rake/city_task.rb", "lib/yard/rb_extensions.rb", "lib/yard/templates/default/feature/html/feature.erb", "lib/yard/templates/default/feature/setup.rb", "lib/yard/templates/default/fulldoc/html/css/common.css", "lib/yard/templates/default/fulldoc/html/full_list.erb", "lib/yard/templates/default/fulldoc/html/full_list_features.erb", "lib/yard/templates/default/fulldoc/html/full_list_scenarios.erb", "lib/yard/templates/default/fulldoc/html/full_list_stepdefinitions.erb", "lib/yard/templates/default/fulldoc/html/full_list_steps.erb", "lib/yard/templates/default/fulldoc/html/full_list_tagusages.erb", "lib/yard/templates/default/fulldoc/html/index.erb", "lib/yard/templates/default/fulldoc/html/js/cucumber.js", "lib/yard/templates/default/fulldoc/html/setup.rb", "lib/yard/templates/default/layout/html/headers.erb", "lib/yard/templates/default/layout/html/search.erb", "lib/yard/templates/default/module/html/step_transforms.erb", "lib/yard/templates/default/module/setup.rb", "lib/yard/templates/default/scenario/html/scenario.erb", "lib/yard/templates/default/scenario/setup.rb", "lib/yard/templates/default/steptransformers/html/stepdefinition.erb", "lib/yard/templates/default/steptransformers/setup.rb", "lib/yard/templates/default/tagusage/html/tagusage.erb", "lib/yard/templates/default/tagusage/setup.rb"]
|
17
|
+
s.files = ["History.txt", "Manifest", "README.md", "Rakefile", "example/empty.feature", "example/example.feature", "example/example.step.rb", "example/example.third.feature", "example/second_example.feature", "lib/city.rb", "lib/cucumber/city_builder.rb", "lib/yard/code_objects/base.rb", "lib/yard/code_objects/feature.rb", "lib/yard/code_objects/scenario.rb", "lib/yard/code_objects/step.rb", "lib/yard/code_objects/tags.rb", "lib/yard/extensions.rb", "lib/yard/handlers/base.rb", "lib/yard/handlers/feature_handler.rb", "lib/yard/parser/feature.rb", "lib/yard/rake/city_task.rb", "lib/yard/rb_extensions.rb", "lib/yard/templates/default/feature/html/feature.erb", "lib/yard/templates/default/feature/setup.rb", "lib/yard/templates/default/fulldoc/html/css/common.css", "lib/yard/templates/default/fulldoc/html/full_list.erb", "lib/yard/templates/default/fulldoc/html/full_list_features.erb", "lib/yard/templates/default/fulldoc/html/full_list_scenarios.erb", "lib/yard/templates/default/fulldoc/html/full_list_stepdefinitions.erb", "lib/yard/templates/default/fulldoc/html/full_list_steps.erb", "lib/yard/templates/default/fulldoc/html/full_list_tagusages.erb", "lib/yard/templates/default/fulldoc/html/index.erb", "lib/yard/templates/default/fulldoc/html/js/cucumber.js", "lib/yard/templates/default/fulldoc/html/setup.rb", "lib/yard/templates/default/layout/html/headers.erb", "lib/yard/templates/default/layout/html/search.erb", "lib/yard/templates/default/module/html/step_transforms.erb", "lib/yard/templates/default/module/setup.rb", "lib/yard/templates/default/scenario/html/scenario.erb", "lib/yard/templates/default/scenario/setup.rb", "lib/yard/templates/default/steptransformers/html/stepdefinition.erb", "lib/yard/templates/default/steptransformers/setup.rb", "lib/yard/templates/default/tagusage/html/tagusage.erb", "lib/yard/templates/default/tagusage/setup.rb", "spec/city/feature_parser_spec_examples.rb", "spec/city/gherkin_loader_spec.rb", "spec/city/test.feature", "spec/city/yard_handlers_cucumber_spec.rb", "spec/city/yard_namespace_object_spec.rb", "spec/city/yard_parser_cucumber_spec.rb", "spec/city/yard_rb_extensions_spec.rb", "spec/spec_helper.rb", "cucumber-in-the-yard.gemspec"]
|
18
18
|
s.homepage = %q{http://github.com/burtlo/Cucumber-In-The-Yard}
|
19
19
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Cucumber-in-the-yard", "--main", "README.md"]
|
20
20
|
s.require_paths = ["lib"]
|
data/example/example.step.rb
CHANGED
@@ -20,7 +20,7 @@ When /^a customer logs in as username '([^']+)' with password '([^']+)'$/ do |us
|
|
20
20
|
pending "Customer logs in with #{username} and #{password}"
|
21
21
|
end
|
22
22
|
|
23
|
-
Then /^I expect them to have logged in successfully
|
23
|
+
Then /^I expect them to have logged in successfully$/ do
|
24
24
|
pending "Validation that the customer has logged in successfully"
|
25
25
|
end
|
26
26
|
|
@@ -36,6 +36,10 @@ And /^this third defined step definition$/ do
|
|
36
36
|
pending
|
37
37
|
end
|
38
38
|
|
39
|
+
And /^the customer has the following details:$/ do |table|
|
40
|
+
pending "Table of data #{table.hashes}"
|
41
|
+
end
|
42
|
+
|
39
43
|
And /^edits their the biography to state:$/ do |bio|
|
40
44
|
pending "text_field not present for bio #{bio} for this release"
|
41
45
|
end
|
@@ -17,7 +17,10 @@ Feature: Customer Logout Feature
|
|
17
17
|
Given that a customer is a valid customer
|
18
18
|
And the customer has the following details:
|
19
19
|
| Name | Email | Age |
|
20
|
-
|
|
20
|
+
| Roger | r@email.com | 22 |
|
21
|
+
And the customer has the following details:
|
22
|
+
| Name | Email | Age |
|
23
|
+
| Roger | r@email.com | 22 |
|
21
24
|
When a customer logs in as username 'frank' with password 'default'
|
22
25
|
And visits the customer update page
|
23
26
|
Then I expect the customer is able able to post to their profile
|
data/lib/city.rb
CHANGED
@@ -7,7 +7,7 @@ require File.dirname(__FILE__) + "/cucumber/city_builder.rb"
|
|
7
7
|
|
8
8
|
require 'yard'
|
9
9
|
|
10
|
-
require File.dirname(__FILE__) + "/yard/code_objects/
|
10
|
+
require File.dirname(__FILE__) + "/yard/code_objects/base.rb"
|
11
11
|
require File.dirname(__FILE__) + "/yard/code_objects/feature.rb"
|
12
12
|
require File.dirname(__FILE__) + "/yard/code_objects/scenario.rb"
|
13
13
|
require File.dirname(__FILE__) + "/yard/code_objects/step.rb"
|
@@ -14,7 +14,7 @@ module Cucumber
|
|
14
14
|
|
15
15
|
def feature(feature)
|
16
16
|
#log.debug "FEATURE: #{feature.name} #{feature.line} #{feature.keyword} #{feature.description}"
|
17
|
-
@feature = YARD::CodeObjects::Cucumber::Feature.new(:root,@file.gsub('
|
17
|
+
@feature = YARD::CodeObjects::Cucumber::Feature.new(:root,@file.gsub(/\/|\./,'_')) do |f|
|
18
18
|
f.comments = feature.comments.map{|comment| comment.value}.join("\n")
|
19
19
|
f.description = feature.description
|
20
20
|
f.add_file(@file,feature.line)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
|
2
|
+
module YARD::CodeObjects::Cucumber
|
3
|
+
|
4
|
+
module LocationHelper
|
5
|
+
|
6
|
+
def line_number
|
7
|
+
files.first.last
|
8
|
+
end
|
9
|
+
|
10
|
+
def file
|
11
|
+
files.first.first if files && !files.empty?
|
12
|
+
end
|
13
|
+
|
14
|
+
def location
|
15
|
+
"#{file}:#{line_number}"
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
class Base < YARD::CodeObjects::Base
|
21
|
+
include LocationHelper
|
22
|
+
|
23
|
+
# def sep ; '/' ; end
|
24
|
+
|
25
|
+
# def path
|
26
|
+
# if parent && !parent.root?
|
27
|
+
# [ "Cucumber$", name.to_s ].join(sep)
|
28
|
+
# else
|
29
|
+
# name.to_s
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
end
|
38
|
+
|
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
module YARD::CodeObjects::Cucumber
|
4
4
|
|
5
|
-
class Feature <
|
6
|
-
|
7
|
-
|
5
|
+
class Feature < Base
|
6
|
+
|
8
7
|
attr_accessor :background, :comments, :description, :keyword, :scenarios, :tags, :value
|
9
8
|
|
10
9
|
def initialize(namespace,name)
|
@@ -14,11 +13,6 @@ module YARD::CodeObjects::Cucumber
|
|
14
13
|
@tags = []
|
15
14
|
end
|
16
15
|
|
17
|
-
#TODO: this is likely a bad hack because I couldn't understand path
|
18
|
-
def filename
|
19
|
-
"#{self.name.to_s.gsub(/\//,'_')}.html"
|
20
|
-
end
|
21
|
-
|
22
16
|
end
|
23
17
|
|
24
18
|
end
|
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
module YARD::CodeObjects::Cucumber
|
4
4
|
|
5
|
-
class Scenario <
|
6
|
-
|
7
|
-
|
5
|
+
class Scenario < Base
|
6
|
+
|
8
7
|
attr_accessor :value, :description, :steps, :tags, :feature, :examples
|
9
8
|
|
10
9
|
def initialize(namespace,name)
|
@@ -14,12 +13,27 @@ module YARD::CodeObjects::Cucumber
|
|
14
13
|
@tags = []
|
15
14
|
@examples = []
|
16
15
|
end
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
"#{self.name.to_s.gsub(/\//,'_')}.html"
|
16
|
+
|
17
|
+
def background?
|
18
|
+
@keyword == "Background"
|
21
19
|
end
|
22
|
-
|
20
|
+
|
21
|
+
def outline?
|
22
|
+
@examples && !examples.empty?
|
23
|
+
end
|
24
|
+
|
25
|
+
def example_keyword
|
26
|
+
@examples.first.first.to_s.strip
|
27
|
+
end
|
28
|
+
|
29
|
+
def example_headers
|
30
|
+
@examples.first.find {|example| example.is_a?(Array) }.first
|
31
|
+
end
|
32
|
+
|
33
|
+
def example_data
|
34
|
+
@examples.first.find {|example| example.is_a?(Array) }[1..-1]
|
35
|
+
end
|
36
|
+
|
23
37
|
end
|
24
38
|
|
25
39
|
end
|
@@ -2,27 +2,19 @@
|
|
2
2
|
|
3
3
|
module YARD::CodeObjects::Cucumber
|
4
4
|
|
5
|
-
class Tag <
|
6
|
-
include CucumberLocationHelper
|
5
|
+
class Tag < Base
|
7
6
|
|
8
7
|
attr_accessor :value, :feature, :scenario
|
9
|
-
|
10
|
-
def filename
|
11
|
-
"#{self.name.to_s.gsub(/\//,'_')}.html"
|
12
|
-
end
|
13
|
-
|
8
|
+
|
14
9
|
end
|
15
10
|
|
16
11
|
|
17
|
-
class TagUsage <
|
12
|
+
class TagUsage < Base
|
18
13
|
|
19
14
|
attr_reader :value
|
20
15
|
|
21
16
|
attr_accessor :tags
|
22
17
|
|
23
|
-
def filename
|
24
|
-
"#{self.name}.html"
|
25
|
-
end
|
26
18
|
|
27
19
|
def push(tag)
|
28
20
|
@tags = [] unless @tags
|
@@ -11,7 +11,7 @@ module YARD
|
|
11
11
|
if statement
|
12
12
|
# For the background and the scenario, find the steps that have definitions
|
13
13
|
process_scenario(statement.background) if statement.background
|
14
|
-
|
14
|
+
|
15
15
|
statement.scenarios.each do |scenario|
|
16
16
|
process_scenario(scenario)
|
17
17
|
end
|
@@ -24,6 +24,7 @@ module YARD
|
|
24
24
|
|
25
25
|
|
26
26
|
def process_scenario(scenario)
|
27
|
+
|
27
28
|
scenario.steps.each do |step|
|
28
29
|
owner.step_definitions.each do |stepdef|
|
29
30
|
|
data/lib/yard/rb_extensions.rb
CHANGED
@@ -6,6 +6,7 @@ module YARD::CodeObjects
|
|
6
6
|
# StepDefinitions, as implemented in a ruby file
|
7
7
|
#
|
8
8
|
class StepDefinitionObject < Base
|
9
|
+
include Cucumber::LocationHelper
|
9
10
|
|
10
11
|
attr_reader :keyword, :value, :compare_value, :source
|
11
12
|
attr_accessor :constants, :steps
|
@@ -54,9 +55,6 @@ module YARD::CodeObjects
|
|
54
55
|
|
55
56
|
alias_method :<< , :push
|
56
57
|
|
57
|
-
def filename
|
58
|
-
"#{name}.html"
|
59
|
-
end
|
60
58
|
|
61
59
|
end
|
62
60
|
|
@@ -65,6 +63,8 @@ module YARD::CodeObjects
|
|
65
63
|
# Transforms
|
66
64
|
#
|
67
65
|
class StepTransformObject < Base
|
66
|
+
include Cucumber::LocationHelper
|
67
|
+
|
68
68
|
attr_reader :value
|
69
69
|
|
70
70
|
def value=(value)
|
@@ -90,7 +90,11 @@ class StepDefinitionHandler < YARD::Handlers::Ruby::Legacy::Base
|
|
90
90
|
step_definition = statement.tokens.to_s[MATCH,3]
|
91
91
|
@@unique_name = @@unique_name + 1
|
92
92
|
|
93
|
-
stepdef_instance = StepDefinitionObject.new(namespace, "StepDefinition_#{@@unique_name}")
|
93
|
+
stepdef_instance = StepDefinitionObject.new(namespace, "StepDefinition_#{@@unique_name}") do |o|
|
94
|
+
o.source = "#{keyword} #{step_definition} do #{statement.block.to_s =~ /^\s*\|.+/ ? '' : "\n "}#{statement.block.to_s}\nend"
|
95
|
+
o.value = step_definition
|
96
|
+
o.keyword = keyword
|
97
|
+
end
|
94
98
|
|
95
99
|
begin
|
96
100
|
# Look for all constants within the step definitions
|
@@ -64,180 +64,182 @@
|
|
64
64
|
<span class="defined">
|
65
65
|
<a href="steptransformers.html#<%= step.definition.name %>"><%= h(step.value) %></a>
|
66
66
|
<div class="details" style="display: none;">
|
67
|
-
(<%= h(
|
67
|
+
(<%= h( step.definition.location ) %>)
|
68
68
|
</div>
|
69
69
|
</span>
|
70
70
|
<% else %>
|
71
71
|
<span class="undefined"><%= h(step.value) %></span>
|
72
72
|
<% end %>
|
73
73
|
|
74
|
-
|
75
|
-
<div class="text">
|
76
|
-
<%= h(step.text) %>
|
77
|
-
</div>
|
78
|
-
<% end %>
|
74
|
+
</div>
|
79
75
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
<% end %>
|
89
|
-
</tr>
|
90
|
-
</thead>
|
91
|
-
|
92
|
-
<% step.table[1..-1].each do |row| %>
|
93
|
-
<tr>
|
94
|
-
<% row.each_with_index do |column,column_index| %>
|
95
|
-
<td class="<%= (column_index + 1) % 2 == 0 ? 'even' : 'odd' %>"><%= h(column.strip) %></td>
|
96
|
-
<% end %>
|
97
|
-
</tr>
|
76
|
+
<% if step.has_table? %>
|
77
|
+
<div class="multiline">
|
78
|
+
<table style="">
|
79
|
+
|
80
|
+
<thead>
|
81
|
+
<tr>
|
82
|
+
<% step.table.first.each_with_index do |column,column_index| %>
|
83
|
+
<th class="<%= (column_index + 1) % 2 == 0 ? 'even' : 'odd' %>"><%= h(column.strip) %></th>
|
98
84
|
<% end %>
|
99
|
-
</
|
100
|
-
</
|
85
|
+
</tr>
|
86
|
+
</thead>
|
101
87
|
|
88
|
+
<% step.table[1..-1].each_with_index do |row,row_index| %>
|
89
|
+
<tr class="<%= (row_index + 1) % 2 == 0 ? 'even' : 'odd' %>">
|
90
|
+
<% row.each_with_index do |column,column_index| %>
|
91
|
+
<td><%= h(column.strip) %></td>
|
92
|
+
<% end %>
|
93
|
+
</tr>
|
102
94
|
<% end %>
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
95
|
+
</table>
|
96
|
+
</div>
|
97
|
+
<% end %>
|
98
|
+
|
99
|
+
<% if step.has_text? %>
|
100
|
+
<div class="text">
|
101
|
+
<%= h(step.text) %>
|
110
102
|
</div>
|
103
|
+
<% end %>
|
104
|
+
|
111
105
|
|
106
|
+
<% end %>
|
107
|
+
<% else %>
|
108
|
+
<span>No Steps Defined</span>
|
109
|
+
<% end %>
|
112
110
|
</div>
|
113
|
-
<% end %>
|
114
111
|
|
115
|
-
|
116
|
-
|
112
|
+
</div>
|
113
|
+
<% end %>
|
117
114
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
115
|
+
<% if @feature.scenarios %>
|
116
|
+
<% @feature.scenarios.each_with_index do |scenario,scenario_index| %>
|
117
|
+
|
118
|
+
<script type="text/javascript" charset="utf-8">
|
119
|
+
$(function() {
|
120
|
+
$('#scenario<%=scenario_index%> .toggle').click(function() {
|
121
|
+
$("#scenario<%=scenario_index%>Steps").toggle('blind');
|
122
122
|
|
123
|
-
|
123
|
+
var stateIndicator = $('#scenario<%=scenario_index%> a.toggle')[0]
|
124
124
|
|
125
|
-
|
126
|
-
|
127
|
-
});
|
125
|
+
stateIndicator.innerHTML = (stateIndicator.innerHTML === '+' ? '-' : '+');
|
126
|
+
return false;
|
128
127
|
});
|
129
|
-
|
128
|
+
});
|
129
|
+
</script>
|
130
130
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
</div>
|
145
|
-
<% end%>
|
146
|
-
</div>
|
147
|
-
<% unless scenario.description.empty? %>
|
148
|
-
<div class="description">
|
149
|
-
<%= h(scenario.description) %>
|
131
|
+
<div <%= "id='scenario#{scenario_index}'" %> class="scenario">
|
132
|
+
<div class="title">
|
133
|
+
<a class="toggle">-</a>
|
134
|
+
<span class="pre">Scenario<%= !scenario.examples.empty? ? " Outline" : "" %>:</span>
|
135
|
+
<span class="name"><%= h(scenario.value) %></span>
|
136
|
+
</div>
|
137
|
+
<div class="meta">
|
138
|
+
<div class="file">Line: <%= scenario.files.first.last %></div>
|
139
|
+
<% unless scenario.tags.empty? %>
|
140
|
+
<div class="tags">
|
141
|
+
<% scenario.tags.each do |tag| %>
|
142
|
+
<a href="tag_<%= tag.value %>.html"><%= tag.value %></a>
|
143
|
+
<% end %>
|
150
144
|
</div>
|
151
|
-
<% end
|
145
|
+
<% end%>
|
146
|
+
</div>
|
147
|
+
<% unless scenario.description.empty? %>
|
148
|
+
<div class="description">
|
149
|
+
<%= h(scenario.description) %>
|
150
|
+
</div>
|
151
|
+
<% end %>
|
152
152
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
</div>
|
174
|
-
</span>
|
175
|
-
<% else %>
|
176
|
-
<span class="undefined"><%= h(step.value) %></span>
|
177
|
-
<% end %>
|
178
|
-
|
179
|
-
<% if step.has_text? %>
|
180
|
-
<div class="text">
|
181
|
-
<%= h(step.text) %>
|
153
|
+
<div <%= "id='scenario#{scenario_index}Steps'" %> class="steps">
|
154
|
+
<% if scenario.steps %>
|
155
|
+
<% scenario.steps.each_with_index do |step,index| %>
|
156
|
+
<div <%= "id='scenario#{scenario_index}Step#{index}'" %> class="step <%= (index + 1) % 2 == 0 ? 'even' : 'odd' %>">
|
157
|
+
<span class="predicate"><%= step.keyword %></span>
|
158
|
+
|
159
|
+
<% if step.definition %>
|
160
|
+
<script type="text/javascript" charset="utf-8">
|
161
|
+
$('<%= "#scenario#{scenario_index}Step#{index}" %>').hover(
|
162
|
+
function () { $('<%= "#scenario#{scenario_index}Step#{index} div.details" %>').toggle('slide'); },
|
163
|
+
function () { $('<%= "#scenario#{scenario_index}Step#{index} div.details" %>').toggle('slide'); }
|
164
|
+
);
|
165
|
+
|
166
|
+
$('<%= "#scenario#{scenario_index}Step#{index} div.details" %>').show();
|
167
|
+
|
168
|
+
</script>
|
169
|
+
<span class="defined">
|
170
|
+
<a href="steptransformers.html#<%= step.definition.name %>"><%= h(step.value) %></a>
|
171
|
+
<div class="details" style="display: none;">
|
172
|
+
(<%= h("#{step.definition.files.first.first}:#{step.definition.files.first.last}") %>)
|
182
173
|
</div>
|
183
|
-
|
174
|
+
</span>
|
175
|
+
<% else %>
|
176
|
+
<span class="undefined"><%= h(step.value) %></span>
|
177
|
+
<% end %>
|
184
178
|
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
<tr>
|
191
|
-
<% step.table.first.each_with_index do |column,column_index| %>
|
192
|
-
<th class="<%= (column_index + 1) % 2 == 0 ? 'even' : 'odd' %>"><%= h(column.strip) %></td>
|
193
|
-
<% end %>
|
194
|
-
</tr>
|
195
|
-
</thead>
|
196
|
-
|
197
|
-
<% step.table[1..-1].each do |row| %>
|
198
|
-
<tr>
|
199
|
-
<% row.each_with_index do |column,column_index| %>
|
200
|
-
<td class="<%= (column_index + 1) % 2 == 0 ? 'even' : 'odd' %>"><%= h(column.strip) %></td>
|
201
|
-
<% end %>
|
202
|
-
</tr>
|
203
|
-
<% end %>
|
204
|
-
</table>
|
205
|
-
</div>
|
179
|
+
</div>
|
180
|
+
|
181
|
+
<% if step.has_table? %>
|
182
|
+
<div class="multiline">
|
183
|
+
<table style="">
|
206
184
|
|
185
|
+
<thead>
|
186
|
+
<tr>
|
187
|
+
<% step.table.first.each_with_index do |column,column_index| %>
|
188
|
+
<th class="<%= (column_index + 1) % 2 == 0 ? 'even' : 'odd' %>"><%= h(column.strip) %></th>
|
189
|
+
<% end %>
|
190
|
+
</tr>
|
191
|
+
</thead>
|
192
|
+
|
193
|
+
<% step.table[1..-1].each_with_index do |row,row_index| %>
|
194
|
+
<tr class="<%= (row_index + 1) % 2 == 0 ? 'even' : 'odd' %>">
|
195
|
+
<% row.each_with_index do |column,column_index| %>
|
196
|
+
<td><%= h(column.strip) %></td>
|
207
197
|
<% end %>
|
198
|
+
</tr>
|
199
|
+
<% end %>
|
200
|
+
</table>
|
201
|
+
</div>
|
202
|
+
<% end %>
|
203
|
+
|
204
|
+
<% if step.has_text? %>
|
205
|
+
<div class="text">
|
206
|
+
<%= h(step.text) %>
|
207
|
+
</div>
|
208
|
+
<% end %>
|
209
|
+
|
208
210
|
|
209
211
|
|
210
|
-
|
212
|
+
<% end %>
|
213
|
+
<% else %>
|
214
|
+
<span>No Steps Defined</span>
|
215
|
+
<% end %>
|
216
|
+
</div>
|
211
217
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
<table>
|
221
|
-
<thead>
|
222
|
-
<tr>
|
223
|
-
<th class="odd" colspan="10"><%= h(scenario.examples.first.first.to_s.strip) %></td>
|
224
|
-
</tr>
|
225
|
-
</thead>
|
226
|
-
<% scenario.examples.first.find {|example| example.is_a?(Array) }.each_with_index do |row,row_index| %>
|
227
|
-
<tr>
|
228
|
-
<% row.each do |column| %>
|
229
|
-
<td class="<%= (row_index + 1) % 2 == 0 ? 'even' : 'odd' %>"><%= h(column.to_s.strip) %></td>
|
230
|
-
<% end %>
|
231
|
-
</tr>
|
218
|
+
<% if scenario.outline? %>
|
219
|
+
<div class="outline">
|
220
|
+
<div class="keyword"> <%= h(scenario.example_keyword) %> </div>
|
221
|
+
<table>
|
222
|
+
<thead>
|
223
|
+
<tr>
|
224
|
+
<% scenario.example_headers.each_with_index do |header,header_index| %>
|
225
|
+
<th><%= h(header) %></th>
|
232
226
|
<% end %>
|
233
|
-
|
234
|
-
|
235
|
-
|
227
|
+
</tr>
|
228
|
+
</thead>
|
229
|
+
<% scenario.example_data.each_with_index do |row,row_index| %>
|
230
|
+
<tr class="<%= (row_index + 1) % 2 == 0 ? 'even' : 'odd' %>" >
|
231
|
+
<% row.each_with_index do |column,column_index| %>
|
232
|
+
<td><%= h(column.to_s.strip) %></td>
|
236
233
|
<% end %>
|
237
|
-
|
238
|
-
</div>
|
239
|
-
<% end %>
|
234
|
+
</tr>
|
240
235
|
<% end %>
|
236
|
+
</table>
|
237
|
+
</div>
|
238
|
+
<% end %>
|
241
239
|
|
242
|
-
|
240
|
+
</div>
|
241
|
+
<% end %>
|
242
|
+
<% end %>
|
243
|
+
|
244
|
+
</div>
|
243
245
|
|
@@ -90,7 +90,7 @@
|
|
90
90
|
|
91
91
|
.scenario .step, #background .step {
|
92
92
|
margin-top: 4px;
|
93
|
-
|
93
|
+
padding: 4px;
|
94
94
|
font-size: 14px;
|
95
95
|
font-weight: bold;
|
96
96
|
}
|
@@ -135,8 +135,9 @@
|
|
135
135
|
|
136
136
|
.text {
|
137
137
|
padding: 20px;
|
138
|
-
background-color: #
|
139
|
-
color: #
|
138
|
+
background-color: #F8F8FF;
|
139
|
+
color: #444444;
|
140
|
+
border: 1px solid #DEDEDE;
|
140
141
|
}
|
141
142
|
|
142
143
|
|
@@ -144,6 +145,12 @@
|
|
144
145
|
margin-top: 20px;
|
145
146
|
margin-left: 40px;
|
146
147
|
}
|
148
|
+
.outline .keyword {
|
149
|
+
padding: 4px;
|
150
|
+
font-weight: bold;
|
151
|
+
font-size: 16px;
|
152
|
+
}
|
153
|
+
|
147
154
|
.multiline table tr, .outline table tr {
|
148
155
|
padding: 4px;
|
149
156
|
}
|
@@ -153,8 +160,8 @@
|
|
153
160
|
background-color: #A8C0A8;
|
154
161
|
}
|
155
162
|
.multiline table tr td, .outline table tr td {
|
156
|
-
width:
|
157
|
-
padding: 4px;
|
163
|
+
min-width: 100px;
|
164
|
+
padding: 4px 10px 4px 10px;
|
158
165
|
}
|
159
166
|
|
160
167
|
|
@@ -174,7 +181,7 @@
|
|
174
181
|
border-bottom: 1px solid #E3E3E3;
|
175
182
|
}
|
176
183
|
|
177
|
-
.stepdef .steps {
|
184
|
+
.stepdef .steps, .stepdef .source {
|
178
185
|
margin: 10px 0px 0px 30px;
|
179
186
|
}
|
180
187
|
.stepdef .steps .step {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<% n = 1 %>
|
2
|
-
<% @
|
2
|
+
<% @items.each do |feature| %>
|
3
3
|
<li class="r<%= n %>">
|
4
4
|
<span class='object_link'>
|
5
|
-
<a href="<%= feature.
|
5
|
+
<a href="<%= "#{feature.name}.html" %>"><%= h(feature.value) %></a>
|
6
6
|
</span>
|
7
7
|
<span class="">(<%= h(feature.file) %>)<span>
|
8
8
|
</li>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<% n = 1 %>
|
2
|
-
<% @
|
2
|
+
<% @items.each do |scenario| %>
|
3
3
|
<li class="r<%= n %>">
|
4
4
|
<span class='object_link'>
|
5
|
-
<a href="<%= scenario.feature.
|
5
|
+
<a href="<%= "#{scenario.feature.name}.html" %>"><%= h(scenario.value) %></a>
|
6
6
|
</span>
|
7
7
|
<span class="">(<%= h(scenario.location) %>)<span>
|
8
8
|
</li>
|
@@ -1,11 +1,11 @@
|
|
1
1
|
<% n = 1 %>
|
2
|
-
<% @
|
2
|
+
<% @items.each do |stepdef| %>
|
3
3
|
<li class="r<%= n %>">
|
4
4
|
<span class='object_link'>
|
5
5
|
<span class="pre"><%= stepdef.keyword %></span>
|
6
6
|
<a href="steptransformers.html#<%= stepdef.name %>"><span class="name"><%= h(stepdef.value) %></span></a>
|
7
7
|
</span>
|
8
|
-
<span class="">(<%= h(
|
8
|
+
<span class="">(<%= h(stepdef.location) %>)<span>
|
9
9
|
</li>
|
10
10
|
<% n = n == 2 ? 1 : 2 %>
|
11
11
|
<% end %>
|
@@ -1,13 +1,13 @@
|
|
1
1
|
<% n = 1 %>
|
2
|
-
<% @
|
2
|
+
<% @items.each do |step| %>
|
3
3
|
<li class="r<%= n %>">
|
4
4
|
<span class='object_link'>
|
5
|
-
<a href="<%= step.scenario.feature.
|
5
|
+
<a href="<%= "#{step.scenario.feature.name}.html" %>">
|
6
6
|
<span class="pre"><%= step.keyword %></span>
|
7
7
|
<span class="name"><%= h(step.value) %></span>
|
8
8
|
</a>
|
9
9
|
</span>
|
10
|
-
<span class="">(<%= h(step.
|
10
|
+
<span class="">(<%= h(step.file) %>)<span>
|
11
11
|
</li>
|
12
12
|
<% n = n == 2 ? 1 : 2 %>
|
13
13
|
<% end %>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<% n = 1 %>
|
2
|
-
<% @
|
2
|
+
<% @items.each do |usage| %>
|
3
3
|
<li class="r<%= n %>">
|
4
4
|
<span class='object_link'>
|
5
|
-
<a href="<%= usage.
|
5
|
+
<a href="<%= "#{usage.name}.html" %>"><%= h(usage.value) %></a>
|
6
6
|
</span>
|
7
7
|
<small><%= usage.total_scenario_count %></small>
|
8
8
|
</li>
|
@@ -5,61 +5,43 @@ def init
|
|
5
5
|
asset("js/cucumber.js",file("js/cucumber.js",true))
|
6
6
|
|
7
7
|
@features = Registry.all(:feature)
|
8
|
-
|
9
|
-
if @features
|
10
|
-
|
11
|
-
@scenarios = []
|
12
|
-
@tags = []
|
13
8
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
feature.scenarios.each do |scenario|
|
20
|
-
@scenarios << scenario
|
21
|
-
scenario.tags.each { |tag| @tags << tag }
|
22
|
-
end
|
23
|
-
end
|
9
|
+
if @features
|
10
|
+
@features.each {|feature| serialize(feature) }
|
11
|
+
generate_full_list(@features)
|
12
|
+
end
|
24
13
|
|
25
|
-
|
26
|
-
|
14
|
+
|
15
|
+
@tags = find_unique_tags(@tags)
|
16
|
+
|
17
|
+
if @tags
|
18
|
+
@tags.each { |tag,tag_objects| serialize_tags(tag_objects) }
|
19
|
+
|
27
20
|
@tagusage = @tags.values.sort {|x,y| y.total_scenario_count <=> x.total_scenario_count }
|
21
|
+
generate_full_list(@tagusage,"Tag Usage") if @tagusage
|
22
|
+
end
|
28
23
|
|
29
|
-
|
30
|
-
|
31
|
-
create_full_list(@scenarios) if @scenarios
|
24
|
+
@scenarios = Registry.all(:scenario).find_all {|scenario| !scenario.background? }
|
25
|
+
generate_full_list(@scenarios) if @scenarios
|
32
26
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
end
|
27
|
+
@steps = Registry.all(:step)
|
28
|
+
generate_full_list(@steps) if @steps
|
37
29
|
|
38
30
|
@step_definitions = Registry.all(:stepdefinition)
|
39
|
-
|
31
|
+
|
40
32
|
if @step_definitions
|
41
|
-
|
33
|
+
generate_full_list(@step_definitions,"Step Definition")
|
42
34
|
@step_transformers = YARD::CodeObjects::StepTransformersObject.new(:root,"steptransformers")
|
43
35
|
@step_definitions.each {|stepdef| @step_transformers << stepdef }
|
44
|
-
|
36
|
+
serialize(@step_transformers)
|
45
37
|
end
|
46
38
|
|
47
|
-
|
48
|
-
end
|
49
39
|
|
50
|
-
def asset(path, content)
|
51
|
-
options[:serializer].serialize(path, content) if options[:serializer]
|
52
40
|
end
|
53
41
|
|
54
|
-
def
|
55
|
-
options[:object] = object
|
56
|
-
Templates::Engine.with_serializer(object.filename, options[:serializer]) do
|
57
|
-
T('layout').run(options)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def create_full_list(objects,friendly_name=nil)
|
42
|
+
def generate_full_list(objects,friendly_name=nil)
|
62
43
|
if !objects.empty?
|
44
|
+
@items = objects
|
63
45
|
@list_type = "#{objects.first.type.to_s}s"
|
64
46
|
@list_title = "#{friendly_name || objects.first.type.to_s.capitalize} List"
|
65
47
|
asset("#{objects.first.type}_list.html",erb(:full_list))
|
@@ -68,12 +50,21 @@ def create_full_list(objects,friendly_name=nil)
|
|
68
50
|
end
|
69
51
|
end
|
70
52
|
|
53
|
+
def serialize_tags(tags)
|
54
|
+
options[:object] = tags
|
55
|
+
Templates::Engine.with_serializer("#{tags.name}.html", options[:serializer]) do
|
56
|
+
T('layout').run(options)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
71
60
|
def find_unique_tags(tags)
|
72
61
|
|
73
62
|
tags_hash = {}
|
74
63
|
|
75
|
-
|
76
|
-
|
64
|
+
Registry.all(:tag).each do |tag|
|
65
|
+
unless tags_hash[tag.value]
|
66
|
+
tags_hash[tag.value] = YARD::CodeObjects::Cucumber::TagUsage.new(:root,"tag_#{tag.value}") {|t| t.value = tag.value }
|
67
|
+
end
|
77
68
|
tags_hash[tag.value.to_s] << tag
|
78
69
|
end
|
79
70
|
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<div class="title">
|
13
13
|
<span class="pre"><%= stepdef.keyword %></span>
|
14
14
|
<span class="name"><%= stepdef.value %></span>
|
15
|
-
<div style="float: right;"><%= h(
|
15
|
+
<div style="float: right;"><%= h( stepdef.location ) %></div>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
|
@@ -21,17 +21,28 @@
|
|
21
21
|
<% stepdef.steps.each_with_index do |step,step_index| %>
|
22
22
|
<div class="step <%= (step_index + 1) % 2 == 0 ? 'even' : 'odd' %>">
|
23
23
|
<%= h("#{step.keyword} #{step.value}") %>
|
24
|
-
<div class="details"><a href="<%= step.scenario.feature.
|
24
|
+
<div class="details"><a href="<%= "#{step.scenario.feature.name}.html" %>"><%= h(step.location) %></a></div>
|
25
25
|
</div>
|
26
26
|
<% end %>
|
27
27
|
<% else %>
|
28
28
|
<span class="undefined">No steps were found to match this step definition.</span>
|
29
29
|
<% end%>
|
30
30
|
</div>
|
31
|
-
|
32
|
-
|
31
|
+
|
33
32
|
<div class="source">
|
34
|
-
|
33
|
+
<span class="showSource">
|
34
|
+
[ <a href="#" class="toggleSource">View source</a> ]
|
35
|
+
</span>
|
36
|
+
<table class="source_code">
|
37
|
+
<tr>
|
38
|
+
<td>
|
39
|
+
<pre class="lines"><%= "" %><%= h format_lines(stepdef) %></pre>
|
40
|
+
</td>
|
41
|
+
<td>
|
42
|
+
<pre class="code"><%= "" %><%= html_syntax_highlight stepdef.source %></pre>
|
43
|
+
</td>
|
44
|
+
</tr>
|
45
|
+
</table>
|
35
46
|
</div>
|
36
47
|
</div>
|
37
48
|
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<div class="title">
|
22
22
|
<span class="pre">Feature:</span>
|
23
23
|
<span class="name">
|
24
|
-
<a href="<%= tag.scenario.feature.
|
24
|
+
<a href="<%= "#{tag.scenario.feature.name}.html" %>"><%= tag.scenario.feature.value %></a>
|
25
25
|
</span>
|
26
26
|
</div>
|
27
27
|
<div class="description"><%= tag.scenario.feature.description %></div>
|
@@ -31,7 +31,7 @@
|
|
31
31
|
<div class="title">
|
32
32
|
<span class="pre">Scenario:</span>
|
33
33
|
<span class="name">
|
34
|
-
<a href="<%= tag.scenario.feature.
|
34
|
+
<a href="<%= "#{tag.scenario.feature.name}.html" %>"><%= tag.scenario.value %></a>
|
35
35
|
</span>
|
36
36
|
</div>
|
37
37
|
<div class="description"><%= tag.scenario.description %></div>
|
@@ -41,7 +41,7 @@
|
|
41
41
|
<div class="title">
|
42
42
|
<span class="pre">Feature:</span>
|
43
43
|
<span class="name">
|
44
|
-
<a href="<%= tag.feature.
|
44
|
+
<a href="<%= "#{tag.feature.name}.html" %>"><%= tag.feature.value %></a>
|
45
45
|
</span>
|
46
46
|
</div>
|
47
47
|
<div class="description"><%= tag.feature.description %></div>
|
@@ -52,7 +52,7 @@
|
|
52
52
|
<div class="title">
|
53
53
|
<span class="pre">Scenario:</span>
|
54
54
|
<span class="name">
|
55
|
-
<a href="<%= scenario.feature.
|
55
|
+
<a href="<%= "#{scenario.feature.name}.html" %>"><%= scenario.value %></a>
|
56
56
|
</span>
|
57
57
|
</div>
|
58
58
|
<div class="description"><%= scenario.description %></div>
|
metadata
CHANGED
@@ -4,8 +4,8 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 1
|
7
|
-
-
|
8
|
-
version: "1.
|
7
|
+
- 3
|
8
|
+
version: "1.3"
|
9
9
|
platform: ruby
|
10
10
|
authors:
|
11
11
|
- Frank;lin Webber
|
@@ -13,7 +13,7 @@ autorequire:
|
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
15
|
|
16
|
-
date: 2010-10-
|
16
|
+
date: 2010-10-13 00:00:00 -07:00
|
17
17
|
default_executable:
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
@@ -54,7 +54,7 @@ extra_rdoc_files:
|
|
54
54
|
- README.md
|
55
55
|
- lib/city.rb
|
56
56
|
- lib/cucumber/city_builder.rb
|
57
|
-
- lib/yard/code_objects/
|
57
|
+
- lib/yard/code_objects/base.rb
|
58
58
|
- lib/yard/code_objects/feature.rb
|
59
59
|
- lib/yard/code_objects/scenario.rb
|
60
60
|
- lib/yard/code_objects/step.rb
|
@@ -63,8 +63,8 @@ extra_rdoc_files:
|
|
63
63
|
- lib/yard/handlers/base.rb
|
64
64
|
- lib/yard/handlers/feature_handler.rb
|
65
65
|
- lib/yard/parser/feature.rb
|
66
|
-
- lib/yard/rb_extensions.rb
|
67
66
|
- lib/yard/rake/city_task.rb
|
67
|
+
- lib/yard/rb_extensions.rb
|
68
68
|
- lib/yard/templates/default/feature/html/feature.erb
|
69
69
|
- lib/yard/templates/default/feature/setup.rb
|
70
70
|
- lib/yard/templates/default/fulldoc/html/css/common.css
|
@@ -89,15 +89,17 @@ extra_rdoc_files:
|
|
89
89
|
- lib/yard/templates/default/tagusage/setup.rb
|
90
90
|
files:
|
91
91
|
- History.txt
|
92
|
+
- Manifest
|
92
93
|
- README.md
|
93
94
|
- Rakefile
|
95
|
+
- example/empty.feature
|
94
96
|
- example/example.feature
|
95
97
|
- example/example.step.rb
|
96
98
|
- example/example.third.feature
|
97
99
|
- example/second_example.feature
|
98
100
|
- lib/city.rb
|
99
101
|
- lib/cucumber/city_builder.rb
|
100
|
-
- lib/yard/code_objects/
|
102
|
+
- lib/yard/code_objects/base.rb
|
101
103
|
- lib/yard/code_objects/feature.rb
|
102
104
|
- lib/yard/code_objects/scenario.rb
|
103
105
|
- lib/yard/code_objects/step.rb
|
@@ -106,8 +108,8 @@ files:
|
|
106
108
|
- lib/yard/handlers/base.rb
|
107
109
|
- lib/yard/handlers/feature_handler.rb
|
108
110
|
- lib/yard/parser/feature.rb
|
109
|
-
- lib/yard/rb_extensions.rb
|
110
111
|
- lib/yard/rake/city_task.rb
|
112
|
+
- lib/yard/rb_extensions.rb
|
111
113
|
- lib/yard/templates/default/feature/html/feature.erb
|
112
114
|
- lib/yard/templates/default/feature/setup.rb
|
113
115
|
- lib/yard/templates/default/fulldoc/html/css/common.css
|
@@ -138,7 +140,6 @@ files:
|
|
138
140
|
- spec/city/yard_parser_cucumber_spec.rb
|
139
141
|
- spec/city/yard_rb_extensions_spec.rb
|
140
142
|
- spec/spec_helper.rb
|
141
|
-
- Manifest
|
142
143
|
- cucumber-in-the-yard.gemspec
|
143
144
|
has_rdoc: true
|
144
145
|
homepage: http://github.com/burtlo/Cucumber-In-The-Yard
|