wally 0.0.3 → 0.0.5
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/example-features/example_with_tags.feature +8 -0
- data/features/browse_features.feature +12 -0
- data/lib/wally/application.rb +14 -14
- data/lib/wally/version.rb +1 -1
- data/lib/wally/views/feature.haml +7 -4
- data/wally.gemspec +1 -0
- metadata +27 -15
@@ -82,6 +82,18 @@ Feature: Browse Features
|
|
82
82
|
And I should see "tag1"
|
83
83
|
And I should see "tag2"
|
84
84
|
|
85
|
+
Scenario: View Scenario Tags On Scenario Page
|
86
|
+
Given a feature file named "sample.feature" with the contents:
|
87
|
+
"""
|
88
|
+
Feature: Sample Feature
|
89
|
+
|
90
|
+
@tag1 @tag2
|
91
|
+
Scenario: Sample Aidy
|
92
|
+
"""
|
93
|
+
When I visit the sample feature page
|
94
|
+
Then I should see "tag1"
|
95
|
+
And I should see "tag2"
|
96
|
+
|
85
97
|
Scenario: View Scenario Background
|
86
98
|
Given a feature file named "sample.feature" with the contents:
|
87
99
|
"""
|
data/lib/wally/application.rb
CHANGED
@@ -16,22 +16,17 @@ def lists_features
|
|
16
16
|
end
|
17
17
|
|
18
18
|
before do
|
19
|
-
#probably remove this if not needed
|
20
19
|
@features = lists_features.features
|
21
20
|
end
|
22
21
|
|
23
22
|
get '/?' do
|
24
|
-
@features = lists_features.features
|
25
23
|
haml :index
|
26
24
|
end
|
27
25
|
|
28
26
|
get '/features/:feature/?' do |feature|
|
29
|
-
features
|
30
|
-
features.each do |feature_hash|
|
27
|
+
@features.each do |feature_hash|
|
31
28
|
@feature = feature_hash if feature_hash["id"] == feature
|
32
29
|
end
|
33
|
-
|
34
|
-
get_scenario_urls
|
35
30
|
haml :feature
|
36
31
|
end
|
37
32
|
|
@@ -43,7 +38,7 @@ get '/search/?' do
|
|
43
38
|
end
|
44
39
|
|
45
40
|
get '/features/:feature/scenario/:scenario/?' do |feature_id, scenario_id|
|
46
|
-
|
41
|
+
@features.each do |feature|
|
47
42
|
if feature["id"] == feature_id
|
48
43
|
feature["elements"].each do |element|
|
49
44
|
if element["type"] == "background"
|
@@ -58,15 +53,20 @@ get '/features/:feature/scenario/:scenario/?' do |feature_id, scenario_id|
|
|
58
53
|
haml :scenario
|
59
54
|
end
|
60
55
|
|
61
|
-
def
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
def get_scenario_url(scenario)
|
57
|
+
url = "/features/#{scenario["id"].gsub(";", "/scenario/")}"
|
58
|
+
end
|
59
|
+
|
60
|
+
def get_sorted_scenarios(feature)
|
61
|
+
scenarios = []
|
62
|
+
|
63
|
+
if feature["elements"]
|
64
|
+
feature["elements"].each do |element|
|
66
65
|
if element["type"] == "scenario"
|
67
|
-
|
68
|
-
@scenario_urls[element["name"]] = url
|
66
|
+
scenarios << element
|
69
67
|
end
|
70
68
|
end
|
71
69
|
end
|
70
|
+
scenarios.sort! { |a, b| a["name"] <=> b["name"] }
|
71
|
+
scenarios
|
72
72
|
end
|
data/lib/wally/version.rb
CHANGED
@@ -5,7 +5,10 @@
|
|
5
5
|
:markdown
|
6
6
|
#{@feature["description"]}
|
7
7
|
%ul
|
8
|
-
- @
|
9
|
-
%
|
10
|
-
|
11
|
-
|
8
|
+
- get_sorted_scenarios(@feature).each do |scenario|
|
9
|
+
%a{:href => get_scenario_url(scenario)}
|
10
|
+
= scenario["name"]
|
11
|
+
- if scenario["tags"]
|
12
|
+
- scenario["tags"].each do |tag|
|
13
|
+
%span.label.notice
|
14
|
+
= tag["name"]
|
data/wally.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_runtime_dependency "sinatra"
|
22
22
|
s.add_runtime_dependency "haml"
|
23
23
|
s.add_runtime_dependency "rdiscount"
|
24
|
+
s.add_runtime_dependency "gherkin"
|
24
25
|
|
25
26
|
s.add_development_dependency "cucumber"
|
26
27
|
s.add_development_dependency "capybara"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wally
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-11-22 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
16
|
-
requirement: &
|
16
|
+
requirement: &70185102349080 !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: *70185102349080
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: haml
|
27
|
-
requirement: &
|
27
|
+
requirement: &70185102348660 !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: *70185102348660
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rdiscount
|
38
|
-
requirement: &
|
38
|
+
requirement: &70185102348240 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,21 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70185102348240
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: gherkin
|
49
|
+
requirement: &70185102347820 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70185102347820
|
47
58
|
- !ruby/object:Gem::Dependency
|
48
59
|
name: cucumber
|
49
|
-
requirement: &
|
60
|
+
requirement: &70185102347400 !ruby/object:Gem::Requirement
|
50
61
|
none: false
|
51
62
|
requirements:
|
52
63
|
- - ! '>='
|
@@ -54,10 +65,10 @@ dependencies:
|
|
54
65
|
version: '0'
|
55
66
|
type: :development
|
56
67
|
prerelease: false
|
57
|
-
version_requirements: *
|
68
|
+
version_requirements: *70185102347400
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: capybara
|
60
|
-
requirement: &
|
71
|
+
requirement: &70185102346980 !ruby/object:Gem::Requirement
|
61
72
|
none: false
|
62
73
|
requirements:
|
63
74
|
- - ! '>='
|
@@ -65,10 +76,10 @@ dependencies:
|
|
65
76
|
version: '0'
|
66
77
|
type: :development
|
67
78
|
prerelease: false
|
68
|
-
version_requirements: *
|
79
|
+
version_requirements: *70185102346980
|
69
80
|
- !ruby/object:Gem::Dependency
|
70
81
|
name: rspec
|
71
|
-
requirement: &
|
82
|
+
requirement: &70185102346560 !ruby/object:Gem::Requirement
|
72
83
|
none: false
|
73
84
|
requirements:
|
74
85
|
- - ! '>='
|
@@ -76,10 +87,10 @@ dependencies:
|
|
76
87
|
version: '0'
|
77
88
|
type: :development
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: *
|
90
|
+
version_requirements: *70185102346560
|
80
91
|
- !ruby/object:Gem::Dependency
|
81
92
|
name: fakefs
|
82
|
-
requirement: &
|
93
|
+
requirement: &70185102337160 !ruby/object:Gem::Requirement
|
83
94
|
none: false
|
84
95
|
requirements:
|
85
96
|
- - ! '>='
|
@@ -87,7 +98,7 @@ dependencies:
|
|
87
98
|
version: '0'
|
88
99
|
type: :development
|
89
100
|
prerelease: false
|
90
|
-
version_requirements: *
|
101
|
+
version_requirements: *70185102337160
|
91
102
|
description: ''
|
92
103
|
email:
|
93
104
|
- andrew.vos@gmail.com
|
@@ -103,6 +114,7 @@ files:
|
|
103
114
|
- Rakefile
|
104
115
|
- bin/wally
|
105
116
|
- config.ru
|
117
|
+
- example-features/example_with_tags.feature
|
106
118
|
- features/browse_features.feature
|
107
119
|
- features/search_features.feature
|
108
120
|
- features/step_definitions/browse_features_steps.rb
|