Created
July 22, 2010 18:49
-
-
Save wincent/486407 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# | |
# create a new Rails app | |
# | |
# | |
$ cd /tmp | |
$ rails --version | |
Rails 3.0.0.beta4 | |
$ rails new demo | |
create | |
create README | |
create Rakefile | |
create config.ru | |
create .gitignore | |
create Gemfile | |
create app | |
create app/controllers/application_controller.rb | |
create app/helpers/application_helper.rb | |
create app/views/layouts/application.html.erb | |
create app/models | |
create config | |
create config/routes.rb | |
create config/application.rb | |
create config/environment.rb | |
create config/environments | |
create config/environments/development.rb | |
create config/environments/production.rb | |
create config/environments/test.rb | |
create config/initializers | |
create config/initializers/backtrace_silencers.rb | |
create config/initializers/inflections.rb | |
create config/initializers/mime_types.rb | |
create config/initializers/secret_token.rb | |
create config/initializers/session_store.rb | |
create config/locales | |
create config/locales/en.yml | |
create config/boot.rb | |
create config/database.yml | |
create db | |
create db/seeds.rb | |
create doc | |
create doc/README_FOR_APP | |
create lib | |
create lib/tasks | |
create lib/tasks/.gitkeep | |
create log | |
create log/server.log | |
create log/production.log | |
create log/development.log | |
create log/test.log | |
create public | |
create public/404.html | |
create public/422.html | |
create public/500.html | |
create public/favicon.ico | |
create public/index.html | |
create public/robots.txt | |
create public/images | |
create public/images/rails.png | |
create public/stylesheets | |
create public/stylesheets/.gitkeep | |
create public/javascripts | |
create public/javascripts/application.js | |
create public/javascripts/controls.js | |
create public/javascripts/dragdrop.js | |
create public/javascripts/effects.js | |
create public/javascripts/prototype.js | |
create public/javascripts/rails.js | |
create script | |
create script/rails | |
create test | |
create test/performance/browsing_test.rb | |
create test/test_helper.rb | |
create test/fixtures | |
create test/functional | |
create test/integration | |
create test/unit | |
create tmp | |
create tmp/sessions | |
create tmp/sockets | |
create tmp/cache | |
create tmp/pids | |
create vendor/plugins | |
create vendor/plugins/.gitkeep | |
$ cd demo | |
# | |
# | |
# set up the Gemfile | |
# | |
# | |
$ cat > Gemfile <<HERE | |
source 'http://rubygems.org' | |
platforms :ruby18 do | |
gem 'rails', '3.0.0.beta4' | |
gem 'sqlite3-ruby', :require => 'sqlite3' | |
group :development do | |
gem 'rspec-rails', '>= 2.0.0.beta.18' | |
end | |
group :test do | |
gem 'capybara', :git => 'git://github.com/jnicklas/capybara.git' | |
gem 'culerity' | |
gem 'database_cleaner' | |
gem 'mongrel' | |
gem 'steak', :git => 'git://github.com/cavalle/steak.git' | |
end | |
end | |
platforms :jruby do | |
group :test do | |
gem 'celerity', '>= 0.8.0.beta.2' | |
gem 'jruby-openssl' | |
end | |
end | |
HERE | |
# | |
# | |
# install bundle under MRI (had to CTRL-C and retry 3 times due to timeouts) | |
# | |
# | |
$ bundle --version | |
Bundler version 1.0.0.beta.9 | |
$ bundle install | |
Fetching git://github.com/jnicklas/capybara.git | |
remote: Counting objects: 4288, done. | |
remote: Compressing objects: 100% (1482/1482), done. | |
remote: Total 4288 (delta 2926), reused 4047 (delta 2785) | |
Receiving objects: 100% (4288/4288), 5.46 MiB | 623 KiB/s, done. | |
Resolving deltas: 100% (2926/2926), done. | |
Updating git://github.com/cavalle/steak.git | |
Fetching source index for http://rubygems.org/ | |
Using rake (0.8.7) | |
Using abstract (1.0.0) | |
Using activesupport (3.0.0.beta4) | |
Using builder (2.1.2) | |
Using i18n (0.4.1) | |
Using activemodel (3.0.0.beta4) | |
Using erubis (2.6.6) | |
Using rack (1.1.0) | |
Using rack-mount (0.6.9) | |
Using rack-test (0.5.4) | |
Using tzinfo (0.3.22) | |
Using actionpack (3.0.0.beta4) | |
Using mime-types (1.16) | |
Using polyglot (0.3.1) | |
Using treetop (1.4.8) | |
Using mail (2.2.5) | |
Using actionmailer (3.0.0.beta4) | |
Using arel (0.4.0) | |
Using activerecord (3.0.0.beta4) | |
Using activeresource (3.0.0.beta4) | |
Using bundler (1.0.0.beta.9) | |
Using culerity (0.2.10) | |
Using nokogiri (1.4.2) | |
Using ffi (0.6.3) | |
Using json_pure (1.4.3) | |
^C | |
^C^C^C^C^C^C | |
Quitting... | |
$ bundle check | |
The git source git://github.com/jnicklas/capybara.git is not yet checked out. Please run `bundle install` before trying to start your application | |
$ bundle install | |
Updating git://github.com/jnicklas/capybara.git | |
Updating git://github.com/cavalle/steak.git | |
Fetching source index for http://rubygems.org/ | |
^C | |
Quitting... | |
$ bundle install | |
Updating git://github.com/jnicklas/capybara.git | |
Updating git://github.com/cavalle/steak.git | |
Fetching source index for http://rubygems.org/ | |
Using rake (0.8.7) | |
Using abstract (1.0.0) | |
Using activesupport (3.0.0.beta4) | |
Using builder (2.1.2) | |
Using i18n (0.4.1) | |
Using activemodel (3.0.0.beta4) | |
Using erubis (2.6.6) | |
Using rack (1.1.0) | |
Using rack-mount (0.6.9) | |
Using rack-test (0.5.4) | |
Using tzinfo (0.3.22) | |
Using actionpack (3.0.0.beta4) | |
Using mime-types (1.16) | |
Using polyglot (0.3.1) | |
Using treetop (1.4.8) | |
Using mail (2.2.5) | |
Using actionmailer (3.0.0.beta4) | |
Using arel (0.4.0) | |
Using activerecord (3.0.0.beta4) | |
Using activeresource (3.0.0.beta4) | |
Using bundler (1.0.0.beta.9) | |
Using culerity (0.2.10) | |
Using nokogiri (1.4.2) | |
Using ffi (0.6.3) | |
Using json_pure (1.4.3) | |
Installing rubyzip (0.9.4) | |
Installing selenium-webdriver (0.0.27) | |
Using capybara (0.3.9) from git://github.com/jnicklas/capybara.git (at master) | |
Using database_cleaner (0.5.2) | |
Using diff-lcs (1.1.2) | |
Installing thor (0.13.8) | |
Using railties (3.0.0.beta4) | |
Using rails (3.0.0.beta4) | |
Using rspec-core (2.0.0.beta.18) | |
Using rspec-expectations (2.0.0.beta.18) | |
Using rspec-mocks (2.0.0.beta.18) | |
Using rspec (2.0.0.beta.18) | |
Using webrat (0.7.1) | |
Installing rspec-rails (2.0.0.beta.18) | |
Using sqlite3-ruby (1.3.1) | |
Using steak (0.4.0.beta.1) from git://github.com/cavalle/steak.git (at master) | |
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. | |
$ bundle check | |
The Gemfile's dependencies are satisfied | |
# | |
# | |
# package into vendor/cache | |
# | |
# | |
$ bundle package | |
Using rake (0.8.7) | |
Using abstract (1.0.0) | |
Using activesupport (3.0.0.beta4) | |
Using builder (2.1.2) | |
Using i18n (0.4.1) | |
Using activemodel (3.0.0.beta4) | |
Using erubis (2.6.6) | |
Using rack (1.1.0) | |
Using rack-mount (0.6.9) | |
Using rack-test (0.5.4) | |
Using tzinfo (0.3.22) | |
Using actionpack (3.0.0.beta4) | |
Using mime-types (1.16) | |
Using polyglot (0.3.1) | |
Using treetop (1.4.8) | |
Using mail (2.2.5) | |
Using actionmailer (3.0.0.beta4) | |
Using arel (0.4.0) | |
Using activerecord (3.0.0.beta4) | |
Using activeresource (3.0.0.beta4) | |
Using culerity (0.2.10) | |
Using nokogiri (1.4.2) | |
Using ffi (0.6.3) | |
Using json_pure (1.4.3) | |
Using rubyzip (0.9.4) | |
Using selenium-webdriver (0.0.27) | |
Using capybara (0.3.9) from git://github.com/jnicklas/capybara.git (at master) | |
Using database_cleaner (0.5.2) | |
Using diff-lcs (1.1.2) | |
Using bundler (1.0.0.beta.9) | |
Using thor (0.13.8) | |
Using railties (3.0.0.beta4) | |
Using rails (3.0.0.beta4) | |
Using rspec-core (2.0.0.beta.18) | |
Using rspec-expectations (2.0.0.beta.18) | |
Using rspec-mocks (2.0.0.beta.18) | |
Using rspec (2.0.0.beta.18) | |
Using webrat (0.7.1) | |
Using rspec-rails (2.0.0.beta.18) | |
Using sqlite3-ruby (1.3.1) | |
Using steak (0.4.0.beta.1) from git://github.com/cavalle/steak.git (at master) | |
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. | |
Updating .gem files in vendor/cache | |
* rake-0.8.7.gem | |
* abstract-1.0.0.gem | |
* activesupport-3.0.0.beta4.gem | |
* builder-2.1.2.gem | |
* i18n-0.4.1.gem | |
* activemodel-3.0.0.beta4.gem | |
* erubis-2.6.6.gem | |
* rack-1.1.0.gem | |
* rack-mount-0.6.9.gem | |
* rack-test-0.5.4.gem | |
* tzinfo-0.3.22.gem | |
* actionpack-3.0.0.beta4.gem | |
* mime-types-1.16.gem | |
* polyglot-0.3.1.gem | |
* treetop-1.4.8.gem | |
* mail-2.2.5.gem | |
* actionmailer-3.0.0.beta4.gem | |
* arel-0.4.0.gem | |
* activerecord-3.0.0.beta4.gem | |
* activeresource-3.0.0.beta4.gem | |
* culerity-0.2.10.gem | |
* nokogiri-1.4.2.gem | |
* ffi-0.6.3.gem | |
* json_pure-1.4.3.gem | |
* rubyzip-0.9.4.gem | |
* selenium-webdriver-0.0.27.gem | |
* database_cleaner-0.5.2.gem | |
* diff-lcs-1.1.2.gem | |
* thor-0.13.8.gem | |
* railties-3.0.0.beta4.gem | |
* rails-3.0.0.beta4.gem | |
* rspec-core-2.0.0.beta.18.gem | |
* rspec-expectations-2.0.0.beta.18.gem | |
* rspec-mocks-2.0.0.beta.18.gem | |
* rspec-2.0.0.beta.18.gem | |
* webrat-0.7.1.gem | |
* rspec-rails-2.0.0.beta.18.gem | |
* sqlite3-ruby-1.3.1.gem | |
# | |
# | |
# now on the JRuby side | |
# | |
# | |
$ jruby -S bundle --version | |
Bundler version 1.0.0.beta.9 | |
$ jruby -S bundle install | |
Using celerity (0.8.0.beta.2) | |
Using jruby-openssl (0.7) | |
Using bundler (1.0.0.beta.9) | |
Updating .gem files in vendor/cache | |
* celerity-0.8.0.beta.2.gem | |
* jruby-openssl-0.7.gem | |
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. | |
# | |
# | |
# set up RSpec, Steak | |
# | |
# | |
$ rails g rspec:install | |
create .rspec | |
create spec | |
create spec/spec_helper.rb | |
create autotest | |
create autotest/discover.rb | |
$ rails g steak:install | |
Defaulting to Capybara... | |
create spec/controllers | |
create spec/acceptance/support | |
exist lib/tasks | |
create spec/acceptance/acceptance_helper.rb | |
create spec/acceptance/support/helpers.rb | |
create spec/acceptance/support/paths.rb | |
create lib/tasks/steak.rake | |
# | |
# | |
# make binstubs | |
# | |
# | |
$ bundle install --binstubs | |
Using rake (0.8.7) | |
Using abstract (1.0.0) | |
Using activesupport (3.0.0.beta4) | |
Using builder (2.1.2) | |
Using i18n (0.4.1) | |
Using activemodel (3.0.0.beta4) | |
Using erubis (2.6.6) | |
Using rack (1.1.0) | |
Using rack-mount (0.6.9) | |
Using rack-test (0.5.4) | |
Using tzinfo (0.3.22) | |
Using actionpack (3.0.0.beta4) | |
Using mime-types (1.16) | |
Using polyglot (0.3.1) | |
Using treetop (1.4.8) | |
Using mail (2.2.5) | |
Using actionmailer (3.0.0.beta4) | |
Using arel (0.4.0) | |
Using activerecord (3.0.0.beta4) | |
Using activeresource (3.0.0.beta4) | |
Using culerity (0.2.10) | |
Using nokogiri (1.4.2) | |
Using ffi (0.6.3) | |
Using json_pure (1.4.3) | |
Using rubyzip (0.9.4) | |
Using selenium-webdriver (0.0.27) | |
Using capybara (0.3.9) from git://github.com/jnicklas/capybara.git (at master) | |
Using database_cleaner (0.5.2) | |
Using diff-lcs (1.1.2) | |
Using bundler (1.0.0.beta.9) | |
Using thor (0.13.8) | |
Using railties (3.0.0.beta4) | |
Using rails (3.0.0.beta4) | |
Using rspec-core (2.0.0.beta.18) | |
Using rspec-expectations (2.0.0.beta.18) | |
Using rspec-mocks (2.0.0.beta.18) | |
Using rspec (2.0.0.beta.18) | |
Using webrat (0.7.1) | |
Using rspec-rails (2.0.0.beta.18) | |
Using sqlite3-ruby (1.3.1) | |
Using steak (0.4.0.beta.1) from git://github.com/cavalle/steak.git (at master) | |
Updating .gem files in vendor/cache | |
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. | |
# | |
# | |
# confirm RSpec is working | |
# | |
# | |
$ bin/rspec spec | |
Finished in 0.00003 seconds | |
0 examples, 0 failures | |
# | |
# | |
# make a scaffold to play with | |
# | |
# | |
$ bin/rails g scaffold post | |
invoke active_record | |
create db/migrate/20100722181401_create_posts.rb | |
create app/models/post.rb | |
invoke rspec | |
create spec/models/post_spec.rb | |
route resources :posts | |
invoke scaffold_controller | |
create app/controllers/posts_controller.rb | |
invoke erb | |
create app/views/posts | |
create app/views/posts/index.html.erb | |
create app/views/posts/edit.html.erb | |
create app/views/posts/show.html.erb | |
create app/views/posts/new.html.erb | |
create app/views/posts/_form.html.erb | |
invoke rspec | |
create spec/controllers/posts_controller_spec.rb | |
create spec/views/posts/edit.html.erb_spec.rb | |
create spec/views/posts/index.html.erb_spec.rb | |
create spec/views/posts/new.html.erb_spec.rb | |
create spec/views/posts/show.html.erb_spec.rb | |
invoke helper | |
create spec/helpers/posts_helper_spec.rb | |
create spec/routing/posts_routing_spec.rb | |
invoke rspec | |
create spec/requests/posts_spec.rb | |
invoke helper | |
create app/helpers/posts_helper.rb | |
invoke rspec | |
invoke stylesheets | |
create public/stylesheets/scaffold.css | |
$ bin/rake RAILS_ENV=test db:migrate | |
(in /private/tmp/demo) | |
== CreatePosts: migrating ==================================================== | |
-- create_table(:posts) | |
-> 0.0008s | |
== CreatePosts: migrated (0.0009s) =========================================== | |
# | |
# | |
# confirm RSpec still working | |
# | |
# | |
$ bin/rspec spec | |
...............**............ | |
Finished in 0.36877 seconds | |
29 examples, 0 failures, 2 pending | |
Pending: | |
PostsHelper add some examples to (or delete) /private/tmp/demo/spec/helpers/posts_helper_spec.rb | |
# Not Yet Implemented | |
# ./spec/helpers/posts_helper_spec.rb:14 | |
Post add some examples to (or delete) /private/tmp/demo/spec/models/post_spec.rb | |
# Not Yet Implemented | |
# ./spec/models/post_spec.rb:4 | |
# | |
# | |
# make an acceptance spec which uses Culerity/Celerity | |
# | |
# | |
$ echo 'Capybara.current_driver = :culerity' > spec/acceptance/support/capybara.rb | |
$ cat > spec/acceptance/demo_spec.rb <<HERE | |
require File.expand_path('acceptance_helper', File.dirname(__FILE__)) | |
feature 'hanging' do | |
scenario 'visiting' do | |
visit '/posts' | |
page.should have_content('Listing posts') | |
end | |
end | |
HERE | |
# | |
# | |
# watch it explode | |
# | |
# | |
$ bin/rspec spec/acceptance | |
F | |
Finished in 5.42 seconds | |
1 example, 1 failure | |
1) hanging visiting | |
Failure/Error: visit '/posts' | |
(eval):1:in `process_result': compile error | |
(eval):1: Invalid char `\033' in expression | |
(eval):1: syntax error, unexpected tIDENTIFIER, expecting ']' | |
Could not find celerity-0.8.0.beta.2 in any of the sources | |
^ | |
# /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:50:in `process_result' | |
# /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:40:in `eval' | |
# /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:50:in `process_result' | |
# /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:40:in `send_remote' | |
# /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_object_proxy.rb:25:in `method_missing' | |
# /Library/Ruby/Gems/1.8/gems/culerity-0.2.10/lib/culerity/remote_browser_proxy.rb:8:in `initialize' | |
# /Users/wincent/.bundle/bundler/gems/capybara-c6edcf7/lib/capybara/driver/culerity_driver.rb:17:in `new' | |
# /Users/wincent/.bundle/bundler/gems/capybara-c6edcf7/lib/capybara/driver/culerity_driver.rb:17:in `browser' | |
# /Users/wincent/.bundle/bundler/gems/capybara-c6edcf7/lib/capybara/driver/celerity_driver.rb:97:in `visit' | |
# /Users/wincent/.bundle/bundler/gems/capybara-c6edcf7/lib/capybara/session.rb:134:in `visit' | |
# /Users/wincent/.bundle/bundler/gems/capybara-c6edcf7/lib/capybara/dsl.rb:93:in `visit' | |
# ./spec/acceptance/demo_spec.rb:4 | |
# /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `inject' | |
# | |
# | |
# double check the bundle on the JRuby side | |
# | |
# | |
$ jruby -S bundle check | |
The Gemfile's dependencies are satisfied | |
$ jruby -S bundle show | |
Gems included by the bundle: | |
* bundler (1.0.0.beta.9) | |
* celerity (0.8.0.beta.2) | |
* jruby-openssl (0.7) | |
$ jruby -S bundle show celerity | |
/usr/local/jruby-1.5.1/lib/ruby/gems/1.8/gems/celerity-0.8.0.beta.2 | |
$ jruby -S gem list | |
*** LOCAL GEMS *** | |
bundler (1.0.0.beta.9, 1.0.0.beta.8) | |
celerity (0.8.0.beta.2) | |
jruby-openssl (0.7) | |
rubygems-update (1.3.7) | |
# | |
# | |
# suppress '-rbundler/setup' from RUBYOPT | |
# | |
# | |
$ cat >> spec/spec_helper.rb <<HERE | |
if ENV['RUBYOPT'] | |
ENV['RUBYOPT'] = ENV['RUBYOPT'].gsub(%r{-r\s*bundler/setup}, '') | |
end | |
HERE | |
# | |
# | |
# now it works | |
# | |
# | |
$ bin/rspec spec/acceptance | |
. | |
Finished in 5.96 seconds | |
1 example, 0 failures |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ cd /tmp | |
$ rails new demo | |
$ cd demo | |
$ cat > Gemfile <<HERE | |
source 'http://rubygems.org' | |
platforms :ruby18 do | |
gem 'rails', '3.0.0.beta4' | |
gem 'sqlite3-ruby', :require => 'sqlite3' | |
group :development do | |
gem 'rspec-rails', '>= 2.0.0.beta.18' | |
end | |
group :test do | |
gem 'capybara', :git => 'git://github.com/jnicklas/capybara.git' | |
gem 'culerity' | |
gem 'database_cleaner' | |
gem 'mongrel' | |
gem 'steak', :git => 'git://github.com/cavalle/steak.git' | |
end | |
end | |
platforms :jruby do | |
group :test do | |
gem 'celerity', '>= 0.8.0.beta.2' | |
gem 'jruby-openssl' | |
end | |
end | |
HERE | |
$ bundle install | |
$ bundle package | |
$ jruby -S bundle install | |
$ rails g rspec:install | |
$ rails g steak:install | |
$ bundle install --binstubs | |
$ bin/rails g scaffold post | |
$ bin/rake RAILS_ENV=test db:migrate | |
$ echo 'Capybara.current_driver = :culerity' > spec/acceptance/support/capybara.rb | |
$ cat > spec/acceptance/demo_spec.rb <<HERE | |
require File.expand_path('acceptance_helper', File.dirname(__FILE__)) | |
feature 'hanging' do | |
scenario 'visiting' do | |
visit '/posts' | |
page.should have_content('Listing posts') | |
end | |
end | |
HERE | |
$ bin/rspec spec/acceptance | |
$ cat >> spec/spec_helper.rb <<HERE | |
if ENV['RUBYOPT'] | |
ENV['RUBYOPT'] = ENV['RUBYOPT'].gsub(%r{-r\s*bundler/setup}, '') | |
end | |
HERE | |
$ bin/rspec spec/acceptance |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I have been having the same problem with cucumber for ages, finally switched to selenium to get around it, but this worked great. I just had to add the RUBYOPT stuff to my env.rb file and cucumber worked with culerity again. Thanks!