chemistrykit 3.3.1 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.rspec CHANGED
@@ -1,2 +1,6 @@
1
1
  --color
2
2
  --format progress
3
+ --format documentation
4
+ --out build/spec/manual_run.log
5
+ --format html
6
+ --out build/spec/manual_run.html
@@ -3,3 +3,4 @@ rvm:
3
3
  - 1.9.3
4
4
  notifications:
5
5
  hipchat: 2a07784c1aeed1b6efa332242d3fc3@Regulation Station
6
+ email: false
@@ -1,3 +1,17 @@
1
+ #3.4.0 (2013-07-14)
2
+ upgrade to use new selenium connect and integrated sauce lab job failures screenshots and ci reporting
3
+
4
+ - small patch to the rake file
5
+ - Bumped version to 3.4.0 to prepare for release.
6
+ - updated sc to fix bug
7
+ - updated tests to look for job assets on concurency
8
+ - updated cli to use the new sc with test pass or fail and screenshot grab
9
+ - updated selenium connect to latest version
10
+ - updated rake file for ckit readme update and standard title format on readme
11
+ - updated build process to use standard rspec convention and added coverage and spec reporting
12
+ - turned off travis email notifications
13
+ - added dynamic naming for sauce runs, and a dump of the video url on failure
14
+
1
15
  #3.3.1 (2013-07-11)
2
16
  Fixed bugs related to tagging and alternate configuration files in concurrent runs
3
17
 
@@ -0,0 +1,5 @@
1
+ guard :rspec do
2
+ watch(%r{^spec/unit/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/unit/lib/#{m[1]}_spec.rb" }
4
+ watch('spec/spec_helper.rb') { "spec" }
5
+ end
data/README.md CHANGED
@@ -1,11 +1,6 @@
1
- [![Gem Version](https://badge.fury.io/rb/chemistrykit.png)](http://badge.fury.io/rb/chemistrykit)
2
- [![Code Climate](https://codeclimate.com/github/arrgyle/chemistrykit.png)](https://codeclimate.com/github/arrgyle/chemistrykit)
1
+ #ChemistryKit 3.4.0 (2013-07-14)
3
2
 
4
- Master branch: [![Build Status](https://travis-ci.org/arrgyle/chemistrykit.png?branch=master)](https://travis-ci.org/jrobertfox/chef-broiler-platter)
5
-
6
- Develop branch: [![Build Status](https://travis-ci.org/arrgyle/chemistrykit.png?branch=develop)](https://travis-ci.org/jrobertfox/chef-broiler-platter)
7
-
8
- #ChemistryKit
3
+ [![Gem Version](https://badge.fury.io/rb/chemistrykit.png)](http://badge.fury.io/rb/chemistrykit) [![Build Status](https://travis-ci.org/arrgyle/chemistrykit.png?branch=develop)](https://travis-ci.org/jrobertfox/chef-broiler-platter) [![Code Climate](https://codeclimate.com/github/arrgyle/chemistrykit.png)](https://codeclimate.com/github/arrgyle/chemistrykit) [![Coverage Status](https://coveralls.io/repos/arrgyle/chemistrykit/badge.png?branch=develop)](https://coveralls.io/r/arrgyle/chemistrykit?branch=develop)
9
4
 
10
5
  ### A simple and opinionated web testing framework for Selenium WebDriver
11
6
 
@@ -105,6 +100,8 @@ You can even nest them inside different describe/context blocks and they will ge
105
100
  ###Logs and CI Integration
106
101
  Each run of Chemistry Kit saves logging and test output to the _evidence_ directory by default. And in there will be the full set of JUnit Ant XML files that may be consumed by your CI.
107
102
 
103
+ We also output an attachment message to stdout allowing you to use [this plugin](https://wiki.jenkins-ci.org/display/JENKINS/JUnit+Attachments+Plugin) for integrating the files with jenkins!
104
+
108
105
  ##Configuration
109
106
  ChemistryKit is configured by default with a `config.yaml` file that is created for you when you scaffold out a test harness. Relevant configuration options are detailed below:
110
107
 
data/Rakefile CHANGED
@@ -5,26 +5,40 @@ require 'cucumber'
5
5
  require 'cucumber/rake/task'
6
6
  require 'rspec/core/rake_task'
7
7
 
8
- task default: :build_ci
8
+ task default: :build
9
9
 
10
10
  desc 'Runs standard build activities.'
11
- task build: [:clean, :prepare, :rubocop, :spec, :cucumber]
11
+ task build: [:clean, :prepare, :rubocop, :unit, :integration]
12
12
 
13
13
  desc 'Runs standard build activities for ci server.'
14
- task build_ci: [:clean, :prepare, :rubocop, :spec]
14
+ task build_full: [:clean, :prepare, :rubocop, :unit, :integration, :system]
15
15
 
16
16
  desc 'Removes the build directory.'
17
17
  task :clean do
18
18
  FileUtils.rm_rf('build')
19
19
  end
20
+
20
21
  desc 'Adds the build tmp directory for test kit creation.'
21
22
  task :prepare do
22
23
  FileUtils.mkdir_p('build/tmp')
24
+ FileUtils.mkdir_p('build/spec')
25
+ end
26
+
27
+ def get_rspec_flags(log_name, others = nil)
28
+ "--format documentation --out build/spec/#{log_name}.log --format html --out build/spec/#{log_name}.html --format progress #{others}"
23
29
  end
24
30
 
25
- RSpec::Core::RakeTask.new(:spec)
31
+ RSpec::Core::RakeTask.new(:unit) do |t|
32
+ t.pattern = FileList['spec/unit/**/*_spec.rb']
33
+ t.rspec_opts = get_rspec_flags('unit')
34
+ end
35
+
36
+ RSpec::Core::RakeTask.new(:integration) do |t|
37
+ t.pattern = FileList['spec/integration/**/*_spec.rb']
38
+ t.rspec_opts = get_rspec_flags('integration')
39
+ end
26
40
 
27
- Cucumber::Rake::Task.new(:cucumber)
41
+ Cucumber::Rake::Task.new(:system)
28
42
 
29
43
  desc 'Runs code quality check'
30
44
  task :rubocop do
@@ -48,7 +62,7 @@ task :release_start, :version do |t, args|
48
62
  system 'git pull --no-edit origin develop'
49
63
 
50
64
  # next assure all the tests run
51
- task(:build).invoke
65
+ task(:build_full).invoke
52
66
 
53
67
  # start the release process
54
68
  system "git flow release start #{version}"
@@ -75,6 +89,8 @@ task :release_finish, :update_message do |t, args|
75
89
  gemspec = File.join(Dir.getwd, 'chemistrykit.gemspec')
76
90
  changelog = File.join(Dir.getwd, 'CHANGELOG.md')
77
91
  version = File.read(gemspec).match(/s.version\s+=\s?["|'](.+)["|']/)[1]
92
+ readme = File.join(Dir.getwd, 'README.md')
93
+ date = Time.new.strftime('%Y-%m-%d')
78
94
 
79
95
  ### Changelog
80
96
  # get the latest tag
@@ -88,7 +104,7 @@ task :release_finish, :update_message do |t, args|
88
104
  log = `git log --format="- %s" --no-merges #{hash.chomp}..HEAD`
89
105
 
90
106
  changelog_contents = File.read(changelog)
91
- date = Time.new.strftime('%Y-%m-%d')
107
+
92
108
  # create the new heading
93
109
  updated_changelog = "##{version} (#{date})\n" + message + "\n\n" + log + "\n" + changelog_contents
94
110
  # update the contents
@@ -102,8 +118,15 @@ task :release_finish, :update_message do |t, args|
102
118
  )
103
119
  File.open(gemspec, 'w') { |f| f.write(updated_gemspec) }
104
120
 
105
- # Commit the updated change log and gemspec
106
- system "git commit -am 'Updated CHANGELOG.md and gemspec for #{version} release.'"
121
+ ### Update the readme heading
122
+ updated = File.read(readme).gsub(
123
+ /^#ChemistryKit \d+\.\d+.\d+ \(.+\)/,
124
+ "#ChemistryKit #{version} (#{date})"
125
+ )
126
+ File.open(readme, 'w') { |f| f.write(updated) }
127
+
128
+ # Commit the updated change log and gemspec and readme
129
+ system "git commit -am 'Updated CHANGELOG.md gemspec and readme heading for #{version} release.'"
107
130
 
108
131
  # build the gem
109
132
  system 'gem build chemistrykit.gemspec'
@@ -1,36 +1,38 @@
1
1
  # Encoding: utf-8
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.name = "chemistrykit"
5
- s.version = "3.3.1"
4
+ s.name = 'chemistrykit'
5
+ s.version = '3.4.0'
6
6
  s.platform = Gem::Platform::RUBY
7
- s.authors = ["Dave Haeffner", "Jason Fox"]
8
- s.email = ["dave@arrgyle.com", "jason@arrgyle.com"]
9
- s.homepage = "https://github.com/arrgyle/chemistrykit"
10
- s.summary = "A simple and opinionated web testing framework for Selenium that follows convention over configuration."
11
- s.description = "Fixed bugs related to tagging and alternate configuration files in concurrent runs"
7
+ s.authors = ['Dave Haeffner', 'Jason Fox']
8
+ s.email = ['dave@arrgyle.com', 'jason@arrgyle.com']
9
+ s.homepage = 'https://github.com/arrgyle/chemistrykit'
10
+ s.summary = 'A simple and opinionated web testing framework for Selenium that follows convention over configuration.'
11
+ s.description = 'upgrade to use new selenium connect and integrated sauce lab job failures screenshots and ci reporting'
12
12
  s.license = 'MIT'
13
13
 
14
14
  s.files = `git ls-files`.split($/)
15
15
  s.files.reject! { |file| file.include? '.jar' }
16
16
  s.test_files = s.files.grep(%r{^(scripts|spec|features)/})
17
17
  s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
- s.require_paths = ["lib"]
18
+ s.require_paths = ['lib']
19
19
 
20
20
  s.required_ruby_version = '>=1.9'
21
21
 
22
- s.add_dependency "thor", "~> 0.17.0"
23
- s.add_dependency "rspec", "~> 2.13.0"
24
- s.add_dependency "yarjuf", "~> 1.0.5"
25
- s.add_dependency "selenium-webdriver", "~> 2.29.0"
26
- s.add_dependency "rest-client", "~> 1.6.7"
27
- s.add_dependency "selenium-connect", "~> 2.2.0"
28
- s.add_dependency "parallel_tests", "~> 0.15.0"
29
- s.add_dependency "parallel", "~> 0.7.0"
22
+ s.add_dependency 'thor', '~> 0.17.0'
23
+ s.add_dependency 'rspec', '~> 2.14.1'
24
+ s.add_dependency 'yarjuf', '~> 1.0.5'
25
+ s.add_dependency 'selenium-webdriver', '~> 2.29.0'
26
+ s.add_dependency 'rest-client', '~> 1.6.7'
27
+ s.add_dependency 'selenium-connect', '~> 3.1.1'
28
+ s.add_dependency 'parallel_tests', '~> 0.15.0'
29
+ s.add_dependency 'parallel', '~> 0.7.0'
30
30
 
31
- s.add_development_dependency "rspec", "~> 2.13.0"
32
- s.add_development_dependency "aruba", "~> 0.5.1"
33
- s.add_development_dependency "cucumber", "~> 1.2.1"
34
- s.add_development_dependency "rake", "~> 10.0.3"
35
- s.add_development_dependency "rubocop", "~> 0.9.0"
31
+ s.add_development_dependency 'rspec', '~> 2.14.1'
32
+ s.add_development_dependency 'aruba', '~> 0.5.1'
33
+ s.add_development_dependency 'cucumber', '~> 1.2.1'
34
+ s.add_development_dependency 'rake', '~> 10.0.3'
35
+ s.add_development_dependency 'rubocop', '~> 0.9.0'
36
+ s.add_development_dependency 'guard-rspec', '~> 3.0.2'
37
+ s.add_development_dependency 'coveralls', '~> 0.6.7'
36
38
  end
@@ -43,7 +43,6 @@ Feature: Brewing a ChemistryKit project
43
43
  | evidence/results_junit.xml |
44
44
  | evidence/server.log |
45
45
 
46
-
47
46
  Scenario: Saucelabs
48
47
  Given a file named "config.yaml" with:
49
48
  """
@@ -100,3 +99,31 @@ Feature: Brewing a ChemistryKit project
100
99
  When I run `ckit brew --all`
101
100
  Then the stdout should contain "2 examples, 0 failures"
102
101
 
102
+ Scenario: Saucelabs
103
+ Given a file named "config.yaml" with:
104
+ """
105
+ selenium_connect:
106
+ log: 'evidence'
107
+ host: 'saucelabs'
108
+ browser: 'iexplore'
109
+ os: 'windows 2003'
110
+ sauce_username: 'testing_arrgyle'
111
+ sauce_api_key: 'ab7a6e17-16df-42d2-9ef6-c8d2539cc38a'
112
+ browser_version: '8'
113
+ description: 'ckit feature check'
114
+ """
115
+ And a file named "beakers/failure.rb" with:
116
+ """
117
+ describe "Failing", :depth => 'shallow' do
118
+ it "loads an external web page" do
119
+ @driver.get "http://www.google.com"
120
+ @driver.title.should_not include("Google")
121
+ end
122
+ end
123
+ """
124
+ When I run `ckit brew --beakers=beakers/failure.rb`
125
+ Then the stdout should contain "1 example, 1 failure"
126
+ And the stdout should contain "[[ATTACHEMENT|/Users/jfox/development/arrgyle/chemistrykit/build/tmp/booker/evidence/"
127
+ And there should be "1" "failed image" log files in "evidence"
128
+ And there should be "1" "report" log files in "evidence"
129
+ And there should be "1" "sauce log" log files in "evidence"
@@ -97,3 +97,5 @@ Feature: Support for concurency
97
97
  Then the stdout should not contain "All examples were filtered out"
98
98
  And the stdout should not contain "0 examples, 0 failures"
99
99
  And there should be "4" unique results files in the "evidence" directory
100
+ And there should be "5" "report" log files in "evidence"
101
+ And there should be "5" "sauce log" log files in "evidence"
@@ -19,3 +19,19 @@ Then(/^there should be "(.*?)" unique results files in the "(.*?)" directory$/)
19
19
  end
20
20
  count.should == number_files.to_i
21
21
  end
22
+
23
+ Then(/^there should be "(.*?)" "(.*?)" log files in "(.*?)"$/) do |number, type, logs_path|
24
+ files = Dir.glob(File.join(current_dir, logs_path, '*.*'))
25
+ count = 0
26
+ files.each do |file|
27
+ case type
28
+ when 'failed image'
29
+ count += 1 if file =~ /failed_.+\.png/
30
+ when 'report'
31
+ count += 1 if file =~ /report_.+\.log/
32
+ when 'sauce log'
33
+ count += 1 if file =~ /sauce_job_.+\.log/
34
+ end
35
+ end
36
+ count.should == number.to_i
37
+ end
@@ -9,7 +9,7 @@ require 'chemistrykit/cli/beaker'
9
9
  require 'chemistrykit/cli/helpers/formula_loader'
10
10
  require 'chemistrykit/catalyst'
11
11
  require 'chemistrykit/formula/base'
12
- require 'selenium-connect'
12
+ require 'selenium_connect'
13
13
  require 'chemistrykit/configuration'
14
14
  require 'parallel_tests'
15
15
  require 'chemistrykit/parallel_tests_mods'
@@ -152,10 +152,8 @@ module ChemistryKit
152
152
  end unless selected_tags.nil?
153
153
  end
154
154
 
155
+ # rubocop:disable MethodLength
155
156
  def rspec_config(config) # Some of these bits work and others don't
156
- SeleniumConnect.configure do |c|
157
- c.populate_with_hash config.selenium_connect
158
- end
159
157
  RSpec.configure do |c|
160
158
  c.treat_symbols_as_metadata_keys_with_true_values = true
161
159
  unless options[:all]
@@ -165,10 +163,34 @@ module ChemistryKit
165
163
  c.before(:all) do
166
164
  @config = config # set the config available globaly
167
165
  ENV['BASE_URL'] = config.base_url # assign base url to env variable for formulas
166
+ sc_config = SeleniumConnect::Configuration.new
167
+ sc_config.populate_with_hash config.selenium_connect
168
+ @sc = SeleniumConnect.start sc_config # fire up a connection to SC
169
+ end
170
+ c.around(:each) do |example|
171
+ @job = @sc.create_job # create a new job
172
+ @driver = @job.start name: example.metadata[:full_description]
173
+ example.run
174
+ end
175
+ c.after(:each) do
176
+ if example.exception != nil
177
+ report = @job.finish failed: true, failshot: true
178
+ else
179
+ report = @job.finish passed: true
180
+ end
181
+ @sc.finish
182
+
183
+ # TODO absctract this out into some report handler class
184
+ data = report.data
185
+ unless data.empty?
186
+ report_file = File.join(Dir.getwd, config.log.path, "report_#{data[:sauce_data][:id]}.log")
187
+ File.open(report_file, 'w') { |file| file.write(data.to_s) }
188
+ puts "\n[[ATTACHEMENT|#{report_file}]]\n"
189
+ end
190
+ puts "\n[[ATTACHEMENT|#{File.join(Dir.getwd, config.log.path, data[:failshot])}]]\n" if data[:failshot]
191
+ puts "\n[[ATTACHEMENT|#{File.join(Dir.getwd, config.log.path, data[:server_log])}]]\n" if data[:server_log]
192
+ ###
168
193
  end
169
- c.before(:each) { @driver = SeleniumConnect.start }
170
- c.after(:each) { @driver.quit }
171
- c.after(:all) { SeleniumConnect.finish }
172
194
  c.order = 'random'
173
195
  c.default_path = 'beakers'
174
196
  c.pattern = '**/*_beaker.rb'
@@ -179,6 +201,7 @@ module ChemistryKit
179
201
  end
180
202
  end
181
203
  end
204
+ # rubocop:enable MethodLength
182
205
 
183
206
  def run_in_parallel(beakers, concurrency, tags, options)
184
207
  unless options[:all]
@@ -192,7 +215,6 @@ module ChemistryKit
192
215
  def run_rspec(beakers)
193
216
  RSpec::Core::Runner.run(beakers)
194
217
  end
195
-
196
218
  end # CkitCLI
197
219
  end # CLI
198
220
  end # ChemistryKit
@@ -6,16 +6,27 @@
6
6
  # loaded once.
7
7
  #
8
8
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
- #
9
+
10
+ require 'simplecov'
11
+ require 'coveralls'
10
12
  require 'rubygems'
11
13
  require 'bundler/setup'
12
14
  require 'fileutils'
15
+
13
16
  # not sure it this is the right way to include all the files under test.
14
17
  require_relative '../lib/chemistrykit/cli/helpers/formula_loader'
15
18
  require_relative '../lib/chemistrykit/formula/base'
16
19
  require_relative '../lib/chemistrykit/catalyst'
17
20
  require_relative '../lib/chemistrykit/configuration'
18
21
 
22
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
23
+ SimpleCov::Formatter::HTMLFormatter,
24
+ Coveralls::SimpleCov::Formatter
25
+ ]
26
+ SimpleCov.start do
27
+ coverage_dir 'build/coverage'
28
+ end
29
+
19
30
  TEST_TMP_PATH = File.join(Dir.pwd, 'build', 'tmp')
20
31
 
21
32
  RSpec.configure do |config|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chemistrykit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-11 00:00:00.000000000 Z
13
+ date: 2013-07-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor
@@ -35,7 +35,7 @@ dependencies:
35
35
  requirements:
36
36
  - - ~>
37
37
  - !ruby/object:Gem::Version
38
- version: 2.13.0
38
+ version: 2.14.1
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  requirements:
44
44
  - - ~>
45
45
  - !ruby/object:Gem::Version
46
- version: 2.13.0
46
+ version: 2.14.1
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: yarjuf
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -99,7 +99,7 @@ dependencies:
99
99
  requirements:
100
100
  - - ~>
101
101
  - !ruby/object:Gem::Version
102
- version: 2.2.0
102
+ version: 3.1.1
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
@@ -107,7 +107,7 @@ dependencies:
107
107
  requirements:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
- version: 2.2.0
110
+ version: 3.1.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: parallel_tests
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -147,7 +147,7 @@ dependencies:
147
147
  requirements:
148
148
  - - ~>
149
149
  - !ruby/object:Gem::Version
150
- version: 2.13.0
150
+ version: 2.14.1
151
151
  type: :development
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
@@ -155,7 +155,7 @@ dependencies:
155
155
  requirements:
156
156
  - - ~>
157
157
  - !ruby/object:Gem::Version
158
- version: 2.13.0
158
+ version: 2.14.1
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: aruba
161
161
  requirement: !ruby/object:Gem::Requirement
@@ -220,8 +220,40 @@ dependencies:
220
220
  - - ~>
221
221
  - !ruby/object:Gem::Version
222
222
  version: 0.9.0
223
- description: Fixed bugs related to tagging and alternate configuration files in concurrent
224
- runs
223
+ - !ruby/object:Gem::Dependency
224
+ name: guard-rspec
225
+ requirement: !ruby/object:Gem::Requirement
226
+ none: false
227
+ requirements:
228
+ - - ~>
229
+ - !ruby/object:Gem::Version
230
+ version: 3.0.2
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ none: false
235
+ requirements:
236
+ - - ~>
237
+ - !ruby/object:Gem::Version
238
+ version: 3.0.2
239
+ - !ruby/object:Gem::Dependency
240
+ name: coveralls
241
+ requirement: !ruby/object:Gem::Requirement
242
+ none: false
243
+ requirements:
244
+ - - ~>
245
+ - !ruby/object:Gem::Version
246
+ version: 0.6.7
247
+ type: :development
248
+ prerelease: false
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ none: false
251
+ requirements:
252
+ - - ~>
253
+ - !ruby/object:Gem::Version
254
+ version: 0.6.7
255
+ description: upgrade to use new selenium connect and integrated sauce lab job failures
256
+ screenshots and ci reporting
225
257
  email:
226
258
  - dave@arrgyle.com
227
259
  - jason@arrgyle.com
@@ -230,6 +262,7 @@ executables:
230
262
  extensions: []
231
263
  extra_rdoc_files: []
232
264
  files:
265
+ - .coveralls.yml
233
266
  - .gitignore
234
267
  - .rspec
235
268
  - .rubocop.yml
@@ -239,6 +272,7 @@ files:
239
272
  - CHANGELOG.md
240
273
  - CONTRIBUTORS.md
241
274
  - Gemfile
275
+ - Guardfile
242
276
  - LICENSE
243
277
  - README.md
244
278
  - Rakefile
@@ -276,12 +310,13 @@ files:
276
310
  - lib/templates/chemistrykit/formulas/lib/catalysts/.gitkeep
277
311
  - lib/templates/chemistrykit/formulas/lib/formula.rb
278
312
  - lib/templates/formula.tt
279
- - spec/chemistrykit/catalyst_spec.rb
280
- - spec/chemistrykit/cli/helpers/formula_loader_spec.rb
281
- - spec/chemistrykit/configuration_spec.rb
282
- - spec/chemistrykit/formula/base_spec.rb
313
+ - spec/integration/lib/chemistrykit/.gitkeep
283
314
  - spec/spec_helper.rb
284
315
  - spec/support/config.yaml
316
+ - spec/unit/lib/chemistrykit/catalyst_spec.rb
317
+ - spec/unit/lib/chemistrykit/cli/helpers/formula_loader_spec.rb
318
+ - spec/unit/lib/chemistrykit/configuration_spec.rb
319
+ - spec/unit/lib/chemistrykit/formula/base_spec.rb
285
320
  homepage: https://github.com/arrgyle/chemistrykit
286
321
  licenses:
287
322
  - MIT
@@ -303,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
303
338
  version: '0'
304
339
  segments:
305
340
  - 0
306
- hash: 2304816470703574176
341
+ hash: 4250055921726185008
307
342
  requirements: []
308
343
  rubyforge_project:
309
344
  rubygems_version: 1.8.25
@@ -324,9 +359,10 @@ test_files:
324
359
  - features/step_definitions/steps.rb
325
360
  - features/support/env.rb
326
361
  - features/tags.feature
327
- - spec/chemistrykit/catalyst_spec.rb
328
- - spec/chemistrykit/cli/helpers/formula_loader_spec.rb
329
- - spec/chemistrykit/configuration_spec.rb
330
- - spec/chemistrykit/formula/base_spec.rb
362
+ - spec/integration/lib/chemistrykit/.gitkeep
331
363
  - spec/spec_helper.rb
332
364
  - spec/support/config.yaml
365
+ - spec/unit/lib/chemistrykit/catalyst_spec.rb
366
+ - spec/unit/lib/chemistrykit/cli/helpers/formula_loader_spec.rb
367
+ - spec/unit/lib/chemistrykit/configuration_spec.rb
368
+ - spec/unit/lib/chemistrykit/formula/base_spec.rb