squash 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +51 -26
- data/README.markdown +7 -16
- data/bin/squash +8 -5
- data/features/generate_scaffold_application.feature +12 -7
- data/features/run_empty_scaffold_application.feature +1 -2
- data/lib/squash.rb +0 -2
- data/lib/squash/cucumber/env.rb +9 -0
- data/lib/squash/version.rb +1 -1
- data/squash.gemspec +6 -0
- data/template/Gemfile +1 -1
- data/template/config/cucumber.yaml +2 -1
- data/template/features/example.feature +4 -4
- data/template/{step_definitions → features/step_definitions}/example_steps.rb +0 -0
- data/{lib/squash/cucumber → template/features/step_definitions}/web_steps.rb +0 -0
- data/template/{support → features/support}/env.rb +1 -1
- data/template/{support → features/support}/paths.rb +0 -0
- metadata +49 -11
- data/lib/squash/env.rb +0 -6
- data/template/.rvmrc +0 -7
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
squash (0.0.
|
4
|
+
squash (0.0.7)
|
5
5
|
akephalos (= 0.2.4)
|
6
6
|
builder (= 3.0.0)
|
7
7
|
capybara (= 0.3.9)
|
@@ -38,6 +38,7 @@ GEM
|
|
38
38
|
childprocess (~> 0.1.6)
|
39
39
|
cucumber (~> 0.10.0)
|
40
40
|
rspec (~> 2.3.0)
|
41
|
+
bond (0.4.0)
|
41
42
|
builder (3.0.0)
|
42
43
|
capybara (0.3.9)
|
43
44
|
culerity (>= 0.2.4)
|
@@ -48,6 +49,7 @@ GEM
|
|
48
49
|
selenium-webdriver (>= 0.0.3)
|
49
50
|
childprocess (0.1.6)
|
50
51
|
ffi (~> 0.6.3)
|
52
|
+
coderay (0.9.7)
|
51
53
|
cucumber (0.10.0)
|
52
54
|
builder (>= 2.1.2)
|
53
55
|
diff-lcs (~> 1.1.2)
|
@@ -58,8 +60,10 @@ GEM
|
|
58
60
|
diff-lcs (1.1.2)
|
59
61
|
ffi (0.6.3)
|
60
62
|
rake (>= 0.8.7)
|
63
|
+
gem-man (0.2.0)
|
61
64
|
gherkin (2.3.3)
|
62
65
|
json (~> 1.4.6)
|
66
|
+
hirb (0.3.6)
|
63
67
|
jruby-jars (1.5.6)
|
64
68
|
json (1.4.6)
|
65
69
|
json_pure (1.4.6)
|
@@ -69,6 +73,48 @@ GEM
|
|
69
73
|
rack-test (0.5.7)
|
70
74
|
rack (>= 1.0)
|
71
75
|
rake (0.8.7)
|
76
|
+
ripl (0.3.1)
|
77
|
+
bond (~> 0.4.0)
|
78
|
+
ripl-after_rc (0.1.0)
|
79
|
+
ripl (>= 0.2.0)
|
80
|
+
ripl-auto_indent (0.1.3)
|
81
|
+
coderay (~> 0.9)
|
82
|
+
ripl (>= 0.2.6)
|
83
|
+
ripl-multi_line (>= 0.2.0)
|
84
|
+
ripl-color_error (0.1.1)
|
85
|
+
ripl (>= 0.2.0)
|
86
|
+
ripl-color_result (0.2.0)
|
87
|
+
ripl (>= 0.2.8)
|
88
|
+
ripl-color_streams (0.1.2)
|
89
|
+
ripl (>= 0.2.8)
|
90
|
+
ripl-commands (0.2.1)
|
91
|
+
ripl (>= 0.2.9)
|
92
|
+
ripl-multi_line (0.2.2)
|
93
|
+
ripl (>= 0.3.0)
|
94
|
+
ripl-play (0.2.1)
|
95
|
+
ripl (>= 0.3.0)
|
96
|
+
ripl-profiles (0.1.4)
|
97
|
+
ripl (>= 0.2.8)
|
98
|
+
ripl-rocket (0.1.1)
|
99
|
+
ripl (>= 0.3.0)
|
100
|
+
unicode-display_width (>= 0.1.1)
|
101
|
+
ripl-short_errors (0.1.0)
|
102
|
+
ripl (>= 0.2.8)
|
103
|
+
ripltools (0.1.1)
|
104
|
+
gem-man
|
105
|
+
hirb (~> 0.3.5)
|
106
|
+
ripl (~> 0.3.0)
|
107
|
+
ripl-after_rc (~> 0.1.0)
|
108
|
+
ripl-auto_indent (~> 0.1.3)
|
109
|
+
ripl-color_error (~> 0.1.0)
|
110
|
+
ripl-color_result (~> 0.2.0)
|
111
|
+
ripl-color_streams (~> 0.1.2)
|
112
|
+
ripl-commands (~> 0.2.1)
|
113
|
+
ripl-multi_line (~> 0.2.1)
|
114
|
+
ripl-play (~> 0.2.1)
|
115
|
+
ripl-profiles (~> 0.1.2)
|
116
|
+
ripl-rocket (~> 0.1.0)
|
117
|
+
ripl-short_errors (~> 0.1.0)
|
72
118
|
rspec (2.3.0)
|
73
119
|
rspec-core (~> 2.3.0)
|
74
120
|
rspec-expectations (~> 2.3.0)
|
@@ -85,35 +131,14 @@ GEM
|
|
85
131
|
rubyzip
|
86
132
|
syntax (1.0.0)
|
87
133
|
term-ansicolor (1.0.5)
|
134
|
+
unicode-display_width (0.1.1)
|
88
135
|
|
89
136
|
PLATFORMS
|
90
137
|
ruby
|
91
138
|
|
92
139
|
DEPENDENCIES
|
93
|
-
akephalos (= 0.2.4)
|
94
140
|
aruba (= 0.3.2)
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
cucumber (= 0.10.0)
|
99
|
-
culerity (= 0.2.14)
|
100
|
-
diff-lcs (= 1.1.2)
|
101
|
-
ffi (= 0.6.3)
|
102
|
-
gherkin (= 2.3.3)
|
103
|
-
jruby-jars (= 1.5.6)
|
104
|
-
json (= 1.4.6)
|
105
|
-
json_pure (= 1.4.6)
|
106
|
-
mime-types (= 1.16)
|
107
|
-
nokogiri (= 1.4.4)
|
108
|
-
rack (= 1.2.1)
|
109
|
-
rack-test (= 0.5.7)
|
110
|
-
rake (= 0.8.7)
|
111
|
-
rspec (= 2.3.0)
|
112
|
-
rspec-core (= 2.3.1)
|
113
|
-
rspec-expectations (= 2.3.0)
|
114
|
-
rspec-mocks (= 2.3.0)
|
115
|
-
rubyzip (= 0.9.4)
|
116
|
-
selenium-webdriver (= 0.1.2)
|
141
|
+
ripl
|
142
|
+
ripl-multi_line
|
143
|
+
ripltools
|
117
144
|
squash!
|
118
|
-
syntax (= 1.0.0)
|
119
|
-
term-ansicolor (= 1.0.5)
|
data/README.markdown
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Squash
|
2
2
|
|
3
|
-
A generator of
|
3
|
+
A generator of Cucumber applications
|
4
4
|
|
5
5
|
## Description
|
6
6
|
|
7
|
-
This gem generates
|
7
|
+
This gem generates scaffolds for Cucumber web-oriented applications.
|
8
8
|
|
9
9
|
I spent a huge amount of time building Cucumber-based stacks to test my web applications. There are so many options, and sometimes they don't really get together. Should I use Cucumber/RSpec/Webrat/Mechanize, Cucumber/RSpec/Capybara/Selenium, Cucumber/Watir, or what else? How do I solve all the version conflicts that seem to spring out of nowhere when I put these libraries together? How do I wire up all the pieces in a stand-alone, non-Rails application?
|
10
10
|
|
@@ -14,24 +14,15 @@ Squash tries to save some time by generating a Cucumber-powered, Bundler-enabled
|
|
14
14
|
|
15
15
|
Experimental. This is just something that I'm trying out now for my own projects. At the moment, it should (might?) just give you an empty application with a working stack right now.
|
16
16
|
|
17
|
-
##
|
18
|
-
|
19
|
-
sudo gem install squash
|
20
|
-
|
21
|
-
## Generate a Squash application
|
22
|
-
|
23
|
-
squash <application_name>
|
24
|
-
|
25
|
-
Move to the application directory and install the entire stack of gems:
|
26
|
-
|
27
|
-
bundle install
|
28
|
-
|
29
|
-
Now check that the thing is working:
|
17
|
+
## Squash it!
|
30
18
|
|
19
|
+
gem install squash
|
20
|
+
squash create my_app
|
21
|
+
cd my_app
|
31
22
|
bundle exec cucumber
|
32
23
|
|
33
24
|
Time to write your own features!
|
34
25
|
|
35
|
-
## Contribute
|
26
|
+
## Contribute
|
36
27
|
|
37
28
|
* [http://github.com/nusco/squash](http://github.com/nusco/squash)
|
data/bin/squash
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
if ARGV.size != 1
|
6
|
-
puts "Create a new empty application with: squash <application_name>"
|
3
|
+
if ARGV.size != 2 || ARGV[0] != 'create'
|
4
|
+
puts "Create a new empty application with: squash create <application_name>"
|
7
5
|
exit
|
8
6
|
end
|
9
7
|
|
10
|
-
app = ARGV[
|
8
|
+
app = ARGV[1]
|
9
|
+
template_dir = File.expand_path(File.dirname(__FILE__)) + "/../template"
|
10
|
+
|
11
|
+
require 'rubygems'
|
12
|
+
require 'bundler/setup'
|
13
|
+
|
11
14
|
require 'fileutils'
|
12
15
|
FileUtils.mkdir app
|
13
16
|
FileUtils.cp_r "#{template_dir}/.", app
|
@@ -5,16 +5,21 @@ So that I can get up and running quick
|
|
5
5
|
|
6
6
|
Scenario: Generate scaffold application
|
7
7
|
Given I'm in an empty directory
|
8
|
-
When I run "bundle exec squash clickmonkey"
|
8
|
+
When I run "bundle exec squash create clickmonkey"
|
9
9
|
Then the output should contain "Created Squash application: clickmonkey"
|
10
|
-
And a file named "clickmonkey/
|
10
|
+
And a file named "clickmonkey/features/example.feature" should exist
|
11
11
|
|
12
|
-
Scenario: No
|
12
|
+
Scenario: No argument to "squash"
|
13
13
|
Given I'm in an empty directory
|
14
14
|
When I run "bundle exec squash"
|
15
|
-
Then the output should contain "Create a new empty application with: squash <application_name>"
|
15
|
+
Then the output should contain "Create a new empty application with: squash create <application_name>"
|
16
16
|
|
17
|
-
Scenario:
|
17
|
+
Scenario: No argument to "squash create"
|
18
18
|
Given I'm in an empty directory
|
19
|
-
When I run "bundle exec squash
|
20
|
-
Then the output should contain "Create a new empty application with: squash <application_name>"
|
19
|
+
When I run "bundle exec squash create"
|
20
|
+
Then the output should contain "Create a new empty application with: squash create <application_name>"
|
21
|
+
|
22
|
+
Scenario: More than two arguments to "squash create"
|
23
|
+
Given I'm in an empty directory
|
24
|
+
When I run "bundle exec squash create one two"
|
25
|
+
Then the output should contain "Create a new empty application with: squash create <application_name>"
|
@@ -5,8 +5,7 @@ So that I can verify that the entire stack works
|
|
5
5
|
|
6
6
|
Scenario: Run example
|
7
7
|
Given I'm in an empty directory
|
8
|
-
When I run "bundle exec squash clickmonkey"
|
8
|
+
When I run "bundle exec squash create clickmonkey"
|
9
9
|
And I cd to "clickmonkey"
|
10
|
-
And I successfully run "bundle check"
|
11
10
|
And I run "bundle exec cucumber"
|
12
11
|
Then the output should contain "1 scenario (1 passed)"
|
data/lib/squash.rb
CHANGED
data/lib/squash/version.rb
CHANGED
data/squash.gemspec
CHANGED
@@ -17,6 +17,9 @@ Gem::Specification.new do |s|
|
|
17
17
|
|
18
18
|
s.rubyforge_project = "nowarning" # FIXME: any way around this?
|
19
19
|
|
20
|
+
# FIXME: how do I make sure that the user has bundler installed w/o getting into a deps loop?
|
21
|
+
#s.add_dependency 'bundler'
|
22
|
+
|
20
23
|
s.add_dependency 'akephalos', '0.2.4'
|
21
24
|
s.add_dependency 'builder', '3.0.0'
|
22
25
|
s.add_dependency 'capybara', '0.3.9'
|
@@ -46,6 +49,9 @@ Gem::Specification.new do |s|
|
|
46
49
|
s.rubyforge_project = "nowarning" # FIXME: any way around this?
|
47
50
|
|
48
51
|
s.add_development_dependency 'aruba', '0.3.2'
|
52
|
+
s.add_development_dependency 'ripl'
|
53
|
+
s.add_development_dependency 'ripl-multi_line'
|
54
|
+
s.add_development_dependency 'ripltools'
|
49
55
|
|
50
56
|
# s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
|
51
57
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
data/template/Gemfile
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
# FIXME: add examples
|
2
|
+
default: --quiet
|
@@ -3,9 +3,9 @@ As a developer
|
|
3
3
|
I want an example Squash feature
|
4
4
|
So that I can see what it looks like
|
5
5
|
|
6
|
+
@javascript
|
6
7
|
Scenario: Go to the web and click around a bit
|
7
8
|
Given I am on http://www.rubygems.org
|
8
|
-
When I
|
9
|
-
And I
|
10
|
-
|
11
|
-
Then I should see "test"
|
9
|
+
When I jump up and down with joy
|
10
|
+
And I follow "Browse the Docs"
|
11
|
+
Then I should see "The RubyGems bookshelf"
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 7
|
9
|
+
version: 0.0.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Paolo "Nusco" Perrotta
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-29 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -406,6 +406,45 @@ dependencies:
|
|
406
406
|
type: :development
|
407
407
|
prerelease: false
|
408
408
|
version_requirements: *id026
|
409
|
+
- !ruby/object:Gem::Dependency
|
410
|
+
name: ripl
|
411
|
+
requirement: &id027 !ruby/object:Gem::Requirement
|
412
|
+
none: false
|
413
|
+
requirements:
|
414
|
+
- - ">="
|
415
|
+
- !ruby/object:Gem::Version
|
416
|
+
segments:
|
417
|
+
- 0
|
418
|
+
version: "0"
|
419
|
+
type: :development
|
420
|
+
prerelease: false
|
421
|
+
version_requirements: *id027
|
422
|
+
- !ruby/object:Gem::Dependency
|
423
|
+
name: ripl-multi_line
|
424
|
+
requirement: &id028 !ruby/object:Gem::Requirement
|
425
|
+
none: false
|
426
|
+
requirements:
|
427
|
+
- - ">="
|
428
|
+
- !ruby/object:Gem::Version
|
429
|
+
segments:
|
430
|
+
- 0
|
431
|
+
version: "0"
|
432
|
+
type: :development
|
433
|
+
prerelease: false
|
434
|
+
version_requirements: *id028
|
435
|
+
- !ruby/object:Gem::Dependency
|
436
|
+
name: ripltools
|
437
|
+
requirement: &id029 !ruby/object:Gem::Requirement
|
438
|
+
none: false
|
439
|
+
requirements:
|
440
|
+
- - ">="
|
441
|
+
- !ruby/object:Gem::Version
|
442
|
+
segments:
|
443
|
+
- 0
|
444
|
+
version: "0"
|
445
|
+
type: :development
|
446
|
+
prerelease: false
|
447
|
+
version_requirements: *id029
|
409
448
|
description: This gem generates scaffold for Squashes - stand-alone Cucumber applications to test web apps. See (link)
|
410
449
|
email: paolo.nusco.perrotta@gmail.com
|
411
450
|
executables:
|
@@ -429,17 +468,16 @@ files:
|
|
429
468
|
- features/step_definitions/squash_steps.rb
|
430
469
|
- features/support/env.rb
|
431
470
|
- lib/squash.rb
|
432
|
-
- lib/squash/cucumber/
|
433
|
-
- lib/squash/env.rb
|
471
|
+
- lib/squash/cucumber/env.rb
|
434
472
|
- lib/squash/version.rb
|
435
473
|
- squash.gemspec
|
436
|
-
- template/.rvmrc
|
437
474
|
- template/Gemfile
|
438
475
|
- template/config/cucumber.yaml
|
439
476
|
- template/features/example.feature
|
440
|
-
- template/step_definitions/example_steps.rb
|
441
|
-
- template/
|
442
|
-
- template/support/
|
477
|
+
- template/features/step_definitions/example_steps.rb
|
478
|
+
- template/features/step_definitions/web_steps.rb
|
479
|
+
- template/features/support/env.rb
|
480
|
+
- template/features/support/paths.rb
|
443
481
|
has_rdoc: true
|
444
482
|
homepage: https://github.com/nusco/squash
|
445
483
|
licenses: []
|
@@ -454,7 +492,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
454
492
|
requirements:
|
455
493
|
- - ">="
|
456
494
|
- !ruby/object:Gem::Version
|
457
|
-
hash:
|
495
|
+
hash: -3516658002129855529
|
458
496
|
segments:
|
459
497
|
- 0
|
460
498
|
version: "0"
|
@@ -463,7 +501,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
463
501
|
requirements:
|
464
502
|
- - ">="
|
465
503
|
- !ruby/object:Gem::Version
|
466
|
-
hash:
|
504
|
+
hash: -3516658002129855529
|
467
505
|
segments:
|
468
506
|
- 0
|
469
507
|
version: "0"
|
data/lib/squash/env.rb
DELETED
data/template/.rvmrc
DELETED