jnicklas-courgette 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
- data/Manifest.txt +87 -0
- data/PostInstall.txt +7 -0
- data/README.rdoc +53 -0
- data/Rakefile +27 -0
- data/app/controllers/features_controller.rb +14 -0
- data/app/views/features/index.html.erb +19 -0
- data/app/views/features/show.html.erb +3 -0
- data/app/views/layouts/courgette.html.erb +94 -0
- data/config/routes.rb +3 -0
- data/courgette.gemspec +44 -0
- data/features/list_features.feature +11 -0
- data/features/show_feature.feature +23 -0
- data/features/step_definitions/courgette_steps.rb +25 -0
- data/features/step_definitions/webrat_steps.rb +104 -0
- data/features/support/env.rb +23 -0
- data/fixture_rails_root/README +243 -0
- data/fixture_rails_root/Rakefile +10 -0
- data/fixture_rails_root/app/controllers/application_controller.rb +10 -0
- data/fixture_rails_root/app/helpers/application_helper.rb +3 -0
- data/fixture_rails_root/app/views/home/index.html.erb +2 -0
- data/fixture_rails_root/app/views/layouts/application.html.erb +18 -0
- data/fixture_rails_root/config/boot.rb +110 -0
- data/fixture_rails_root/config/database.yml +22 -0
- data/fixture_rails_root/config/environment.rb +18 -0
- data/fixture_rails_root/config/environments/development.rb +17 -0
- data/fixture_rails_root/config/environments/production.rb +28 -0
- data/fixture_rails_root/config/environments/test.rb +28 -0
- data/fixture_rails_root/config/initializers/backtrace_silencers.rb +7 -0
- data/fixture_rails_root/config/initializers/inflections.rb +10 -0
- data/fixture_rails_root/config/initializers/mime_types.rb +5 -0
- data/fixture_rails_root/config/initializers/new_rails_defaults.rb +19 -0
- data/fixture_rails_root/config/initializers/session_store.rb +15 -0
- data/fixture_rails_root/config/locales/en.yml +5 -0
- data/fixture_rails_root/config/routes.rb +3 -0
- data/fixture_rails_root/db/development.sqlite3 +0 -0
- data/fixture_rails_root/db/migrate/20090720193349_add_users.rb +20 -0
- data/fixture_rails_root/db/schema.rb +27 -0
- data/fixture_rails_root/db/test.sqlite3 +0 -0
- data/fixture_rails_root/doc/README_FOR_APP +2 -0
- data/fixture_rails_root/features/step_definitions/webrat_steps.rb +115 -0
- data/fixture_rails_root/features/support/env.rb +17 -0
- data/fixture_rails_root/features/support/paths.rb +29 -0
- data/fixture_rails_root/features/user_eats_rabbits.feature +17 -0
- data/fixture_rails_root/features/visitor_transforms.feature +14 -0
- data/fixture_rails_root/lib/tasks/cucumber.rake +15 -0
- data/fixture_rails_root/public/404.html +30 -0
- data/fixture_rails_root/public/422.html +30 -0
- data/fixture_rails_root/public/500.html +30 -0
- data/fixture_rails_root/public/favicon.ico +0 -0
- data/fixture_rails_root/public/images/rails.png +0 -0
- data/fixture_rails_root/public/index.html +275 -0
- data/fixture_rails_root/public/javascripts/application.js +2 -0
- data/fixture_rails_root/public/javascripts/controls.js +963 -0
- data/fixture_rails_root/public/javascripts/dragdrop.js +973 -0
- data/fixture_rails_root/public/javascripts/effects.js +1128 -0
- data/fixture_rails_root/public/javascripts/prototype.js +4320 -0
- data/fixture_rails_root/public/robots.txt +5 -0
- data/fixture_rails_root/script/about +4 -0
- data/fixture_rails_root/script/console +3 -0
- data/fixture_rails_root/script/cucumber +8 -0
- data/fixture_rails_root/script/dbconsole +3 -0
- data/fixture_rails_root/script/destroy +3 -0
- data/fixture_rails_root/script/generate +3 -0
- data/fixture_rails_root/script/performance/benchmarker +3 -0
- data/fixture_rails_root/script/performance/profiler +3 -0
- data/fixture_rails_root/script/plugin +3 -0
- data/fixture_rails_root/script/runner +3 -0
- data/fixture_rails_root/script/server +3 -0
- data/fixture_rails_root/spec/controllers/home_controller_spec.rb +17 -0
- data/fixture_rails_root/spec/helpers/home_helper_spec.rb +11 -0
- data/fixture_rails_root/spec/views/home/index.html.erb_spec.rb +12 -0
- data/fixture_rails_root/test/fixtures/users.yml +7 -0
- data/fixture_rails_root/test/performance/browsing_test.rb +9 -0
- data/fixture_rails_root/test/test_helper.rb +38 -0
- data/fixture_rails_root/test/unit/user_test.rb +8 -0
- data/lib/courgette/feature.rb +52 -0
- data/lib/courgette.rb +29 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/controllers/features_controller_spec.rb +24 -0
- data/spec/courgette_spec.rb +25 -0
- data/spec/feature_spec.rb +33 -0
- data/spec/spec_helper.rb +19 -0
- data/test/test_courgette.rb +11 -0
- data/test/test_helper.rb +3 -0
- metadata +164 -0
data/History.txt
ADDED
data/Manifest.txt
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
History.txt
|
2
|
+
Manifest.txt
|
3
|
+
PostInstall.txt
|
4
|
+
README.rdoc
|
5
|
+
Rakefile
|
6
|
+
app/controllers/features_controller.rb
|
7
|
+
app/views/features/index.html.erb
|
8
|
+
app/views/features/show.html.erb
|
9
|
+
app/views/layouts/courgette.html.erb
|
10
|
+
config/routes.rb
|
11
|
+
courgette.gemspec
|
12
|
+
features/list_features.feature
|
13
|
+
features/show_feature.feature
|
14
|
+
features/step_definitions/courgette_steps.rb
|
15
|
+
features/step_definitions/webrat_steps.rb
|
16
|
+
features/support/env.rb
|
17
|
+
fixture_rails_root/README
|
18
|
+
fixture_rails_root/Rakefile
|
19
|
+
fixture_rails_root/app/controllers/application_controller.rb
|
20
|
+
fixture_rails_root/app/helpers/application_helper.rb
|
21
|
+
fixture_rails_root/app/views/home/index.html.erb
|
22
|
+
fixture_rails_root/app/views/layouts/application.html.erb
|
23
|
+
fixture_rails_root/config/boot.rb
|
24
|
+
fixture_rails_root/config/database.yml
|
25
|
+
fixture_rails_root/config/environment.rb
|
26
|
+
fixture_rails_root/config/environments/development.rb
|
27
|
+
fixture_rails_root/config/environments/production.rb
|
28
|
+
fixture_rails_root/config/environments/test.rb
|
29
|
+
fixture_rails_root/config/initializers/backtrace_silencers.rb
|
30
|
+
fixture_rails_root/config/initializers/inflections.rb
|
31
|
+
fixture_rails_root/config/initializers/mime_types.rb
|
32
|
+
fixture_rails_root/config/initializers/new_rails_defaults.rb
|
33
|
+
fixture_rails_root/config/initializers/session_store.rb
|
34
|
+
fixture_rails_root/config/locales/en.yml
|
35
|
+
fixture_rails_root/config/routes.rb
|
36
|
+
fixture_rails_root/db/development.sqlite3
|
37
|
+
fixture_rails_root/db/migrate/20090720193349_add_users.rb
|
38
|
+
fixture_rails_root/db/schema.rb
|
39
|
+
fixture_rails_root/db/test.sqlite3
|
40
|
+
fixture_rails_root/doc/README_FOR_APP
|
41
|
+
fixture_rails_root/features/step_definitions/webrat_steps.rb
|
42
|
+
fixture_rails_root/features/support/env.rb
|
43
|
+
fixture_rails_root/features/support/paths.rb
|
44
|
+
fixture_rails_root/features/user_eats_rabbits.feature
|
45
|
+
fixture_rails_root/features/visitor_transforms.feature
|
46
|
+
fixture_rails_root/lib/tasks/cucumber.rake
|
47
|
+
fixture_rails_root/public/404.html
|
48
|
+
fixture_rails_root/public/422.html
|
49
|
+
fixture_rails_root/public/500.html
|
50
|
+
fixture_rails_root/public/favicon.ico
|
51
|
+
fixture_rails_root/public/images/rails.png
|
52
|
+
fixture_rails_root/public/index.html
|
53
|
+
fixture_rails_root/public/javascripts/application.js
|
54
|
+
fixture_rails_root/public/javascripts/controls.js
|
55
|
+
fixture_rails_root/public/javascripts/dragdrop.js
|
56
|
+
fixture_rails_root/public/javascripts/effects.js
|
57
|
+
fixture_rails_root/public/javascripts/prototype.js
|
58
|
+
fixture_rails_root/public/robots.txt
|
59
|
+
fixture_rails_root/script/about
|
60
|
+
fixture_rails_root/script/console
|
61
|
+
fixture_rails_root/script/cucumber
|
62
|
+
fixture_rails_root/script/dbconsole
|
63
|
+
fixture_rails_root/script/destroy
|
64
|
+
fixture_rails_root/script/generate
|
65
|
+
fixture_rails_root/script/performance/benchmarker
|
66
|
+
fixture_rails_root/script/performance/profiler
|
67
|
+
fixture_rails_root/script/plugin
|
68
|
+
fixture_rails_root/script/runner
|
69
|
+
fixture_rails_root/script/server
|
70
|
+
fixture_rails_root/spec/controllers/home_controller_spec.rb
|
71
|
+
fixture_rails_root/spec/helpers/home_helper_spec.rb
|
72
|
+
fixture_rails_root/spec/views/home/index.html.erb_spec.rb
|
73
|
+
fixture_rails_root/test/fixtures/users.yml
|
74
|
+
fixture_rails_root/test/performance/browsing_test.rb
|
75
|
+
fixture_rails_root/test/test_helper.rb
|
76
|
+
fixture_rails_root/test/unit/user_test.rb
|
77
|
+
lib/courgette.rb
|
78
|
+
lib/courgette/feature.rb
|
79
|
+
script/console
|
80
|
+
script/destroy
|
81
|
+
script/generate
|
82
|
+
spec/controllers/features_controller_spec.rb
|
83
|
+
spec/courgette_spec.rb
|
84
|
+
spec/feature_spec.rb
|
85
|
+
spec/spec_helper.rb
|
86
|
+
test/test_courgette.rb
|
87
|
+
test/test_helper.rb
|
data/PostInstall.txt
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
= courgette
|
2
|
+
|
3
|
+
* http://github.com/jnicklas/courgette
|
4
|
+
|
5
|
+
== DESCRIPTION:
|
6
|
+
|
7
|
+
Courgette is a Rails engine which makes your feature files viewable through
|
8
|
+
your browser. Install and browse to:
|
9
|
+
|
10
|
+
/features
|
11
|
+
|
12
|
+
Voilá, pretty list of features. Great for communicating with the customer.
|
13
|
+
|
14
|
+
== FEATURES/PROBLEMS:
|
15
|
+
|
16
|
+
* FIX (list of features or problems)
|
17
|
+
|
18
|
+
== SYNOPSIS:
|
19
|
+
|
20
|
+
FIX (code sample of usage)
|
21
|
+
|
22
|
+
== REQUIREMENTS:
|
23
|
+
|
24
|
+
* FIX (list of requirements)
|
25
|
+
|
26
|
+
== INSTALL:
|
27
|
+
|
28
|
+
* FIX (sudo gem install, anything else)
|
29
|
+
|
30
|
+
== LICENSE:
|
31
|
+
|
32
|
+
(The MIT License)
|
33
|
+
|
34
|
+
Copyright (c) 2009 Jonas Nicklas
|
35
|
+
|
36
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
37
|
+
a copy of this software and associated documentation files (the
|
38
|
+
'Software'), to deal in the Software without restriction, including
|
39
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
40
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
41
|
+
permit persons to whom the Software is furnished to do so, subject to
|
42
|
+
the following conditions:
|
43
|
+
|
44
|
+
The above copyright notice and this permission notice shall be
|
45
|
+
included in all copies or substantial portions of the Software.
|
46
|
+
|
47
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
48
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
49
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
50
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
51
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
52
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
53
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
gem 'hoe', '>= 2.1.0'
|
3
|
+
require 'hoe'
|
4
|
+
require 'fileutils'
|
5
|
+
require './lib/courgette'
|
6
|
+
|
7
|
+
Hoe.plugin :newgem
|
8
|
+
# Hoe.plugin :website
|
9
|
+
Hoe.plugin :cucumberfeatures
|
10
|
+
|
11
|
+
# Generate all the Rake tasks
|
12
|
+
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
13
|
+
$hoe = Hoe.spec 'courgette' do
|
14
|
+
self.developer 'Jonas Nicklas', 'jonas.nicklas@gmail.com'
|
15
|
+
self.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
|
16
|
+
self.rubyforge_name = self.name # TODO this is default value
|
17
|
+
self.version = Courgette::VERSION
|
18
|
+
self.extra_deps = [['cucumber','>= 0.3.90']]
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
require 'newgem/tasks'
|
23
|
+
Dir['tasks/**/*.rake'].each { |t| load t }
|
24
|
+
|
25
|
+
# TODO - want other tests/tasks run by default? Add them to the list
|
26
|
+
# remove_task :default
|
27
|
+
# task :default => [:spec, :features]
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<h1>Features</h1>
|
2
|
+
|
3
|
+
<table id="features" border="0" cellspacing="0" cellpadding="0">
|
4
|
+
<thead>
|
5
|
+
<tr>
|
6
|
+
<th>Name</th>
|
7
|
+
<th>Scenarios</th>
|
8
|
+
</tr>
|
9
|
+
</thead>
|
10
|
+
|
11
|
+
<tbody>
|
12
|
+
<% @features.each do |feature| %>
|
13
|
+
<tr>
|
14
|
+
<td><%= link_to feature.name, feature_path(feature) %></td>
|
15
|
+
<td><%= feature.feature_elements_size %></td>
|
16
|
+
</tr>
|
17
|
+
<% end %>
|
18
|
+
</tbody>
|
19
|
+
</table>
|
@@ -0,0 +1,94 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
7
|
+
<title>Features</title>
|
8
|
+
|
9
|
+
<style type="text/css" media="screen">
|
10
|
+
body {
|
11
|
+
background: #f0f0f0;
|
12
|
+
font-family: 'Lucida Sans Unicode','Lucida Grande',sans-serif;
|
13
|
+
font-size: 13px;
|
14
|
+
line-height: 1.5em;
|
15
|
+
}
|
16
|
+
|
17
|
+
* {
|
18
|
+
margin: 0;
|
19
|
+
padding: 0;
|
20
|
+
}
|
21
|
+
|
22
|
+
a:link, a:visited {
|
23
|
+
border-bottom: 1px solid #98c4d1;
|
24
|
+
color: #359abe;
|
25
|
+
text-decoration: none;
|
26
|
+
}
|
27
|
+
|
28
|
+
a:hover {
|
29
|
+
border-bottom: 1px solid #c63;
|
30
|
+
color: #c63;
|
31
|
+
}
|
32
|
+
|
33
|
+
#page {
|
34
|
+
margin: 30px 200px 100px 50px;
|
35
|
+
background: white;
|
36
|
+
border-bottom: 3px solid #ccc;
|
37
|
+
border-right: 3px solid #ddd;
|
38
|
+
padding: 30px 50px 60px;
|
39
|
+
}
|
40
|
+
|
41
|
+
#page h1, #page h2, #page h3 {
|
42
|
+
font-weight: normal;
|
43
|
+
}
|
44
|
+
|
45
|
+
#features {
|
46
|
+
width: 100%;
|
47
|
+
margin: 1em 0 3em;
|
48
|
+
}
|
49
|
+
|
50
|
+
#features th {
|
51
|
+
text-align: left;
|
52
|
+
background: #eee;
|
53
|
+
border-bottom: 4px solid #ccc;
|
54
|
+
padding: 5px 10px;
|
55
|
+
}
|
56
|
+
|
57
|
+
#features td {
|
58
|
+
border-bottom: 1px solid #ccc;
|
59
|
+
padding: 10px 10px;
|
60
|
+
}
|
61
|
+
|
62
|
+
.narrative {
|
63
|
+
border: 1px solid #ddd;
|
64
|
+
padding: 10px;
|
65
|
+
color: #888;
|
66
|
+
margin: 1em 0;
|
67
|
+
}
|
68
|
+
|
69
|
+
.scenario h3, .background h3 {
|
70
|
+
margin: 0 0 1em;
|
71
|
+
}
|
72
|
+
|
73
|
+
.scenario, .background {
|
74
|
+
border: 1px solid #ddd;
|
75
|
+
margin: 1em 0;
|
76
|
+
padding: 10px;
|
77
|
+
}
|
78
|
+
|
79
|
+
.scenario li, .background li {
|
80
|
+
list-style: none;
|
81
|
+
}
|
82
|
+
|
83
|
+
.keyword {
|
84
|
+
color: #DC7D11;
|
85
|
+
}
|
86
|
+
</style>
|
87
|
+
</head>
|
88
|
+
|
89
|
+
<body>
|
90
|
+
<div id="page">
|
91
|
+
<%= yield %>
|
92
|
+
</div>
|
93
|
+
</body>
|
94
|
+
</html>
|
data/config/routes.rb
ADDED
data/courgette.gemspec
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{courgette}
|
5
|
+
s.version = "0.0.2"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Jonas Nicklas"]
|
9
|
+
s.date = %q{2009-07-22}
|
10
|
+
s.description = %q{Courgette is a Rails engine which makes your feature files viewable through
|
11
|
+
your browser. Install and browse to:
|
12
|
+
|
13
|
+
/features
|
14
|
+
|
15
|
+
Voilá, pretty list of features. Great for communicating with the customer.}
|
16
|
+
s.email = ["jonas.nicklas@gmail.com"]
|
17
|
+
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "fixture_rails_root/public/robots.txt"]
|
18
|
+
s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "app/controllers/features_controller.rb", "app/views/features/index.html.erb", "app/views/features/show.html.erb", "app/views/layouts/courgette.html.erb", "config/routes.rb", "courgette.gemspec", "features/list_features.feature", "features/show_feature.feature", "features/step_definitions/courgette_steps.rb", "features/step_definitions/webrat_steps.rb", "features/support/env.rb", "fixture_rails_root/README", "fixture_rails_root/Rakefile", "fixture_rails_root/app/controllers/application_controller.rb", "fixture_rails_root/app/helpers/application_helper.rb", "fixture_rails_root/app/views/home/index.html.erb", "fixture_rails_root/app/views/layouts/application.html.erb", "fixture_rails_root/config/boot.rb", "fixture_rails_root/config/database.yml", "fixture_rails_root/config/environment.rb", "fixture_rails_root/config/environments/development.rb", "fixture_rails_root/config/environments/production.rb", "fixture_rails_root/config/environments/test.rb", "fixture_rails_root/config/initializers/backtrace_silencers.rb", "fixture_rails_root/config/initializers/inflections.rb", "fixture_rails_root/config/initializers/mime_types.rb", "fixture_rails_root/config/initializers/new_rails_defaults.rb", "fixture_rails_root/config/initializers/session_store.rb", "fixture_rails_root/config/locales/en.yml", "fixture_rails_root/config/routes.rb", "fixture_rails_root/db/development.sqlite3", "fixture_rails_root/db/migrate/20090720193349_add_users.rb", "fixture_rails_root/db/schema.rb", "fixture_rails_root/db/test.sqlite3", "fixture_rails_root/doc/README_FOR_APP", "fixture_rails_root/features/step_definitions/webrat_steps.rb", "fixture_rails_root/features/support/env.rb", "fixture_rails_root/features/support/paths.rb", "fixture_rails_root/features/user_eats_rabbits.feature", "fixture_rails_root/features/visitor_transforms.feature", "fixture_rails_root/lib/tasks/cucumber.rake", "fixture_rails_root/public/404.html", "fixture_rails_root/public/422.html", "fixture_rails_root/public/500.html", "fixture_rails_root/public/favicon.ico", "fixture_rails_root/public/images/rails.png", "fixture_rails_root/public/index.html", "fixture_rails_root/public/javascripts/application.js", "fixture_rails_root/public/javascripts/controls.js", "fixture_rails_root/public/javascripts/dragdrop.js", "fixture_rails_root/public/javascripts/effects.js", "fixture_rails_root/public/javascripts/prototype.js", "fixture_rails_root/public/robots.txt", "fixture_rails_root/script/about", "fixture_rails_root/script/console", "fixture_rails_root/script/cucumber", "fixture_rails_root/script/dbconsole", "fixture_rails_root/script/destroy", "fixture_rails_root/script/generate", "fixture_rails_root/script/performance/benchmarker", "fixture_rails_root/script/performance/profiler", "fixture_rails_root/script/plugin", "fixture_rails_root/script/runner", "fixture_rails_root/script/server", "fixture_rails_root/spec/controllers/home_controller_spec.rb", "fixture_rails_root/spec/helpers/home_helper_spec.rb", "fixture_rails_root/spec/views/home/index.html.erb_spec.rb", "fixture_rails_root/test/fixtures/users.yml", "fixture_rails_root/test/performance/browsing_test.rb", "fixture_rails_root/test/test_helper.rb", "fixture_rails_root/test/unit/user_test.rb", "lib/courgette.rb", "lib/courgette/feature.rb", "script/console", "script/destroy", "script/generate", "spec/controllers/features_controller_spec.rb", "spec/courgette_spec.rb", "spec/feature_spec.rb", "spec/spec_helper.rb", "test/test_courgette.rb", "test/test_helper.rb"]
|
19
|
+
s.has_rdoc = true
|
20
|
+
s.homepage = %q{http://github.com/jnicklas/courgette}
|
21
|
+
s.post_install_message = %q{PostInstall.txt}
|
22
|
+
s.rdoc_options = ["--main", "README.rdoc"]
|
23
|
+
s.require_paths = ["lib"]
|
24
|
+
s.rubyforge_project = %q{courgette}
|
25
|
+
s.rubygems_version = %q{1.3.2}
|
26
|
+
s.summary = %q{Courgette is a Rails engine which makes your feature files viewable through your browser}
|
27
|
+
s.test_files = ["test/test_courgette.rb", "test/test_helper.rb"]
|
28
|
+
|
29
|
+
if s.respond_to? :specification_version then
|
30
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
31
|
+
s.specification_version = 3
|
32
|
+
|
33
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
34
|
+
s.add_runtime_dependency(%q<cucumber>, [">= 0.3.90"])
|
35
|
+
s.add_development_dependency(%q<hoe>, [">= 2.3.2"])
|
36
|
+
else
|
37
|
+
s.add_dependency(%q<cucumber>, [">= 0.3.90"])
|
38
|
+
s.add_dependency(%q<hoe>, [">= 2.3.2"])
|
39
|
+
end
|
40
|
+
else
|
41
|
+
s.add_dependency(%q<cucumber>, [">= 0.3.90"])
|
42
|
+
s.add_dependency(%q<hoe>, [">= 2.3.2"])
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Feature: List features
|
2
|
+
In order to communicate the function of the application to the customer
|
3
|
+
As a developer using cucumber
|
4
|
+
I want to publish a list of features for my application
|
5
|
+
|
6
|
+
Scenario: list features in the fixture application
|
7
|
+
Given I enter the address of the feature page
|
8
|
+
|
9
|
+
Then I should see a table with the headers "Name, Scenarios"
|
10
|
+
Then I should see a table where a row contains the cells "User eats a Rabbit, 2"
|
11
|
+
Then I should see a table where a row contains the cells "Visitor can transform into a tamagochi, 1"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
Feature: List features
|
2
|
+
In order to communicate the function of the application to the customer
|
3
|
+
As a developer using cucumber
|
4
|
+
I want to publish a feature
|
5
|
+
|
6
|
+
Scenario: list features in the fixture application
|
7
|
+
Given I enter the address of the feature page
|
8
|
+
|
9
|
+
Then I should see a table with the headers "Name, Scenarios"
|
10
|
+
Then I should see a table where a row contains the cells "User eats a Rabbit, 2"
|
11
|
+
|
12
|
+
When I follow "User eats a Rabbit"
|
13
|
+
|
14
|
+
Then I should see the header "Feature: User eats a Rabbit"
|
15
|
+
|
16
|
+
And I should see "In order to get that delicious feeling"
|
17
|
+
And I should see "As a user"
|
18
|
+
And I should see "I want to eat some Rabbits"
|
19
|
+
And I should see "Scenario: eat a really cute rabbit"
|
20
|
+
And I should see "Given there is a rabbit"
|
21
|
+
And I should see "And the rabbit is really cute"
|
22
|
+
And I should see "When I eat the rabbit"
|
23
|
+
And I should see "Then I should feel good"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
Then /^I should see the header "([^\"]*)"$/ do |header|
|
2
|
+
response.should have_tag('h1,h2', :text => /#{header}/)
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^I should see a table where a row contains the cells? "([^\"]*)"$/ do |cells|
|
6
|
+
response.should have_tag('table') do |table|
|
7
|
+
table.should have_tag('tr') do |tr|
|
8
|
+
cells.split(/\s*,\s*/).each do |cell|
|
9
|
+
tr.should have_tag('td,th', :text => /#{Regexp.escape(cell)}/)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
Then /^I should see a table with the headers "([^\"]*)"$/ do |headers|
|
16
|
+
response.should have_tag('table') do |table|
|
17
|
+
headers.split(/\s*,\s*/).each do |header|
|
18
|
+
table.should have_tag('th', :text => /#{Regexp.escape(header)}/)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Given /^I enter the address of the feature page$/ do
|
24
|
+
visit '/features'
|
25
|
+
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# Commonly used webrat steps
|
2
|
+
# http://github.com/brynary/webrat
|
3
|
+
When /^I press "([^\"]*)"$/ do |button|
|
4
|
+
click_button(button)
|
5
|
+
end
|
6
|
+
|
7
|
+
When /^I follow "([^\"]*)"$/ do |link|
|
8
|
+
click_link(link)
|
9
|
+
end
|
10
|
+
|
11
|
+
When /^I fill in "([^\"]*)" with "([^\"]*)"$/ do |field, value|
|
12
|
+
fill_in(field, :with => value)
|
13
|
+
end
|
14
|
+
|
15
|
+
When /^I select "([^\"]*)" from "([^\"]*)"$/ do |value, field|
|
16
|
+
select(value, :from => field)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Use this step in conjunction with Rail's datetime_select helper. For example:
|
20
|
+
# When I select "December 25, 2008 10:00" as the date and time
|
21
|
+
When /^I select "([^\"]*)" as the date and time$/ do |time|
|
22
|
+
select_datetime(time)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Use this step when using multiple datetime_select helpers on a page or
|
26
|
+
# you want to specify which datetime to select. Given the following view:
|
27
|
+
# <%= f.label :preferred %><br />
|
28
|
+
# <%= f.datetime_select :preferred %>
|
29
|
+
# <%= f.label :alternative %><br />
|
30
|
+
# <%= f.datetime_select :alternative %>
|
31
|
+
# The following steps would fill out the form:
|
32
|
+
# When I select "November 23, 2004 11:20" as the "Preferred" data and time
|
33
|
+
# And I select "November 25, 2004 10:30" as the "Alternative" data and time
|
34
|
+
When /^I select "([^\"]*)" as the "([^\"]*)" date and time$/ do |datetime, datetime_label|
|
35
|
+
select_datetime(datetime, :from => datetime_label)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Use this step in conjunction with Rail's time_select helper. For example:
|
39
|
+
# When I select "2:20PM" as the time
|
40
|
+
# Note: Rail's default time helper provides 24-hour time-- not 12 hour time. Webrat
|
41
|
+
# will convert the 2:20PM to 14:20 and then select it.
|
42
|
+
When /^I select "([^\"]*)" as the time$/ do |time|
|
43
|
+
select_time(time)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Use this step when using multiple time_select helpers on a page or you want to
|
47
|
+
# specify the name of the time on the form. For example:
|
48
|
+
# When I select "7:30AM" as the "Gym" time
|
49
|
+
When /^I select "([^\"]*)" as the "([^\"]*)" time$/ do |time, time_label|
|
50
|
+
select_time(time, :from => time_label)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Use this step in conjunction with Rail's date_select helper. For example:
|
54
|
+
# When I select "February 20, 1981" as the date
|
55
|
+
When /^I select "([^\"]*)" as the date$/ do |date|
|
56
|
+
select_date(date)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Use this step when using multiple date_select helpers on one page or
|
60
|
+
# you want to specify the name of the date on the form. For example:
|
61
|
+
# When I select "April 26, 1982" as the "Date of Birth" date
|
62
|
+
When /^I select "([^\"]*)" as the "([^\"]*)" date$/ do |date, date_label|
|
63
|
+
select_date(date, :from => date_label)
|
64
|
+
end
|
65
|
+
|
66
|
+
When /^I check "([^\"]*)"$/ do |field|
|
67
|
+
check(field)
|
68
|
+
end
|
69
|
+
|
70
|
+
When /^I uncheck "([^\"]*)"$/ do |field|
|
71
|
+
uncheck(field)
|
72
|
+
end
|
73
|
+
|
74
|
+
When /^I choose "([^\"]*)"$/ do |field|
|
75
|
+
choose(field)
|
76
|
+
end
|
77
|
+
|
78
|
+
When /^I attach the file at "([^\"]*)" to "([^\"]*)"$/ do |path, field|
|
79
|
+
attach_file(field, path)
|
80
|
+
end
|
81
|
+
|
82
|
+
Then /^I should see "([^\"]*)"$/ do |text|
|
83
|
+
response.should contain(text)
|
84
|
+
end
|
85
|
+
|
86
|
+
Then /^I should not see "([^\"]*)"$/ do |text|
|
87
|
+
response.should_not contain(text)
|
88
|
+
end
|
89
|
+
|
90
|
+
Then /^the "([^\"]*)" field should contain "([^\"]*)"$/ do |field, value|
|
91
|
+
field_labeled(field).value.should =~ /#{value}/
|
92
|
+
end
|
93
|
+
|
94
|
+
Then /^the "([^\"]*)" field should not contain "([^\"]*)"$/ do |field, value|
|
95
|
+
field_labeled(field).value.should_not =~ /#{value}/
|
96
|
+
end
|
97
|
+
|
98
|
+
Then /^the "([^\"]*)" checkbox should be checked$/ do |label|
|
99
|
+
field_labeled(label).should be_checked
|
100
|
+
end
|
101
|
+
|
102
|
+
Then /^I should be on (.+)$/ do |page_name|
|
103
|
+
URI.parse(current_url).path.should == path_to(page_name)
|
104
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
## this file is just for bootstrapping tests, it won't actually be generated!
|
2
|
+
|
3
|
+
ENV["RAILS_ENV"] = "test"
|
4
|
+
RAILS_ENV = ENV["RAILS_ENV"]
|
5
|
+
|
6
|
+
require 'rubygems'
|
7
|
+
|
8
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../fixture_rails_root/config/environment")
|
9
|
+
|
10
|
+
require 'cucumber/rails/world'
|
11
|
+
require 'cucumber/formatter/unicode' # Comment out this line if you don't want Cucumber Unicode support
|
12
|
+
Cucumber::Rails.use_transactional_fixtures
|
13
|
+
Cucumber::Rails.bypass_rescue # Comment out this line if you want Rails own error handling
|
14
|
+
# (e.g. rescue_action_in_public / rescue_responses / rescue_from)
|
15
|
+
|
16
|
+
require 'webrat'
|
17
|
+
|
18
|
+
Webrat.configure do |config|
|
19
|
+
config.mode = :rails
|
20
|
+
end
|
21
|
+
|
22
|
+
require 'cucumber/rails/rspec'
|
23
|
+
require 'webrat/core/matchers'
|