chemistrykit 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -3,7 +3,7 @@
3
3
  .bundle
4
4
  pkg/*
5
5
  tags
6
- tmp/
6
+ build
7
7
  Gemfile.lock
8
8
 
9
9
  # Installed gems
data/README.md CHANGED
@@ -6,9 +6,9 @@ ChemistryKit
6
6
 
7
7
  ### A simple and opinionated web testing framework for Selenium WebDriver
8
8
 
9
- This framework was designed to help you get started with Selenium WebDriver quickly, to grow as needed, and to avoid common pitfalls by following convention over configuration.
9
+ This framework was designed to help you get started with Selenium WebDriver quickly, to grow as needed, and to avoid common pitfalls by following convention over configuration.
10
10
 
11
- ChemistryKit's inspiration comes from the Saunter Selenium framework which is available in Python and PHP. You can find more about it [here](http://element34.ca/products/saunter).
11
+ ChemistryKit's inspiration comes from the Saunter Selenium framework which is available in Python and PHP. You can find more about it [here](http://element34.ca/products/saunter).
12
12
 
13
13
  ## Getting Started
14
14
 
@@ -30,3 +30,11 @@ This will run ckit and execute your beakers. By default it will run the tests lo
30
30
  ## Contributing
31
31
 
32
32
  This project conforms to the [neverstopbuilding/craftsmanship](https://github.com/neverstopbuilding/craftsmanship) guidelines. Please see them for details.
33
+
34
+ ### Install Dependencies
35
+
36
+ bundle install
37
+
38
+ ### Run rake task to test code
39
+
40
+ rake build
data/Rakefile CHANGED
@@ -1 +1,18 @@
1
1
  require "bundler/gem_tasks"
2
+ require "cucumber"
3
+ require "cucumber/rake/task"
4
+ require 'rspec/core/rake_task'
5
+
6
+ task :default => [:build]
7
+
8
+ desc 'Runs standard build activities.'
9
+ task :build => [:clean, :spec, :cucumber]
10
+
11
+ desc 'Removes the build directory.'
12
+ task :clean do
13
+ FileUtils.rm_rf('build');
14
+ end
15
+
16
+ RSpec::Core::RakeTask.new(:spec)
17
+
18
+ Cucumber::Rake::Task.new(:cucumber)
data/bin/ckit CHANGED
@@ -2,4 +2,13 @@
2
2
 
3
3
  require 'chemistrykit'
4
4
 
5
- ChemistryKit::CLI::CKitCLI.start
5
+ ckit_result = ChemistryKit::CLI::CKitCLI.start
6
+
7
+ # Had difficulties getting Thor to return a proper exit status on failure
8
+ # Will need to revisit
9
+
10
+ if ckit_result.is_a? Array
11
+ exit 0
12
+ else
13
+ exit ckit_result
14
+ end
@@ -1,12 +1,12 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "chemistrykit"
3
- s.version = "1.1.1"
3
+ s.version = "1.2.0"
4
4
  s.platform = Gem::Platform::RUBY
5
- s.authors = ["Dave Haeffner", "Jason Wieringa"]
6
- s.email = ["dave@arrgyle.com", "jason@arrgyle.com"]
5
+ s.authors = ["Dave Haeffner"]
6
+ s.email = ["dave@arrgyle.com"]
7
7
  s.homepage = "https://github.com/arrgyle/chemistrykit"
8
8
  s.summary = "A simple and opinionated web testing framework for Selenium that follows convention over configuration."
9
- s.description = "Bumping to new version of selenium-connect to account for breaking changes in sauce gem usage."
9
+ s.description = "Fixing a bug with exit status codes not returning properly on failure. And bumping to a new version of selenium-connect to get better logging and access to GhostDriver/PhantomJS."
10
10
  s.license = 'MIT'
11
11
 
12
12
  s.files = `git ls-files`.split($/)
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency "selenium-webdriver", "~> 2.29.0"
22
22
  s.add_dependency "ci_reporter", "~> 1.8.3"
23
23
  s.add_dependency "rest-client", "~> 1.6.7"
24
- s.add_dependency "selenium-connect", "~> 1.8.1"
24
+ s.add_dependency "selenium-connect", "~> 1.9.0"
25
25
 
26
26
  s.add_development_dependency "rspec", "~> 2.12.0"
27
27
  s.add_development_dependency "aruba", "~> 0.5.1"
@@ -0,0 +1,31 @@
1
+ Feature: Exit Status
2
+
3
+ Background:
4
+ Given I run `ckit new cheese`
5
+ And I cd to "cheese"
6
+
7
+ Scenario: Passing
8
+ And a file named "beaker/test_beaker.rb" with:
9
+ """
10
+ describe "Cheese", :depth => 'shallow' do
11
+ it "loads an external web page" do
12
+ @driver.get "http://www.google.com"
13
+ @driver.title.should include("Google")
14
+ end
15
+ end
16
+ """
17
+ When I run `ckit brew`
18
+ Then the exit code should be 0
19
+
20
+ Scenario: Failing
21
+ And a file named "beaker/test_beaker.rb" with:
22
+ """
23
+ describe "Cheese", :depth => 'shallow' do
24
+ it "loads an external web page" do
25
+ @driver.get "http://www.google.com"
26
+ @driver.title.should_not include("Google")
27
+ end
28
+ end
29
+ """
30
+ When I run `ckit brew`
31
+ Then the exit code should be 1
@@ -3,8 +3,8 @@ Feature: ckit new
3
3
  Run "ckit new <project_name>" to generate a new ChemistryKit project
4
4
 
5
5
  Background: Running ckit new
6
- When I run `bundle exec ckit new booker`
7
- And I cd to "booker"
6
+ When I run `bundle exec ckit new new-project`
7
+ And I cd to "new-project"
8
8
 
9
9
  @announce
10
10
  Scenario: Test Harness is created
@@ -0,0 +1,10 @@
1
+ When /^I overwrite ([^"]*) with:$/ do |file_name, file_content|
2
+ #Modified from https://github.com/cucumber/aruba/blob/master/lib/aruba/cucumber.rb
3
+ require 'erb'
4
+ data = ERB.new(file_content)
5
+ overwrite_file(file_name, data.result)
6
+ end
7
+
8
+ Then(/^the exit code should be (\d+)$/) do |exit_status|
9
+ $?.exitstatus.should == exit_status.to_i
10
+ end
@@ -2,5 +2,5 @@ require 'aruba/cucumber'
2
2
 
3
3
  Before do
4
4
  @aruba_timeout_seconds = 90
5
- @dirs = ["tmp"]
5
+ @dirs = ["build/tmp"]
6
6
  end
@@ -14,6 +14,7 @@ module ChemistryKit
14
14
  end
15
15
 
16
16
  class CKitCLI < Thor
17
+
17
18
  register(ChemistryKit::CLI::New, 'new', 'new [NAME]', 'Creates a new ChemistryKit project')
18
19
  check_unknown_options!
19
20
  default_task :help
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chemistrykit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Dave Haeffner
9
- - Jason Wieringa
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-06-09 00:00:00.000000000 Z
12
+ date: 2013-06-19 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: thor
@@ -99,7 +98,7 @@ dependencies:
99
98
  requirements:
100
99
  - - ~>
101
100
  - !ruby/object:Gem::Version
102
- version: 1.8.1
101
+ version: 1.9.0
103
102
  type: :runtime
104
103
  prerelease: false
105
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -107,7 +106,7 @@ dependencies:
107
106
  requirements:
108
107
  - - ~>
109
108
  - !ruby/object:Gem::Version
110
- version: 1.8.1
109
+ version: 1.9.0
111
110
  - !ruby/object:Gem::Dependency
112
111
  name: rspec
113
112
  requirement: !ruby/object:Gem::Requirement
@@ -172,11 +171,11 @@ dependencies:
172
171
  - - ~>
173
172
  - !ruby/object:Gem::Version
174
173
  version: 10.0.3
175
- description: Bumping to new version of selenium-connect to account for breaking changes
176
- in sauce gem usage.
174
+ description: Fixing a bug with exit status codes not returning properly on failure.
175
+ And bumping to a new version of selenium-connect to get better logging and access
176
+ to GhostDriver/PhantomJS.
177
177
  email:
178
178
  - dave@arrgyle.com
179
- - jason@arrgyle.com
180
179
  executables:
181
180
  - ckit
182
181
  extensions:
@@ -195,8 +194,9 @@ files:
195
194
  - chemistrykit.gemspec
196
195
  - ext/mkrf_conf.rb
197
196
  - features/brew.feature
197
+ - features/exit_status.feature
198
198
  - features/new.feature
199
- - features/step_definitions/modified_steps.rb
199
+ - features/step_definitions/steps.rb
200
200
  - features/support/env.rb
201
201
  - lib/chemistrykit.rb
202
202
  - lib/chemistrykit/cli/beaker.rb
@@ -214,7 +214,6 @@ files:
214
214
  - lib/templates/chemistrykit/formulas/.gitkeep
215
215
  - lib/templates/formula.tt
216
216
  - readme2.md
217
- - spec/chemistrykit/cli_spec.rb
218
217
  homepage: https://github.com/arrgyle/chemistrykit
219
218
  licenses:
220
219
  - MIT
@@ -243,7 +242,7 @@ summary: A simple and opinionated web testing framework for Selenium that follow
243
242
  convention over configuration.
244
243
  test_files:
245
244
  - features/brew.feature
245
+ - features/exit_status.feature
246
246
  - features/new.feature
247
- - features/step_definitions/modified_steps.rb
247
+ - features/step_definitions/steps.rb
248
248
  - features/support/env.rb
249
- - spec/chemistrykit/cli_spec.rb
@@ -1,7 +0,0 @@
1
- require 'erb'
2
-
3
- #Modified from https://github.com/cucumber/aruba/blob/master/lib/aruba/cucumber.rb
4
- When /^I overwrite ([^"]*) with:$/ do |file_name, file_content|
5
- data = ERB.new(file_content)
6
- overwrite_file(file_name, data.result)
7
- end
@@ -1,9 +0,0 @@
1
- module ChemistryKit
2
- describe CLI do
3
- it "should return new project" do
4
- cli = ChemistryKit::CLI.start
5
- new = CLI.new
6
- new = "new"
7
- end
8
- end
9
- end