wally 0.0.40 → 0.0.41

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 (35) hide show
  1. data/.gitignore +1 -0
  2. data/Rakefile +1 -1
  3. data/example-features/generic/example-with-data-table.feature +7 -0
  4. data/example-features/generic/example-with-scenario-outline-examples.feature +11 -0
  5. data/features/counts.feature +2 -2
  6. data/features/feature_page.feature +5 -5
  7. data/features/list_tags.feature +15 -4
  8. data/features/notifications.feature +1 -1
  9. data/features/progress_bar.feature +5 -9
  10. data/features/project_home.feature +1 -1
  11. data/features/projects.feature +1 -1
  12. data/features/push_features.feature +3 -3
  13. data/features/scenario_page.feature +37 -3
  14. data/features/search_features.feature +17 -12
  15. data/features/step_definitions/feature_page_steps.rb +2 -2
  16. data/features/step_definitions/notifications_steps.rb +1 -1
  17. data/features/step_definitions/project_home_steps.rb +1 -1
  18. data/features/step_definitions/projects_steps.rb +1 -1
  19. data/features/step_definitions/push_features_steps.rb +2 -2
  20. data/features/step_definitions/scenario_page_steps.rb +15 -1
  21. data/features/step_definitions/search_features_steps.rb +3 -3
  22. data/features/step_definitions/steps.rb +9 -2
  23. data/features/step_definitions/welcome_page.rb +4 -3
  24. data/features/support/env.rb +3 -12
  25. data/features/welcome_page.feature +3 -3
  26. data/lib/wally/application.rb +5 -1
  27. data/lib/wally/public/skin.css +12 -0
  28. data/lib/wally/version.rb +1 -1
  29. data/lib/wally/views/feature.haml +9 -9
  30. data/lib/wally/views/layout.haml +1 -1
  31. data/lib/wally/views/scenario.haml +3 -10
  32. data/lib/wally/views/table.haml +10 -0
  33. data/lib/wally/views/tag_links.haml +1 -1
  34. data/wally.gemspec +1 -1
  35. metadata +6 -3
data/.gitignore CHANGED
@@ -4,3 +4,4 @@
4
4
  Gemfile.lock
5
5
  pkg/*
6
6
  .wally
7
+ chromedriver.log
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
3
  task :sample do
4
- sh "bin/wally push http://localhost:4567/project features/"
4
+ sh "bin/wally push http://localhost:4567/projects/project1 features/"
5
5
  end
@@ -0,0 +1,7 @@
1
+ Feature: Data Table
2
+
3
+ Scenario: Data Table
4
+ Given a data table:
5
+ | a | b | c |
6
+ | 1 | 2 | 3 |
7
+ | 4 | 5 | 6 |
@@ -0,0 +1,11 @@
1
+ Feature: Scenario Outline
2
+
3
+ Scenario Outline: Outline with examples
4
+ Given there are <start> cucumbers
5
+ When I eat <eat> cucumbers
6
+ Then I should have <left> cucumbers
7
+
8
+ Examples:
9
+ | start | eat | left |
10
+ | 12 | 5 | 7 |
11
+ | 20 | 5 | 15 |
@@ -18,8 +18,8 @@ Feature: Counts
18
18
 
19
19
  Scenario: Features
20
20
  When I visit the project page
21
- Then I should see "Features (1)"
21
+ Then I see "Features (1)"
22
22
 
23
23
  Scenario: Tags
24
24
  When I visit the project page
25
- Then I should see "Tags (5)"
25
+ Then I see "Tags (5)"
@@ -12,7 +12,7 @@ Feature: Feature Page
12
12
  I want to create value
13
13
  """
14
14
  When I visit the sample feature page
15
- Then I should see the feature free-form narrative
15
+ Then I see the feature free-form narrative
16
16
 
17
17
  Scenario: Tags
18
18
  Given a feature file named "sample.feature" with the contents:
@@ -21,7 +21,7 @@ Feature: Feature Page
21
21
  Feature: Sample Feature
22
22
  """
23
23
  When I visit the sample feature page
24
- Then I should see "sample_tag"
24
+ Then I see "sample_tag"
25
25
 
26
26
  Scenario: Scenario Links
27
27
  Given a feature file named "sample.feature" with the contents:
@@ -42,7 +42,7 @@ Feature: Feature Page
42
42
  Then I go happy
43
43
  """
44
44
  When I visit the sample feature page
45
- Then I should see Scenario headers as links
45
+ Then I see Scenario headers as links
46
46
 
47
47
  Scenario: Sort Scenario Links in Alphabetical Order
48
48
  Given a feature file named "sample.feature" with the contents:
@@ -65,5 +65,5 @@ Feature: Feature Page
65
65
  Scenario: Sample Aidy
66
66
  """
67
67
  When I visit the sample feature page
68
- Then I should see "tag1"
69
- And I should see "tag2"
68
+ Then I see "tag1"
69
+ And I see "tag2"
@@ -14,7 +14,18 @@ Feature: List Tags
14
14
  Scenario: Tag Scenario 2
15
15
  """
16
16
  When I visit the project page
17
- Then I should see a link to "@tag1 (1)" with the url "/projects/project/search?q=@tag1"
18
- And I should see a link to "@tag2 (1)" with the url "/projects/project/search?q=@tag2"
19
- And I should see a link to "@tag3 (1)" with the url "/projects/project/search?q=@tag3"
20
- And I should see a link to "@multiple (2)" with the url "/projects/project/search?q=@multiple"
17
+ Then I see a link to "@tag1 (1)" with the url "/projects/project/search?q=@tag1"
18
+ And I see a link to "@tag2 (1)" with the url "/projects/project/search?q=@tag2"
19
+ And I see a link to "@tag3 (1)" with the url "/projects/project/search?q=@tag3"
20
+ And I see a link to "@multiple (2)" with the url "/projects/project/search?q=@multiple"
21
+
22
+ Scenario: Coloured tags
23
+ Given a feature file named "sample.feature" with the contents:
24
+ """
25
+ @tag1
26
+ Feature: Tag Feature
27
+ @tag2 @tag3
28
+ Scenario: Tag Scenario 1
29
+ """
30
+ When I visit the project page
31
+ Then I see each tag has an individual colour
@@ -6,4 +6,4 @@ Feature: Notifications
6
6
  Scenario: Ten @wip tags
7
7
  Given a feature file with 10 @wip tags
8
8
  When I visit the project page
9
- Then I should see a notification that says "You have 10 @wip tags :("
9
+ Then I see a notification that says "You have 10 @wip tags :("
@@ -7,19 +7,15 @@ Feature: Progress Bar
7
7
  Given a feature file on the project "project_name" with the contents:
8
8
  """
9
9
  Feature: Mixed
10
-
10
+
11
11
  @wip
12
12
  Scenario: WiP
13
13
 
14
14
  @notstarted
15
15
  Scenario: Not Started
16
- """
16
+ """
17
17
  When I visit the project page for "project_name"
18
18
  And I select "Progress"
19
- Then I should see "This project has 2 scenarios"
20
- And I should see "@wip (50%)"
21
- And I should see "@notstarted (50%)"
22
-
23
-
24
-
25
-
19
+ Then I see "This project has 2 scenarios"
20
+ And I see "@wip (50%)"
21
+ And I see "@notstarted (50%)"
@@ -21,5 +21,5 @@ Feature: Project Home Page
21
21
  Feature: Elle Macpherson
22
22
  """
23
23
  When I visit the project page
24
- Then I should see a link to my sample features
24
+ Then I see a link to my sample features
25
25
  And the features are ordered alphabetically
@@ -9,4 +9,4 @@ Feature: Projects
9
9
  Feature: Projects
10
10
  """
11
11
  And I visit the project page for "project_name"
12
- Then I should see a link to the feature "Projects"
12
+ Then I see a link to the feature "Projects"
@@ -6,15 +6,15 @@ Feature: Push Features To Server
6
6
  Scenario: Push features without authentication
7
7
  Given I don't have a .wally authorisation file
8
8
  When I put data to /my_project_name/features with the authentication code
9
- Then I should get a 403 http status
9
+ Then I get a 403 http status
10
10
 
11
11
  Scenario: Push features with authentication
12
12
  Given I have a .wally authentication file
13
13
  When I put data to /my_project_name/features with the authentication code
14
- Then I should get a 201 http status
14
+ Then I get a 201 http status
15
15
 
16
16
  Scenario: Pushed features show up on home page
17
17
  Given I have a .wally authentication file
18
18
  When I put data to /my_project_name/features with the authentication code
19
19
  And I visit "my_project_name" page
20
- Then I should see the uploaded feature
20
+ Then I see the uploaded feature
@@ -17,8 +17,8 @@ Feature: Scenario Page
17
17
  When I visit the sample feature page
18
18
  And click on a scenario header link
19
19
  Then a page appears with the scenario content
20
- And I should see "tag1"
21
- And I should see "tag2"
20
+ And I see "tag1"
21
+ And I see "tag2"
22
22
 
23
23
  Scenario: Background
24
24
  Given a feature file named "sample.feature" with the contents:
@@ -47,4 +47,38 @@ Feature: Scenario Page
47
47
  """
48
48
  When I visit the sample feature page
49
49
  And click on a scenario header link
50
- Then I should see "work_in_progress"
50
+ Then I see "work_in_progress"
51
+
52
+ Scenario: Data Table
53
+ Given a feature file named "sample.feature" with the contents:
54
+ """
55
+ Feature: Sample Feature
56
+
57
+ Scenario: Data Table
58
+ Given the following people exist:
59
+ | name | email |
60
+ | Aidy | aidy@example.com |
61
+ | Andrew | vos@example.com |
62
+ """
63
+ When I visit the sample feature page
64
+ And click on a scenario header link
65
+ Then I see the data table
66
+
67
+ Scenario: Scenario Outline
68
+ Given a feature file named "sample.feature" with the contents:
69
+ """
70
+ Feature: Sample Feature
71
+
72
+ Scenario Outline: Outline with examples
73
+ Given there are <start> cucumbers
74
+ When I eat <eat> cucumbers
75
+ Then I have <left> cucumbers
76
+
77
+ Examples:
78
+ | start | eat | left |
79
+ | 12 | 5 | 7 |
80
+ | 20 | 5 | 15 |
81
+ """
82
+ When I visit the sample feature page
83
+ And click on a scenario header link
84
+ Then I see the examples table
@@ -11,7 +11,7 @@ Feature: Search features
11
11
  """
12
12
  And I am on the search page
13
13
  When I search for "<query>"
14
- Then I should see a search result link to "<feature name>" with the url "<url>"
14
+ Then I see a search result link to "<feature name>" with the url "<url>"
15
15
 
16
16
  Examples:
17
17
  | query | feature name | url |
@@ -29,7 +29,7 @@ Feature: Search features
29
29
  """
30
30
  And I am on the search page
31
31
  When I search for "donkey"
32
- Then I should see a search result link to "Sample Feature" with the url "/projects/project/features/sample-feature"
32
+ Then I see a search result link to "Sample Feature" with the url "/projects/project/features/sample-feature"
33
33
 
34
34
  Scenario: Search scenario name
35
35
  Given a feature file named "sample.feature" with the contents:
@@ -39,7 +39,7 @@ Feature: Search features
39
39
  """
40
40
  And I am on the search page
41
41
  When I search for "Sample Scenario"
42
- Then I should see a search result link to "Sample Scenario" with the url "/projects/project/features/sample-feature/scenario/sample-scenario"
42
+ Then I see a search result link to "Sample Scenario" with the url "/projects/project/features/sample-feature/scenario/sample-scenario"
43
43
 
44
44
  Scenario: Search scenario steps
45
45
  Given a feature file named "sample.feature" with the contents:
@@ -50,7 +50,7 @@ Feature: Search features
50
50
  """
51
51
  And I am on the search page
52
52
  When I search for "I do something"
53
- Then I should see a search result link to "Sample Scenario" with the url "/projects/project/features/sample-feature/scenario/sample-scenario"
53
+ Then I see a search result link to "Sample Scenario" with the url "/projects/project/features/sample-feature/scenario/sample-scenario"
54
54
 
55
55
  Scenario: Search suggests other searches
56
56
  Given a feature file named "sample.feature" with the contents:
@@ -59,8 +59,8 @@ Feature: Search features
59
59
  """
60
60
  And I am on the search page
61
61
  When I search for "btman"
62
- Then I should see "Did you mean"
63
- And I should see a search result link to "Batman" with the url "/projects/project/search?q=Batman"
62
+ Then I see "Did you mean"
63
+ And I see a search result link to "Batman" with the url "/projects/project/search?q=Batman"
64
64
 
65
65
  Scenario: Search displays tags
66
66
  Given a feature file named "sample.feature" with the contents:
@@ -73,23 +73,28 @@ Feature: Search features
73
73
  """
74
74
  And I am on the search page
75
75
  When I search for "Batman"
76
- Then I should see "feature_tag" in the search results
77
- And I should see "scenario_tag" in the search results
76
+ Then I see "feature_tag" in the search results
77
+ And I see "scenario_tag" in the search results
78
78
 
79
- Scenario: Higlighted search result
80
- Given a feature file named "sample.feature" with the contents:
79
+ Scenario: Highlighted search result with multiple matches
80
+ Given a feature file named "sample1.feature" with the contents:
81
81
  """
82
82
  @feature_tag
83
83
  Feature: Some <long WORD feature word name
84
84
  Scenario: Some <long WORD scenario word name
85
+ Given I have a word
85
86
  """
86
87
  And I am on the search page
87
88
  When I search for "word"
88
- Then I should see the html:
89
+ Then I see the html:
89
90
  """
90
91
  Some &lt;long <span class="search-result">WORD</span> feature <span class="search-result">word</span> name
91
92
  """
92
- And I should see the html:
93
+ And I see the html:
93
94
  """
94
95
  Some &lt;long <span class="search-result">WORD</span> scenario <span class="search-result">word</span> name
95
96
  """
97
+ And I see the html:
98
+ """
99
+ I have a <span class="search-result">word</span>
100
+ """
@@ -1,10 +1,10 @@
1
- Then /^I should see the feature free\-form narrative$/ do
1
+ Then /^I see the feature free\-form narrative$/ do
2
2
  page.should have_content "In order to get some value"
3
3
  page.should have_content "As a person"
4
4
  page.should have_content "I want to create value"
5
5
  end
6
6
 
7
- Then /^I should see Scenario headers as links$/ do
7
+ Then /^I see Scenario headers as links$/ do
8
8
  page.body.should have_content "Scenarios"
9
9
  page.should have_link "Sample Aidy", :href => "/projects/project/features/sample-feature/scenario/sample-aidy"
10
10
  page.should have_link "Sample Andrew", :href => "/projects/project/features/sample-feature/scenario/sample-andrew"
@@ -6,6 +6,6 @@ Given /^a feature file with (\d+) @wip tags$/ do |wip_tag_count|
6
6
  create_feature("project", "sample1.feature", contents)
7
7
  end
8
8
 
9
- Then /^I should see a notification that says "([^"]*)"$/ do |text|
9
+ Then /^I see a notification that says "([^"]*)"$/ do |text|
10
10
  page.should have_content text
11
11
  end
@@ -1,4 +1,4 @@
1
- Then /^I should see a link to my sample features$/ do
1
+ Then /^I see a link to my sample features$/ do
2
2
  page.should have_link "Kate Moss", :href => "/projects/project/features/kate-moss"
3
3
  page.should have_link "Katie Price", :href => "/projects/project/features/katie-price"
4
4
  page.should have_link "Jessica-Jane Clement", :href => "/projects/project/features/jessica-jane-clement"
@@ -6,6 +6,6 @@ Given /^I visit the project page for "([^"]*)"$/ do |project|
6
6
  visit "/projects/#{project}"
7
7
  end
8
8
 
9
- Then /^I should see a link to the feature "([^"]*)"$/ do |feature|
9
+ Then /^I see a link to the feature "([^"]*)"$/ do |feature|
10
10
  page.should have_link feature
11
11
  end
@@ -12,11 +12,11 @@ Given /^I have a \.wally authentication file$/ do
12
12
  end
13
13
  end
14
14
 
15
- Then /^I should get a (\d+) http status$/ do |status|
15
+ Then /^I get a (\d+) http status$/ do |status|
16
16
  page.driver.status_code.should eql status.to_i
17
17
  end
18
18
 
19
- Then /^I should see the uploaded feature$/ do
19
+ Then /^I see the uploaded feature$/ do
20
20
  page.body.should have_content "Feature Name"
21
21
  end
22
22
 
@@ -1,5 +1,5 @@
1
1
  When /^click on a scenario header link$/ do
2
- page.click_link "Sample Aidy"
2
+ find('.scenarios a').click
3
3
  end
4
4
 
5
5
  Then /^a page appears with the scenario content$/ do
@@ -13,3 +13,17 @@ Then /^the background is visible$/ do
13
13
  page.body.should have_content "Background:"
14
14
  page.body.should have_content "Given some things"
15
15
  end
16
+
17
+ Then /^I see the data table$/ do
18
+ text_for_all('th').should == ['name', 'email']
19
+ text_for_all('td').should == ['Aidy', 'aidy@example.com', 'Andrew', 'vos@example.com']
20
+ end
21
+
22
+ Then /^I see the examples table$/ do
23
+ text_for_all('th').should == ['start', 'eat', 'left']
24
+ text_for_all('td').should == ['12', '5', '7', '20', '5', '15']
25
+ end
26
+
27
+ def text_for_all tag
28
+ page.all(tag).collect { |heading| heading.text.strip }
29
+ end
@@ -7,18 +7,18 @@ When /^I search for "([^"]*)"$/ do |text|
7
7
  click_button 'Search'
8
8
  end
9
9
 
10
- Then /^I should see a search result link to "([^"]*)" with the url "([^"]*)"$/ do |text, url|
10
+ Then /^I see a search result link to "([^"]*)" with the url "([^"]*)"$/ do |text, url|
11
11
  within ".content" do
12
12
  page.should have_link text, :href => url
13
13
  end
14
14
  end
15
15
 
16
- Then /^I should see "([^"]*)" in the search results$/ do |text|
16
+ Then /^I see "([^"]*)" in the search results$/ do |text|
17
17
  within ".content" do
18
18
  page.should have_content text
19
19
  end
20
20
  end
21
21
 
22
- Then /^I should see the html:$/ do |html|
22
+ Then /^I see the html:$/ do |html|
23
23
  page.body.should include html
24
24
  end
@@ -15,14 +15,21 @@ When /^I select "([^"]*)"$/ do |text|
15
15
  click_link text
16
16
  end
17
17
 
18
- Then /^I should see a link to "([^"]*)" with the url "([^"]*)"$/ do |text, url|
18
+ Then /^I see a link to "([^"]*)" with the url "([^"]*)"$/ do |text, url|
19
19
  page.should have_link text, :href => url
20
20
  end
21
21
 
22
- Then /^I should see "([^"]*)"$/ do |text|
22
+ Then /^I see "([^"]*)"$/ do |text|
23
23
  page.should have_content(text)
24
24
  end
25
25
 
26
26
  Then /^the total tag count is displayed$/ do
27
27
  save_and_open_page
28
28
  end
29
+
30
+ Then /^I see each tag has an individual colour$/ do
31
+ find('a.tag-tag1').should be_visible
32
+ find('a.tag-tag2').should be_visible
33
+ find('a.tag-tag3').should be_visible
34
+ end
35
+
@@ -5,15 +5,16 @@ When /^I view the welcome page$/ do
5
5
  visit "/"
6
6
  end
7
7
 
8
- Then /^I should redirected to the "([^"]*)" project page$/ do |project|
9
- page.current_url.should include "/projects/#{project}"
8
+ Then /^I am redirected to the "([^"]*)" project page$/ do |project|
9
+ sleep 1
10
+ page.current_path.should include "/projects/#{project}"
10
11
  end
11
12
 
12
13
  When /^I select the project "([^"]*)"$/ do |project|
13
14
  select(project, :from => "projects")
14
15
  end
15
16
 
16
- Then /^"([^"]*)" should be rendered$/ do |text|
17
+ Then /^"([^"]*)" is rendered$/ do |text|
17
18
  page.should have_content text
18
19
  end
19
20
 
@@ -12,19 +12,10 @@ After do
12
12
  Wally::Project.delete_all
13
13
  end
14
14
 
15
- require 'headless'
16
- headless = Headless.new
17
- at_exit do
18
- headless.destroy
19
- end
20
-
21
- Before("@selenium,@javascript", "~@no-headless") do
22
- headless.start if Capybara.current_driver == :selenium
23
- end
24
-
25
- After("@selenium,@javascript", "~@no-headless") do
26
- headless.stop if Capybara.current_driver == :selenium
15
+ Capybara.register_driver :selenium_chrome do |app|
16
+ Capybara::Selenium::Driver.new(app, :browser => :chrome)
27
17
  end
18
+ Capybara.javascript_driver = :selenium_chrome
28
19
 
29
20
  def project name
30
21
  project = Wally::Project.first(:name => name)
@@ -5,7 +5,7 @@ Feature: Welcome Page
5
5
  Scenario: No projects
6
6
  Given there aren't any projects
7
7
  When I view the welcome page
8
- Then "Wally is a web-based Cucumber viewer and navigator" should be rendered
8
+ Then "Wally is a web-based Cucumber viewer and navigator" is rendered
9
9
 
10
10
  @javascript
11
11
  Scenario: Project links on home page
@@ -19,7 +19,7 @@ Feature: Welcome Page
19
19
  """
20
20
  When I view the welcome page
21
21
  And I select the project "sample2"
22
- Then I should redirected to the "sample2" project page
22
+ Then I am redirected to the "sample2" project page
23
23
 
24
24
  Scenario: Redirect to first project
25
25
  Given a feature file on the project "sample1" with the contents:
@@ -27,4 +27,4 @@ Feature: Welcome Page
27
27
  Feature: Sample1
28
28
  """
29
29
  When I view the welcome page
30
- Then I should redirected to the "sample1" project page
30
+ Then I am redirected to the "sample1" project page
@@ -47,7 +47,7 @@ end
47
47
 
48
48
  def highlighted_search_result_blurb search_result
49
49
  offset = 0
50
- highlighted = search_result.object.text
50
+ highlighted = search_result.object.text.dup
51
51
  span_start = "!!SPAN_START!!"
52
52
  span_end = "!!SPAN_END!!"
53
53
  search_result.matches.each do |match|
@@ -87,6 +87,10 @@ get '/?' do
87
87
  end
88
88
  end
89
89
 
90
+ get '/robots.txt' do
91
+ "User-agent: *\nDisallow: /"
92
+ end
93
+
90
94
  get '/projects/:project/?' do
91
95
  haml :project
92
96
  end
@@ -194,3 +194,15 @@ section.feature p:first-child {
194
194
  background: white;
195
195
  }
196
196
 
197
+ /* tags */
198
+
199
+ .tag-blocked, .tag-irritating {
200
+ background: #f00;
201
+ color: #fff;
202
+ }
203
+
204
+ .tag-wip {
205
+ background: #666FF;
206
+ color: #fff;
207
+ }
208
+
data/lib/wally/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Wally
2
- VERSION = "0.0.40"
2
+ VERSION = "0.0.41"
3
3
  end
@@ -8,12 +8,12 @@
8
8
  %section{:class => 'feature'}
9
9
  :markdown
10
10
  #{@feature.gherkin["description"]}
11
- - if @feature.gherkin["description"]
12
- %h2 Scenarios
13
- %ul
14
- - get_sorted_scenarios(@feature).each do |scenario|
15
- %li
16
- %a{:href => get_scenario_url(scenario)}
17
- = scenario["name"]
18
- - if scenario["tags"]
19
- = haml :tag_links, {:locals => {:tags => scenario["tags"]}, :layout => false}
11
+ - if @feature.gherkin["description"]
12
+ %h2 Scenarios
13
+ %ul
14
+ - get_sorted_scenarios(@feature).each do |scenario|
15
+ %li
16
+ %a{:href => get_scenario_url(scenario)}
17
+ = scenario["name"]
18
+ - if scenario["tags"]
19
+ = haml :tag_links, {:locals => {:tags => scenario["tags"]}, :layout => false}
@@ -41,7 +41,7 @@
41
41
  %ul
42
42
  - tag_count.each do |tag, count|
43
43
  %li
44
- %a{:href => "/projects/#{current_project.name}/search?q=#{tag}"}
44
+ %a{:href => "/projects/#{current_project.name}/search?q=#{tag}", :class => "tag-#{tag.delete('@')}"}
45
45
  = "#{tag} (#{count})"
46
46
 
47
47
  %div.content
@@ -20,19 +20,12 @@
20
20
  %span.step-keyword
21
21
  = step["keyword"]
22
22
  = escape_once(step["name"])
23
+ - if step["rows"]
24
+ = haml :table, {:locals => {:rows => step["rows"]}, :layout => false}
23
25
  - else
24
26
  %p{:class => 'alert-message error'}
25
27
  = "Where's Wally? This scenario has no steps!?"
26
28
  - if @scenario["examples"]
27
29
  %h3 Examples:
28
- %table{:class => 'zebra-striped'}
29
- - @scenario["examples"].first["rows"].each_with_index do |row, index|
30
- %tr
31
- - row["cells"].each do |cell|
32
- - if index === 0
33
- %th
34
- = escape_once(cell)
35
- - else
36
- %td
37
- = escape_once(cell)
30
+ = haml :table, {:locals => {:rows => @scenario["examples"].first["rows"]}, :layout => false}
38
31
 
@@ -0,0 +1,10 @@
1
+ %table{:class => 'zebra-striped'}
2
+ - rows.each_with_index do |row, index|
3
+ %tr
4
+ - row["cells"].each do |cell|
5
+ - if index === 0
6
+ %th
7
+ = escape_once(cell)
8
+ - else
9
+ %td
10
+ = escape_once(cell)
@@ -1,4 +1,4 @@
1
1
  - tags.each do |tag|
2
2
  %span.label.notice
3
- %a{:href => "/projects/#{current_project.name}/search?q=#{tag["name"]}"}
3
+ %a{:href => "/projects/#{current_project.name}/search?q=#{tag["name"]}", :class => "tag-#{tag["name"].delete('@')}"}
4
4
  = tag["name"]
data/wally.gemspec CHANGED
@@ -33,5 +33,5 @@ Gem::Specification.new do |s|
33
33
  s.add_development_dependency "rspec"
34
34
  s.add_development_dependency "fakefs"
35
35
  s.add_development_dependency "launchy"
36
- s.add_development_dependency "headless"
36
+ s.add_development_dependency "pry"
37
37
  end
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.40
4
+ version: 0.0.41
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-10 00:00:00.000000000 Z
12
+ date: 2012-04-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -220,7 +220,7 @@ dependencies:
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
222
  - !ruby/object:Gem::Dependency
223
- name: headless
223
+ name: pry
224
224
  requirement: !ruby/object:Gem::Requirement
225
225
  none: false
226
226
  requirements:
@@ -252,6 +252,8 @@ files:
252
252
  - bin/wally
253
253
  - config.ru
254
254
  - example-features/generic/example-with-background.feature
255
+ - example-features/generic/example-with-data-table.feature
256
+ - example-features/generic/example-with-scenario-outline-examples.feature
255
257
  - example-features/generic/example_with_tags.feature
256
258
  - example-features/generic/has-lots-of-tags.feature
257
259
  - example-features/generic/multiple-scenarios.feature
@@ -296,6 +298,7 @@ files:
296
298
  - lib/wally/views/project.haml
297
299
  - lib/wally/views/scenario.haml
298
300
  - lib/wally/views/search.haml
301
+ - lib/wally/views/table.haml
299
302
  - lib/wally/views/tag_links.haml
300
303
  - spec/spec_helper.rb
301
304
  - spec/wally/counts_tags_spec.rb