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 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: []