cuke-island 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source "http://rubygems.org"
2
+
3
+ group(:test) do
4
+ gem 'cucumber'
5
+ gem 'capybara'
6
+ gem 'capybara-webkit'
7
+ gem 'rspec'
8
+ end
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ require 'rubygems'
2
+ require 'cucumber'
3
+ require 'cucumber/rake/task'
4
+
5
+ task :default => 'features'
6
+
7
+ Cucumber::Rake::Task.new(:features) do |t|
8
+ t.cucumber_opts = "--format pretty" # Any valid command line option can go here.
9
+ end
data/bin/cuke-island ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'cuke_island'
4
+ CukeIsland.start
@@ -0,0 +1,10 @@
1
+ Feature: Search
2
+ In order to find pages on the web
3
+ As an information seeker
4
+ I want to be able to search using keywords
5
+
6
+ Scenario: Search for cucumber
7
+ Given I am on the home page
8
+ And I have entered "cucumber bdd" into the "q" field
9
+ When I click the "Search" button
10
+ Then I should see "Cucumber - Making BDD fun"
@@ -0,0 +1,59 @@
1
+ Given /^I am on (.+)$/ do |path|
2
+ visit path
3
+ end
4
+
5
+ When /^I go to (.*)$/ do |path|
6
+ visit path
7
+ end
8
+
9
+ Given /^I have entered "([^"]*)" into the "([^"]*)" field$/ do |text, field|
10
+ fill_in field, :with => text
11
+ end
12
+
13
+ When /^I fill in "(.*)" with "(.*)"$/ do |field, value|
14
+ fill_in(field, :with => value)
15
+ end
16
+
17
+ When /^I select "(.*)" from "(.*)"$/ do |value, field|
18
+ select(value, :from => field)
19
+ end
20
+
21
+ When /^I check "(.*)"$/ do |field|
22
+ check(field)
23
+ end
24
+
25
+ When /^I uncheck "(.*)"$/ do |field|
26
+ uncheck(field)
27
+ end
28
+
29
+ When /^I choose "(.*)"$/ do |field|
30
+ choose(field)
31
+ end
32
+
33
+ Then /^I should see "(.*)"$/ do |text|
34
+ page.body.to_s.should =~ /#{text}/m
35
+ end
36
+
37
+ Then /^I should not see "(.*)"$/ do |text|
38
+ page.body.to_s.should_not =~ /#{text}/m
39
+ end
40
+
41
+ When /^I sign in as "(.*?)"$/ do |arg1|
42
+ fill_in("username", :with => arg1.split("/")[0])
43
+ fill_in("password", :with => arg1.split("/")[1])
44
+ click_button('Login')
45
+ end
46
+
47
+ When /^I sign into facebook as "(.*?)"$/ do |arg1|
48
+ fill_in("email", :with => arg1.split("/")[0])
49
+ fill_in("pass", :with => arg1.split("/")[1])
50
+ click_button('Log In')
51
+ end
52
+
53
+ When /^I click the "([^"]*)" link$/ do |link_text|
54
+ click_link link_text
55
+ end
56
+
57
+ When /^I click the "([^"]*)" button$/ do |button_text|
58
+ click_button button_text
59
+ end
@@ -0,0 +1,13 @@
1
+ begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
2
+ require 'capybara'
3
+ require 'capybara/dsl'
4
+ require 'capybara/cucumber'
5
+ require 'capybara-webkit'
6
+ Capybara.default_driver = :webkit
7
+ #Capybara.app_host = 'http://www.google.com'
8
+ Capybara.register_driver :chrome do |app|
9
+ Capybara::Selenium::Driver.new(app, :browser => :chrome)
10
+ end
11
+
12
+ Capybara.javascript_driver = :chrome
13
+ World(Capybara)
@@ -0,0 +1,53 @@
1
+ require 'rubygems'
2
+ require 'thor'
3
+ require 'thor/group'
4
+ require 'fileutils'
5
+
6
+ class CukeIsland < Thor::Group
7
+ include Thor::Actions
8
+
9
+ VERSION = "0.0.3"
10
+
11
+ argument :dir_name
12
+
13
+ def self.source_root
14
+ File.join(File.dirname(__FILE__), '..', 'features')
15
+ end
16
+
17
+ def create_new_cucumber_directory
18
+ self.destination_root = File.expand_path(dir_name, destination_root)
19
+ make_empty_directory
20
+ FileUtils.cd(destination_root)
21
+ gemfile_rake
22
+ features_directory_and_files
23
+ inside '.' do
24
+ run 'bundle install'
25
+ end
26
+ end
27
+
28
+ protected
29
+
30
+ def make_empty_directory
31
+ empty_directory '.'
32
+ end
33
+
34
+ def features_directory_and_files
35
+ empty_directory 'features'
36
+
37
+ inside 'features' do
38
+ template '../search.feature.off', 'search.feature.sample'
39
+ empty_directory 'support'
40
+ template '../support/env.rb', 'support/env.rb'
41
+ empty_directory 'step_definitions'
42
+ template '../step_definitions/web_steps.rb', 'step_definitions/web_steps.rb'
43
+ end
44
+ end
45
+
46
+ def gemfile_rake
47
+ inside destination_root do
48
+ template '../Gemfile', 'Gemfile'
49
+ template '../Rakefile', "Rakefile"
50
+ end
51
+ end
52
+
53
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cuke-island
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Paul Scarrone
9
+ - Todd Huss
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-02-28 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: thor
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - '='
21
+ - !ruby/object:Gem::Version
22
+ version: 0.17.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - '='
29
+ - !ruby/object:Gem::Version
30
+ version: 0.17.0
31
+ - !ruby/object:Gem::Dependency
32
+ name: rake
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - '='
37
+ - !ruby/object:Gem::Version
38
+ version: 10.0.3
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - '='
45
+ - !ruby/object:Gem::Version
46
+ version: 10.0.3
47
+ - !ruby/object:Gem::Dependency
48
+ name: capybara
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.0.2
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - '='
61
+ - !ruby/object:Gem::Version
62
+ version: 2.0.2
63
+ - !ruby/object:Gem::Dependency
64
+ name: cucumber
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - '='
69
+ - !ruby/object:Gem::Version
70
+ version: 1.2.1
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - '='
77
+ - !ruby/object:Gem::Version
78
+ version: 1.2.1
79
+ - !ruby/object:Gem::Dependency
80
+ name: capybara-webkit
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - '='
85
+ - !ruby/object:Gem::Version
86
+ version: 0.14.2
87
+ type: :runtime
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - '='
93
+ - !ruby/object:Gem::Version
94
+ version: 0.14.2
95
+ - !ruby/object:Gem::Dependency
96
+ name: rspec
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - '='
101
+ - !ruby/object:Gem::Version
102
+ version: 2.13.0
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 2.13.0
111
+ description: Standalone generator for a standalone cucumber capybara chrome test enviroment
112
+ email: paul.scarrone@gmail.com
113
+ executables:
114
+ - cuke-island
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - bin/cuke-island
119
+ - lib/cuke_island.rb
120
+ - Gemfile
121
+ - Rakefile
122
+ - features/search.feature.off
123
+ - features/step_definitions/web_steps.rb
124
+ - features/support/env.rb
125
+ homepage: https://github.com/ninjapanzer/cuke-capy-chrome
126
+ licenses: []
127
+ post_install_message:
128
+ rdoc_options: []
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ! '>='
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ requirements: []
144
+ rubyforge_project:
145
+ rubygems_version: 1.8.24
146
+ signing_key:
147
+ specification_version: 3
148
+ summary: Standalone webdriver
149
+ test_files: []