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.
- data/.gitignore +1 -0
 - data/Rakefile +1 -1
 - data/example-features/generic/example-with-data-table.feature +7 -0
 - data/example-features/generic/example-with-scenario-outline-examples.feature +11 -0
 - data/features/counts.feature +2 -2
 - data/features/feature_page.feature +5 -5
 - data/features/list_tags.feature +15 -4
 - data/features/notifications.feature +1 -1
 - data/features/progress_bar.feature +5 -9
 - data/features/project_home.feature +1 -1
 - data/features/projects.feature +1 -1
 - data/features/push_features.feature +3 -3
 - data/features/scenario_page.feature +37 -3
 - data/features/search_features.feature +17 -12
 - data/features/step_definitions/feature_page_steps.rb +2 -2
 - data/features/step_definitions/notifications_steps.rb +1 -1
 - data/features/step_definitions/project_home_steps.rb +1 -1
 - data/features/step_definitions/projects_steps.rb +1 -1
 - data/features/step_definitions/push_features_steps.rb +2 -2
 - data/features/step_definitions/scenario_page_steps.rb +15 -1
 - data/features/step_definitions/search_features_steps.rb +3 -3
 - data/features/step_definitions/steps.rb +9 -2
 - data/features/step_definitions/welcome_page.rb +4 -3
 - data/features/support/env.rb +3 -12
 - data/features/welcome_page.feature +3 -3
 - data/lib/wally/application.rb +5 -1
 - data/lib/wally/public/skin.css +12 -0
 - data/lib/wally/version.rb +1 -1
 - data/lib/wally/views/feature.haml +9 -9
 - data/lib/wally/views/layout.haml +1 -1
 - data/lib/wally/views/scenario.haml +3 -10
 - data/lib/wally/views/table.haml +10 -0
 - data/lib/wally/views/tag_links.haml +1 -1
 - data/wally.gemspec +1 -1
 - metadata +6 -3
 
    
        data/.gitignore
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    
    
        data/features/counts.feature
    CHANGED
    
    
| 
         @@ -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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
       69 
     | 
    
         
            -
                And I  
     | 
| 
      
 68 
     | 
    
         
            +
                Then I see "tag1"
         
     | 
| 
      
 69 
     | 
    
         
            +
                And I see "tag2"
         
     | 
    
        data/features/list_tags.feature
    CHANGED
    
    | 
         @@ -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  
     | 
| 
       18 
     | 
    
         
            -
                And I  
     | 
| 
       19 
     | 
    
         
            -
                And I  
     | 
| 
       20 
     | 
    
         
            -
                And I  
     | 
| 
      
 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
         
     | 
| 
         @@ -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  
     | 
| 
       20 
     | 
    
         
            -
                And I  
     | 
| 
       21 
     | 
    
         
            -
                And I  
     | 
| 
       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%)"
         
     | 
    
        data/features/projects.feature
    CHANGED
    
    
| 
         @@ -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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
       21 
     | 
    
         
            -
                And I  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
       63 
     | 
    
         
            -
                And I  
     | 
| 
      
 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  
     | 
| 
       77 
     | 
    
         
            -
                And I  
     | 
| 
      
 76 
     | 
    
         
            +
                Then I see "feature_tag" in the search results
         
     | 
| 
      
 77 
     | 
    
         
            +
                And I see "scenario_tag" in the search results
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
       79 
     | 
    
         
            -
              Scenario:  
     | 
| 
       80 
     | 
    
         
            -
                Given a feature file named " 
     | 
| 
      
 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  
     | 
| 
      
 89 
     | 
    
         
            +
                Then I see the html:
         
     | 
| 
       89 
90 
     | 
    
         
             
                """
         
     | 
| 
       90 
91 
     | 
    
         
             
                Some <long <span class="search-result">WORD</span> feature <span class="search-result">word</span> name
         
     | 
| 
       91 
92 
     | 
    
         
             
                """
         
     | 
| 
       92 
     | 
    
         
            -
                And I  
     | 
| 
      
 93 
     | 
    
         
            +
                And I see the html:
         
     | 
| 
       93 
94 
     | 
    
         
             
                """
         
     | 
| 
       94 
95 
     | 
    
         
             
                Some <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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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 
     | 
    
         
            -
               
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
      
 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 /^"([^"]*)"  
     | 
| 
      
 17 
     | 
    
         
            +
            Then /^"([^"]*)" is rendered$/ do |text|
         
     | 
| 
       17 
18 
     | 
    
         
             
              page.should have_content text
         
     | 
| 
       18 
19 
     | 
    
         
             
            end
         
     | 
| 
       19 
20 
     | 
    
         | 
    
        data/features/support/env.rb
    CHANGED
    
    | 
         @@ -12,19 +12,10 @@ After do 
     | 
|
| 
       12 
12 
     | 
    
         
             
              Wally::Project.delete_all
         
     | 
| 
       13 
13 
     | 
    
         
             
            end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       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"  
     | 
| 
      
 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  
     | 
| 
      
 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  
     | 
| 
      
 30 
     | 
    
         
            +
                Then I am redirected to the "sample1" project page
         
     | 
    
        data/lib/wally/application.rb
    CHANGED
    
    | 
         @@ -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
         
     | 
    
        data/lib/wally/public/skin.css
    CHANGED
    
    
    
        data/lib/wally/version.rb
    CHANGED
    
    
| 
         @@ -8,12 +8,12 @@ 
     | 
|
| 
       8 
8 
     | 
    
         
             
              %section{:class => 'feature'}
         
     | 
| 
       9 
9 
     | 
    
         
             
                :markdown
         
     | 
| 
       10 
10 
     | 
    
         
             
                  #{@feature.gherkin["description"]}
         
     | 
| 
       11 
     | 
    
         
            -
            - if @feature.gherkin["description"]
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 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}
         
     | 
    
        data/lib/wally/views/layout.haml
    CHANGED
    
    | 
         @@ -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 
     | 
    
         
            -
               
     | 
| 
       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 
     | 
    
         | 
    
        data/wally.gemspec
    CHANGED
    
    
    
        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.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- 
     | 
| 
      
 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:  
     | 
| 
      
 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
         
     |