cuke-island 0.0.3
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 +8 -0
- data/Rakefile +9 -0
- data/bin/cuke-island +4 -0
- data/features/search.feature.off +10 -0
- data/features/step_definitions/web_steps.rb +59 -0
- data/features/support/env.rb +13 -0
- data/lib/cuke_island.rb +53 -0
- metadata +149 -0
data/Gemfile
ADDED
data/Rakefile
ADDED
data/bin/cuke-island
ADDED
@@ -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)
|
data/lib/cuke_island.rb
ADDED
@@ -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: []
|