wally 0.0.40 → 0.0.41

Sign up to get free protection for your applications and to get access to all the features.
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