squash 0.0.6 → 0.0.7
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/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