kicker 2.3.1 → 2.4.0

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.
@@ -0,0 +1,6 @@
1
+ rvm:
2
+ - 1.9.3
3
+ - 1.9.2
4
+ - 1.8.7
5
+
6
+ script: "rake"
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'rake'
4
+
5
+ group :development do
6
+ gem 'mocha'
7
+ gem 'test-spec'
8
+ gem 'activesupport'
9
+ gem 'rb-fsevent'
10
+ gem 'jeweler'
11
+ end
@@ -0,0 +1,34 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activesupport (3.2.1)
5
+ i18n (~> 0.6)
6
+ multi_json (~> 1.0)
7
+ git (1.2.5)
8
+ i18n (0.6.0)
9
+ jeweler (1.8.3)
10
+ bundler (~> 1.0)
11
+ git (>= 1.2.5)
12
+ rake
13
+ rdoc
14
+ json (1.6.5)
15
+ metaclass (0.0.1)
16
+ mocha (0.10.3)
17
+ metaclass (~> 0.0.1)
18
+ multi_json (1.0.4)
19
+ rake (0.9.2.2)
20
+ rb-fsevent (0.9.0)
21
+ rdoc (3.12)
22
+ json (~> 1.4)
23
+ test-spec (0.10.0)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ activesupport
30
+ jeweler
31
+ mocha
32
+ rake
33
+ rb-fsevent
34
+ test-spec
@@ -16,12 +16,12 @@ feel offended; live with it.</i>
16
16
  == The short version
17
17
 
18
18
  Usage: ./bin/kicker [options] [paths to watch]
19
-
20
- Available recipes: active_record, ignore, jstest, rails, ruby.
21
-
19
+
20
+ Available recipes: ignore, jstest, rails, ruby.
21
+
22
22
  -s, --silent Keep output to a minimum.
23
- --[no-]growl Whether or not to use Growl. Default is to use growl.
24
- --growl-command [COMMAND] The command to execute when the Growl succeeded message is clicked.
23
+ -q, --quiet Quiet output. Don't print timestamps when logging.
24
+ -c, --clear Clear console before each run.
25
25
  -l, --latency [FLOAT] The time to collect file change events before acting on them. Defaults to 1 second.
26
26
  -r, --recipe [NAME] A named recipe to load.
27
27
  -e, --execute [COMMAND] The command to execute.
data/Rakefile CHANGED
@@ -17,7 +17,7 @@ begin
17
17
  gem.add_dependency 'rb-fsevent'
18
18
  end
19
19
  rescue LoadError
20
- puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
20
+ puts "Jeweler not available. Install it with: sudo gem install jeweler -s http://gems.github.com"
21
21
  end
22
22
 
23
23
  Rake::TestTask.new do |t|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.4.0
@@ -1,108 +1,105 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{kicker}
8
- s.version = "2.3.1"
8
+ s.version = "2.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Eloy Duran"]
12
- s.date = %q{2011-05-27}
12
+ s.date = %q{2012-02-03}
13
13
  s.default_executable = %q{kicker}
14
14
  s.email = %q{eloy.de.enige@gmail.com}
15
15
  s.executables = ["kicker"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE",
18
- "README.rdoc"
18
+ "README.rdoc"
19
19
  ]
20
20
  s.files = [
21
- ".gitignore",
22
- ".kick",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "TODO.rdoc",
27
- "VERSION",
28
- "bin/kicker",
29
- "html/images/kikker.jpg",
30
- "kicker.gemspec",
31
- "lib/kicker.rb",
32
- "lib/kicker/callback_chain.rb",
33
- "lib/kicker/core_ext.rb",
34
- "lib/kicker/fsevents.rb",
35
- "lib/kicker/growl.rb",
36
- "lib/kicker/log_status_helper.rb",
37
- "lib/kicker/options.rb",
38
- "lib/kicker/recipes.rb",
39
- "lib/kicker/recipes/could_not_handle_file.rb",
40
- "lib/kicker/recipes/dot_kick.rb",
41
- "lib/kicker/recipes/execute_cli_command.rb",
42
- "lib/kicker/recipes/ignore.rb",
43
- "lib/kicker/recipes/jstest.rb",
44
- "lib/kicker/recipes/rails.rb",
45
- "lib/kicker/recipes/ruby.rb",
46
- "lib/kicker/utils.rb",
47
- "test/callback_chain_test.rb",
48
- "test/core_ext_test.rb",
49
- "test/filesystem_change_test.rb",
50
- "test/fixtures/a_file_thats_reloaded.rb",
51
- "test/fsevents_test.rb",
52
- "test/growl_test.rb",
53
- "test/initialization_test.rb",
54
- "test/log_status_helper_test.rb",
55
- "test/options_test.rb",
56
- "test/recipes/could_not_handle_file_test.rb",
57
- "test/recipes/dot_kick_test.rb",
58
- "test/recipes/execute_cli_command_test.rb",
59
- "test/recipes/ignore_test.rb",
60
- "test/recipes/jstest_test.rb",
61
- "test/recipes/rails_test.rb",
62
- "test/recipes/ruby_test.rb",
63
- "test/recipes_test.rb",
64
- "test/test_helper.rb",
65
- "test/utils_test.rb",
66
- "vendor/growlnotifier/growl.rb",
67
- "vendor/growlnotifier/growl_helpers.rb"
21
+ ".kick",
22
+ ".travis.yml",
23
+ "Gemfile",
24
+ "Gemfile.lock",
25
+ "LICENSE",
26
+ "README.rdoc",
27
+ "Rakefile",
28
+ "TODO.rdoc",
29
+ "VERSION",
30
+ "bin/kicker",
31
+ "html/images/kikker.jpg",
32
+ "kicker.gemspec",
33
+ "lib/kicker.rb",
34
+ "lib/kicker/callback_chain.rb",
35
+ "lib/kicker/core_ext.rb",
36
+ "lib/kicker/fsevents.rb",
37
+ "lib/kicker/growl.rb",
38
+ "lib/kicker/log_status_helper.rb",
39
+ "lib/kicker/options.rb",
40
+ "lib/kicker/recipes.rb",
41
+ "lib/kicker/recipes/could_not_handle_file.rb",
42
+ "lib/kicker/recipes/dot_kick.rb",
43
+ "lib/kicker/recipes/execute_cli_command.rb",
44
+ "lib/kicker/recipes/ignore.rb",
45
+ "lib/kicker/recipes/jstest.rb",
46
+ "lib/kicker/recipes/rails.rb",
47
+ "lib/kicker/recipes/ruby.rb",
48
+ "lib/kicker/utils.rb",
49
+ "test/callback_chain_test.rb",
50
+ "test/core_ext_test.rb",
51
+ "test/filesystem_change_test.rb",
52
+ "test/fixtures/a_file_thats_reloaded.rb",
53
+ "test/fsevents_test.rb",
54
+ "test/growl_test.rb",
55
+ "test/initialization_test.rb",
56
+ "test/log_status_helper_test.rb",
57
+ "test/options_test.rb",
58
+ "test/recipes/could_not_handle_file_test.rb",
59
+ "test/recipes/dot_kick_test.rb",
60
+ "test/recipes/execute_cli_command_test.rb",
61
+ "test/recipes/ignore_test.rb",
62
+ "test/recipes/jstest_test.rb",
63
+ "test/recipes/rails_test.rb",
64
+ "test/recipes/ruby_test.rb",
65
+ "test/recipes_test.rb",
66
+ "test/test_helper.rb",
67
+ "test/utils_test.rb",
68
+ "vendor/growlnotifier/growl.rb",
69
+ "vendor/growlnotifier/growl_helpers.rb"
68
70
  ]
69
71
  s.homepage = %q{http://github.com/alloy/kicker}
70
- s.rdoc_options = ["--charset=UTF-8"]
71
72
  s.require_paths = ["lib", "vendor"]
72
- s.rubygems_version = %q{1.3.7}
73
+ s.rubygems_version = %q{1.6.2}
73
74
  s.summary = %q{A lean, agnostic, flexible file-change watcher, using OS X FSEvents.}
74
- s.test_files = [
75
- "test/callback_chain_test.rb",
76
- "test/core_ext_test.rb",
77
- "test/filesystem_change_test.rb",
78
- "test/fixtures/a_file_thats_reloaded.rb",
79
- "test/fsevents_test.rb",
80
- "test/growl_test.rb",
81
- "test/initialization_test.rb",
82
- "test/log_status_helper_test.rb",
83
- "test/options_test.rb",
84
- "test/recipes/could_not_handle_file_test.rb",
85
- "test/recipes/dot_kick_test.rb",
86
- "test/recipes/execute_cli_command_test.rb",
87
- "test/recipes/ignore_test.rb",
88
- "test/recipes/jstest_test.rb",
89
- "test/recipes/rails_test.rb",
90
- "test/recipes/ruby_test.rb",
91
- "test/recipes_test.rb",
92
- "test/test_helper.rb",
93
- "test/utils_test.rb"
94
- ]
95
75
 
96
76
  if s.respond_to? :specification_version then
97
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
98
77
  s.specification_version = 3
99
78
 
100
79
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
80
+ s.add_runtime_dependency(%q<rake>, [">= 0"])
81
+ s.add_development_dependency(%q<mocha>, [">= 0"])
82
+ s.add_development_dependency(%q<test-spec>, [">= 0"])
83
+ s.add_development_dependency(%q<activesupport>, [">= 0"])
84
+ s.add_development_dependency(%q<rb-fsevent>, [">= 0"])
85
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
101
86
  s.add_runtime_dependency(%q<rb-fsevent>, [">= 0"])
102
87
  else
88
+ s.add_dependency(%q<rake>, [">= 0"])
89
+ s.add_dependency(%q<mocha>, [">= 0"])
90
+ s.add_dependency(%q<test-spec>, [">= 0"])
91
+ s.add_dependency(%q<activesupport>, [">= 0"])
92
+ s.add_dependency(%q<rb-fsevent>, [">= 0"])
93
+ s.add_dependency(%q<jeweler>, [">= 0"])
103
94
  s.add_dependency(%q<rb-fsevent>, [">= 0"])
104
95
  end
105
96
  else
97
+ s.add_dependency(%q<rake>, [">= 0"])
98
+ s.add_dependency(%q<mocha>, [">= 0"])
99
+ s.add_dependency(%q<test-spec>, [">= 0"])
100
+ s.add_dependency(%q<activesupport>, [">= 0"])
101
+ s.add_dependency(%q<rb-fsevent>, [">= 0"])
102
+ s.add_dependency(%q<jeweler>, [">= 0"])
106
103
  s.add_dependency(%q<rb-fsevent>, [">= 0"])
107
104
  end
108
105
  end
@@ -7,6 +7,7 @@ require 'kicker/growl'
7
7
  require 'kicker/log_status_helper'
8
8
  require 'kicker/options'
9
9
  require 'kicker/utils'
10
+ require 'kicker/recipes'
10
11
 
11
12
  class Kicker #:nodoc:
12
13
  def self.run(argv = ARGV)
@@ -115,8 +116,4 @@ class Kicker #:nodoc:
115
116
  end
116
117
  end
117
118
  end
118
- end
119
-
120
- # Load this as last, because it actually loads all recipes, so everything has
121
- # to be defined before that.
122
- require 'kicker/recipes'
119
+ end
@@ -1,9 +1,6 @@
1
1
  RECIPES_DIR = File.expand_path('../recipes', __FILE__)
2
2
  USER_RECIPES_DIR = File.expand_path('~/.kick')
3
3
 
4
- $:.unshift(RECIPES_DIR)
5
- $:.unshift(USER_RECIPES_DIR) if File.exist?(USER_RECIPES_DIR)
6
-
7
4
  module Kernel
8
5
  # If only given a <tt>name</tt>, the specified recipe will be loaded. For
9
6
  # instance, the following, in a <tt>.kick</tt> file, will load the Rails
@@ -29,30 +26,69 @@ end
29
26
  class Kicker
30
27
  module Recipes #:nodoc:
31
28
  class << self
29
+ def reset!
30
+ @recipes = nil
31
+ end
32
+
32
33
  def recipes
33
34
  @recipes ||= {}
34
35
  end
35
36
 
36
- def recipe(name, &block)
37
- name = name.to_sym
38
- if block_given?
39
- recipes[name] = block
40
- else
41
- if recipe = recipes[name]
42
- recipe.call
43
- else
44
- raise LoadError, "Recipe `#{name}' does not exist."
45
- end
37
+ def recipe_filename(name)
38
+ [
39
+ USER_RECIPES_DIR,
40
+ RECIPES_DIR
41
+ ].each do |directory|
42
+ filename = File.join(directory, "#{name}.rb")
43
+ return filename if File.exist?(filename)
46
44
  end
47
45
  end
48
46
 
47
+ def recipe_names
48
+ recipe_files.map { |filename| File.basename(filename, '.rb').to_sym }
49
+ end
50
+
49
51
  def recipe_files
50
52
  Dir.glob(File.join(RECIPES_DIR, '*.rb')) + Dir.glob(File.join(USER_RECIPES_DIR, '*.rb'))
51
53
  end
54
+
55
+ def define_recipe(name, &block)
56
+ recipes[name] = block
57
+ end
58
+
59
+ def load_recipe(name)
60
+ if recipe_names.include?(name)
61
+ load recipe_filename(name)
62
+ else
63
+ raise LoadError, "Can't load recipe `#{name}', it doesn't exist on disk. Loadable recipes are: #{recipe_names[0..-2].join(', ')}, and #{recipe_names[-1]}"
64
+ end
65
+ end
66
+
67
+ def activate_recipe(name)
68
+ unless recipes.has_key?(name)
69
+ load_recipe(name)
70
+ end
71
+ if recipe = recipes[name]
72
+ recipe.call
73
+ else
74
+ raise ArgumentError, "Can't activate the recipe `#{name}' because it hasn't been defined yet."
75
+ end
76
+ end
77
+
78
+ # See Kernel#recipe for more information about the usage.
79
+ def recipe(name, &block)
80
+ name = name.to_sym
81
+ if block_given?
82
+ define_recipe(name, &block)
83
+ else
84
+ activate_recipe(name)
85
+ end
86
+ end
52
87
  end
53
88
 
54
- # We don't want this option to show up at the end
55
- require 'execute_cli_command'
56
- recipe_files.each { |file| require file }
89
+ # Always load all the base recipes
90
+ load_recipe :execute_cli_command
91
+ load_recipe :could_not_handle_file
92
+ load_recipe :dot_kick
57
93
  end
58
94
  end
@@ -1,22 +1,10 @@
1
- # Need to define these modules and require core_ext/module, because AS breaks
2
- # if these aren't defined. Need to fix that in AS...
3
- require 'active_support/core_ext/module'
4
- module ActiveSupport #:nodoc:
5
- module CoreExtensions #:nodoc:
6
- module String #:nodoc:
7
- module Inflections #:nodoc:
8
- end
9
- end
10
- end
11
- end
12
-
13
- require 'ruby'
1
+ recipe :ruby
14
2
 
15
- class Rails < Ruby
3
+ class Kicker::Recipes::Rails < Kicker::Recipes::Ruby
16
4
  class << self
17
5
  # Call these options on the Ruby class which takes the cli options.
18
6
  %w{ test_type runner_bin test_cases_root test_options }.each do |delegate|
19
- define_method(delegate) { Ruby.send(delegate) }
7
+ define_method(delegate) { Kicker::Recipes::Ruby.send(delegate) }
20
8
  end
21
9
 
22
10
  # Maps +type+, for instance `models', to a test directory.
@@ -60,15 +48,15 @@ class Rails < Ruby
60
48
  def tests_for_model(model)
61
49
  if test_type == 'test'
62
50
  %W{
63
- unit/#{model.singularize}
64
- unit/helpers/#{model.pluralize}_helper
65
- functional/#{model.pluralize}_controller
51
+ unit/#{ActiveSupport::Inflector.singularize(model)}
52
+ unit/helpers/#{ActiveSupport::Inflector.pluralize(model)}_helper
53
+ functional/#{ActiveSupport::Inflector.pluralize(model)}_controller
66
54
  }
67
55
  else
68
56
  %W{
69
- models/#{model.singularize}
70
- helpers/#{model.pluralize}_helper
71
- controllers/#{model.pluralize}_controller
57
+ models/#{ActiveSupport::Inflector.singularize(model)}
58
+ helpers/#{ActiveSupport::Inflector.pluralize(model)}_helper
59
+ controllers/#{ActiveSupport::Inflector.pluralize(model)}_controller
72
60
  }
73
61
  end.map { |f| test_file f }
74
62
  end
@@ -78,7 +66,7 @@ class Rails < Ruby
78
66
  case file
79
67
  # Run all functional tests when routes.rb is saved
80
68
  when 'config/routes.rb'
81
- Rails.all_controller_tests
69
+ Kicker::Recipes::Rails.all_controller_tests
82
70
 
83
71
  # Match lib/*
84
72
  when /^(lib\/.+)\.rb$/
@@ -92,7 +80,7 @@ class Rails < Ruby
92
80
  when %r{^app/(\w+)([\w/]*)/([\w\.]+)\.\w+$}
93
81
  type, namespace, file = $1, $2, $3
94
82
 
95
- if dir = Rails.type_to_test_dir(type)
83
+ if dir = Kicker::Recipes::Rails.type_to_test_dir(type)
96
84
  if type == "views"
97
85
  namespace = namespace.split('/')[1..-1]
98
86
  file = "#{namespace.pop}_controller"
@@ -110,9 +98,9 @@ end
110
98
 
111
99
  recipe :rails do
112
100
  require 'rubygems' rescue LoadError
113
- require 'active_support/core_ext/string'
101
+ require 'active_support/inflector'
114
102
 
115
- process Rails
103
+ process Kicker::Recipes::Rails
116
104
 
117
105
  # When changing the schema, prepare the test database.
118
106
  process do |files|
@@ -1,4 +1,4 @@
1
- class Ruby
1
+ class Kicker::Recipes::Ruby
2
2
  class << self
3
3
  # Assigns the type of tests to run. Eg: `test' or `spec'.
4
4
  attr_writer :test_type
@@ -42,6 +42,24 @@ class Ruby
42
42
  @test_options ||= []
43
43
  end
44
44
 
45
+ def reset!
46
+ @test_type = nil
47
+ @runner_bin = nil
48
+ @test_cases_root = nil
49
+ @test_options = nil
50
+ end
51
+
52
+ def runner_command(*parts)
53
+ parts.map do |part|
54
+ case part
55
+ when Array
56
+ part.empty? ? nil : part.join(' ')
57
+ else
58
+ part.to_s
59
+ end
60
+ end.compact.join(' ')
61
+ end
62
+
45
63
  # Runs the given tests, if there are any, with the method defined by
46
64
  # test_type. If test_type is `test' the run_with_test_runner method is
47
65
  # used. The same applies when test_type is `spec'.
@@ -50,7 +68,7 @@ class Ruby
50
68
  end
51
69
 
52
70
  def test_runner_command(tests)
53
- "#{runner_bin} #{test_options.join(' ')} -r #{tests.join(' -r ')} -e ''"
71
+ runner_command(runner_bin, test_options, '-r', tests.join(' -r '), "-e ''")
54
72
  end
55
73
 
56
74
  # Runs the given tests with `ruby' as unit-test tests.
@@ -67,7 +85,7 @@ class Ruby
67
85
  end
68
86
 
69
87
  def spec_runner_command(tests)
70
- "#{runner_bin} #{test_options.join(' ')} #{tests.join(' ')}"
88
+ runner_command(runner_bin, test_options, tests)
71
89
  end
72
90
 
73
91
  # Runs the given tests with `spec' as RSpec tests.
@@ -147,9 +165,9 @@ class Ruby
147
165
  end
148
166
 
149
167
  options.on('-b', '--ruby [PATH]', "Use an alternate Ruby binary for spawned test runners. (Default is `ruby')") do |command|
150
- Ruby.runner_bin = command
168
+ Kicker::Recipes::Ruby.runner_bin = command
151
169
  end
152
170
 
153
171
  recipe :ruby do
154
- process Ruby
172
+ process Kicker::Recipes::Ruby
155
173
  end
@@ -84,6 +84,4 @@ if Kicker::Growl.usable?
84
84
  @growler.failed(status)
85
85
  end
86
86
  end
87
- else
88
- puts "Poo"
89
87
  end
@@ -1,51 +1,65 @@
1
1
  require File.expand_path('../../test_helper', __FILE__)
2
-
3
- before = Kicker.process_chain.dup
4
2
  recipe :rails
5
- RAILS_FILES, RAILS_SCHEMA = (Kicker.process_chain - before).first(2)
6
3
 
7
- describe "The Rails helper module" do
8
- after do
9
- Ruby.test_type = nil
10
- Ruby.test_cases_root = nil
4
+ class Kicker::Recipes::Rails
5
+ class << self
6
+ attr_accessor :tests_ran
7
+ def run_tests(tests)
8
+ self.tests_ran ||= []
9
+ self.tests_ran << tests
10
+ end
11
11
  end
12
-
12
+ end
13
+
14
+ describe "The Rails handler" do
13
15
  it "should return all controller tests when test_type is `test'" do
14
- Dir.expects(:glob).with("test/functional/**/*_test.rb").returns(%w{ test.rb })
15
- Rails.all_controller_tests.should == %w{ test.rb }
16
+ tests = %w{ test.rb }
17
+
18
+ File.use_original_exist = false
19
+ File.existing_files = tests
20
+
21
+ Dir.expects(:glob).with("test/functional/**/*_test.rb").returns(tests)
22
+ Kicker::Recipes::Rails.all_controller_tests.should == tests
16
23
  end
17
24
 
18
25
  it "should return all controller tests when test_type is `spec'" do
19
- Ruby.test_type = 'spec'
20
- Ruby.test_cases_root = nil
26
+ specs = %w{ spec.rb }
21
27
 
22
- Dir.expects(:glob).with("spec/controllers/**/*_spec.rb").returns(%w{ spec.rb })
23
- Rails.all_controller_tests.should == %w{ spec.rb }
28
+ File.use_original_exist = false
29
+ File.existing_files = specs
30
+
31
+ Kicker::Recipes::Ruby.test_type = 'spec'
32
+ Kicker::Recipes::Ruby.test_cases_root = nil
33
+
34
+ Dir.expects(:glob).with("spec/controllers/**/*_spec.rb").returns(specs)
35
+ Kicker::Recipes::Rails.all_controller_tests.should == specs
24
36
  end
25
37
  end
26
38
 
27
- describe "The misc Rails handlers" do
39
+ describe "The Rails schema handler" do
40
+ before do
41
+ # We assume the Rails schema handler is in the chain after the Rails handler
42
+ # because it's defined in the same recipe
43
+ @handler = Kicker.process_chain[Kicker.process_chain.index(Kicker::Recipes::Rails) + 1]
44
+ end
45
+
28
46
  it "should prepare the test database if db/schema.rb is modified" do
29
47
  Kicker::Utils.expects(:execute).with('rake db:test:prepare')
30
- RAILS_SCHEMA.call(%w{ db/schema.rb })
48
+ @handler.call(%w{ db/schema.rb })
31
49
  end
32
50
 
33
51
  it "should not prepare the test database if another file than db/schema.rb is modified" do
34
52
  Kicker::Utils.expects(:execute).never
35
- RAILS_SCHEMA.call(%w{ Rakefile })
53
+ @handler.call(%w{ Rakefile })
36
54
  end
37
55
  end
38
56
 
39
57
  module SharedRailsHandlerHelper
40
- def should_match(files, tests)
58
+ def should_match(files, tests, existing_files=nil)
59
+ File.use_original_exist = false
60
+ File.existing_files = existing_files || tests
41
61
  @files += files
42
-
43
- tests.each do |test|
44
- File.stubs(:exist?).with(test).returns(true)
45
- end
46
-
47
- Rails.expects(:run_tests).with(tests)
48
- RAILS_FILES.call(@files)
62
+ Kicker::Recipes::Rails.call(@files)
49
63
  @files.should == %w{ Rakefile }
50
64
  end
51
65
  end
@@ -54,11 +68,14 @@ describe "An instance of the Rails handler, with test type `test'" do
54
68
  include SharedRailsHandlerHelper
55
69
 
56
70
  before do
57
- Ruby.test_type = 'test'
58
- File.stubs(:exist?).with('spec').returns(false)
71
+ Kicker::Recipes::Ruby.reset!
59
72
  @files = %w{ Rakefile }
60
73
  end
61
74
 
75
+ after do
76
+ File.use_original_exist = true
77
+ end
78
+
62
79
  it "should map model files to test/unit" do
63
80
  should_match %w{ app/models/member.rb app/models/article.rb },
64
81
  %w{ test/unit/member_test.rb test/unit/article_test.rb }
@@ -86,7 +103,7 @@ describe "An instance of the Rails handler, with test type `test'" do
86
103
 
87
104
  it "should run all functional tests when config/routes.rb is saved" do
88
105
  tests = %w{ test/functional/members_controller_test.rb test/functional/admin/articles_controller_test.rb }
89
- Rails.expects(:all_controller_tests).returns(tests)
106
+ Kicker::Recipes::Rails.expects(:all_controller_tests).returns(tests)
90
107
  should_match %w{ config/routes.rb }, tests
91
108
  end
92
109
 
@@ -97,14 +114,14 @@ describe "An instance of the Rails handler, with test type `test'" do
97
114
 
98
115
  it "should map fixtures to their unit, helper and functional tests if they exist" do
99
116
  tests = %w{ test/unit/member_test.rb test/unit/helpers/members_helper_test.rb test/functional/members_controller_test.rb }
100
- File.stubs(:exist?).returns(false)
101
-
102
- expected_tests = []
103
- tests.each do |test|
104
- expected_tests << test
105
- File.stubs(:exist?).with(test).returns(true)
106
- should_match %w{ test/fixtures/members.yml }, expected_tests
107
- end
117
+ should_match %w{ test/fixtures/members.yml }, tests, []
118
+ Kicker::Recipes::Rails.tests_ran.last.should == []
119
+ end
120
+
121
+ it "should map fixtures to their unit, helper and functional tests if they exist" do
122
+ tests = %w{ test/unit/member_test.rb test/unit/helpers/members_helper_test.rb test/functional/members_controller_test.rb }
123
+ should_match %w{ test/fixtures/members.yml }, tests
124
+ Kicker::Recipes::Rails.tests_ran.last.should == tests
108
125
  end
109
126
  end
110
127
 
@@ -112,11 +129,15 @@ describe "An instance of the Rails handler, with test type `spec'" do
112
129
  include SharedRailsHandlerHelper
113
130
 
114
131
  before do
115
- Ruby.test_type = Ruby.runner_bin = Ruby.test_cases_root = nil
116
- File.stubs(:exist?).with('spec').returns(true)
132
+ Kicker::Recipes::Ruby.reset!
133
+ Kicker::Recipes::Ruby.test_type = 'spec'
117
134
  @files = %w{ Rakefile }
118
135
  end
119
136
 
137
+ after do
138
+ File.use_original_exist = true
139
+ end
140
+
120
141
  it "should map model files to spec/models" do
121
142
  should_match %w{ app/models/member.rb app/models/article.rb },
122
143
  %w{ spec/models/member_spec.rb spec/models/article_spec.rb }
@@ -144,7 +165,7 @@ describe "An instance of the Rails handler, with test type `spec'" do
144
165
 
145
166
  it "should run all controller tests when config/routes.rb is saved" do
146
167
  specs = %w{ spec/controllers/members_controller_test.rb spec/controllers/admin/articles_controller_test.rb }
147
- Rails.expects(:all_controller_tests).returns(specs)
168
+ Kicker::Recipes::Rails.expects(:all_controller_tests).returns(specs)
148
169
  should_match %w{ config/routes.rb }, specs
149
170
  end
150
171
 
@@ -159,15 +180,7 @@ describe "An instance of the Rails handler, with test type `spec'" do
159
180
  end
160
181
 
161
182
  it "should map fixtures to their model, helper and controller specs if they exist" do
162
- Ruby.test_type = 'spec'
163
183
  specs = %w{ spec/models/member_spec.rb spec/helpers/members_helper_spec.rb spec/controllers/members_controller_spec.rb }
164
- File.stubs(:exist?).returns(false)
165
-
166
- expected_specs = []
167
- specs.each do |spec|
168
- expected_specs << spec
169
- File.stubs(:exist?).with(spec).returns(true)
170
- should_match %w{ spec/fixtures/members.yml }, expected_specs
171
- end
184
+ should_match %w{ spec/fixtures/members.yml }, specs
172
185
  end
173
186
  end
@@ -1,102 +1,105 @@
1
1
  require File.expand_path('../../test_helper', __FILE__)
2
-
3
- before = Kicker.process_chain.dup
4
2
  recipe :ruby
5
- RUBY_FILES = (Kicker.process_chain - before).first
6
3
 
7
- class Ruby
8
- def self.execute(command, &block)
9
- @block = block
10
- end
11
-
12
- def self.execute_block
13
- @block
4
+ class Kicker::Recipes::Ruby
5
+ class << self
6
+ attr_accessor :executed
7
+ attr_accessor :blocks
8
+ def execute(command, &block)
9
+ self.executed ||= []
10
+ self.blocks ||= []
11
+
12
+ self.executed << command
13
+ self.blocks << block
14
+ end
14
15
  end
15
16
  end
16
17
 
17
18
  describe "The Ruby handler" do
18
19
  before do
19
- Ruby.test_type = nil
20
- Ruby.runner_bin = nil
21
- Ruby.test_options = []
20
+ @handler = Kicker::Recipes::Ruby
21
+ @handler.reset!
22
22
  end
23
23
 
24
24
  after do
25
- Ruby.test_type = 'test'
26
- Ruby.runner_bin = nil
27
- Ruby.test_options = []
25
+ File.use_original_exist = true
28
26
  end
29
27
 
30
- it "should instantiate a Ruby instance" do
31
- handler = mock('Ruby', :handle! => nil, :tests => %w{ test/1_test.rb test/namespace/2_test.rb })
32
- Ruby.expects(:new).with(%w{ test/1_test.rb Rakefile test/namespace/2_test.rb }).returns(handler)
33
- Ruby.expects(:run_tests).with(%w{ test/1_test.rb test/namespace/2_test.rb })
34
- RUBY_FILES.call(%w{ test/1_test.rb Rakefile test/namespace/2_test.rb })
28
+ it "should instantiate a handler instance when called" do
29
+ tests = %w{ test/1_test.rb Rakefile test/namespace/2_test.rb }
30
+ instance = @handler.new(tests)
31
+ @handler.expects(:new).with(tests).returns(instance)
32
+ @handler.call(tests)
35
33
  end
36
34
 
37
35
  it "should discover whether to use `ruby' or `spec' as the test_type" do
38
- File.expects(:exist?).with('spec').returns(false)
39
- Ruby.test_type.should == 'test'
36
+ File.use_original_exist = false
37
+
38
+ File.existing_files = []
39
+ @handler.test_type.should == 'test'
40
40
 
41
- Ruby.test_type = nil
42
- File.expects(:exist?).with('spec').returns(true)
43
- Ruby.test_type.should == 'spec'
41
+ @handler.reset!
42
+
43
+ File.existing_files = ['spec']
44
+ @handler.test_type.should == 'spec'
44
45
  end
45
46
 
46
47
  it "should run the given tests with a test-unit runner" do
47
- Ruby.expects(:execute).with("ruby -r test/1_test.rb -r test/namespace/2_test.rb -e ''")
48
- Ruby.run_tests(%w{ test/1_test.rb test/namespace/2_test.rb })
48
+ @handler.run_tests(%w{ test/1_test.rb test/namespace/2_test.rb })
49
+ @handler.executed.last.should == "ruby -r test/1_test.rb -r test/namespace/2_test.rb -e ''"
49
50
  end
50
51
 
51
52
  it "should run the given tests with a spec runner" do
52
- Ruby.stubs(:test_type).returns('spec')
53
- Ruby.expects(:execute).with("spec spec/1_spec.rb spec/namespace/2_spec.rb")
54
- Ruby.run_tests(%w{ spec/1_spec.rb spec/namespace/2_spec.rb })
53
+ @handler.test_type = 'spec'
54
+ @handler.run_tests(%w{ test/1_test.rb test/namespace/2_test.rb })
55
+ @handler.executed.last.should == "spec test/1_test.rb test/namespace/2_test.rb"
55
56
  end
56
57
 
57
58
  it "should not try to run the tests if none were given" do
58
- Ruby.expects(:execute).never
59
- Ruby.run_tests([])
59
+ @handler.executed = []
60
+ @handler.run_tests([])
61
+ @handler.executed.should.be.empty
60
62
  end
61
63
 
62
64
  it "should be possible to override the bin path" do
63
- Ruby.runner_bin = '/some/other/runner'
64
- Ruby.expects(:execute).with("/some/other/runner -r test/1_test.rb -r test/namespace/2_test.rb -e ''")
65
- Ruby.run_tests(%w{ test/1_test.rb test/namespace/2_test.rb })
65
+ @handler.runner_bin = '/some/other/runner'
66
+ @handler.run_tests(%w{ test/1_test.rb test/namespace/2_test.rb })
67
+ @handler.executed.last.should == "/some/other/runner -r test/1_test.rb -r test/namespace/2_test.rb -e ''"
66
68
  end
67
69
 
68
70
  it "should set the alternative ruby bin path" do
69
71
  Kicker::Options.parse(%w{ -b /opt/ruby-1.9.2/bin/ruby })
70
- Ruby.runner_bin.should == '/opt/ruby-1.9.2/bin/ruby'
72
+ @handler.runner_bin.should == '/opt/ruby-1.9.2/bin/ruby'
73
+
74
+ @handler.reset!
71
75
 
72
- Ruby.runner_bin = nil
73
76
  Kicker::Options.parse(%w{ --ruby /opt/ruby-1.9.2/bin/ruby })
74
- Ruby.runner_bin.should == '/opt/ruby-1.9.2/bin/ruby'
77
+ @handler.runner_bin.should == '/opt/ruby-1.9.2/bin/ruby'
75
78
  end
76
79
 
77
80
  it "should be possible to add runner options when test_type is `test'" do
78
- Ruby.test_type = 'test'
79
- Ruby.test_options << '-I ./other'
80
- Ruby.expects(:execute).with("ruby -I ./other -r test/1_test.rb -e ''")
81
- Ruby.run_tests(%w{ test/1_test.rb })
81
+ @handler.test_type = 'test'
82
+ @handler.test_options << '-I ./other'
83
+ @handler.run_tests(%w{ test/1_test.rb })
84
+ @handler.executed.last.should == "ruby -I ./other -r test/1_test.rb -e ''"
82
85
  end
83
86
 
84
87
  it "should be possible to add runner options when test_type is `spec'" do
85
- Ruby.test_type = 'spec'
86
- Ruby.test_options << '-I ./other'
87
- Ruby.expects(:execute).with("spec -I ./other spec/1_spec.rb")
88
- Ruby.run_tests(%w{ spec/1_spec.rb })
88
+ @handler.test_type = 'spec'
89
+ @handler.test_options << '-I ./other'
90
+ @handler.run_tests(%w{ spec/1_spec.rb })
91
+ @handler.executed.last.should == "spec -I ./other spec/1_spec.rb"
89
92
  end
90
93
 
91
94
  it "should only show the last line of the output when growling when running test_type is `test'" do
92
- Ruby.run_with_test_runner(%w{ test/1_test.rb test/namespace/2_test.rb })
93
- result = Ruby.execute_block.call(mock('status', :output => "foo\nall pass", :after? => true, :growl? => true))
95
+ @handler.run_with_test_runner(%w{ test/1_test.rb test/namespace/2_test.rb })
96
+ result = @handler.blocks.last.call(mock('status', :output => "foo\nall pass", :after? => true, :growl? => true))
94
97
  result.should == 'all pass'
95
98
  end
96
99
 
97
100
  it "should only show the last line of the output when growling when running test_type is `spec'" do
98
- Ruby.run_with_spec_runner(%w{ spec/1_spec.rb spec/namespace/2_spec.rb })
99
- result = Ruby.execute_block.call(mock('status', :output => "foo\nall pass", :after? => true, :growl? => true))
101
+ @handler.run_with_spec_runner(%w{ spec/1_spec.rb spec/namespace/2_spec.rb })
102
+ result = @handler.blocks.last.call(mock('status', :output => "foo\nall pass", :after? => true, :growl? => true))
100
103
  result.should == 'all pass'
101
104
  end
102
105
  end
@@ -104,36 +107,41 @@ end
104
107
  %w{ test spec }.each do |type|
105
108
  describe "An instance of the Ruby handler, with test type `#{type}'" do
106
109
  before do
107
- Ruby.stubs(:test_type).returns(type)
108
- Ruby.stubs(:test_cases_root).returns(type)
109
- File.stubs(:exist?).with("#{type}/1_#{type}.rb").returns(true)
110
- File.stubs(:exist?).with("#{type}/namespace/2_#{type}.rb").returns(true)
110
+ @handler = Kicker::Recipes::Ruby
111
+ @handler.test_type = type
112
+ @handler.test_cases_root = type
113
+
114
+ File.use_original_exist = false
115
+ File.existing_files = %W(#{type}/1_#{type}.rb #{type}/namespace/2_#{type}.rb)
116
+ end
117
+
118
+ after do
119
+ File.use_original_exist = true
111
120
  end
112
121
 
113
122
  it "should match any test case files" do
114
- files = %W{ Rakefile #{type}/1_#{type}.rb #{type}/namespace/2_#{type}.rb }
115
- handler = Ruby.new(files)
123
+ files = %w(Rakefile) + File.existing_files
124
+ handler = @handler.new(files)
116
125
  handler.handle!
117
126
 
118
- handler.tests.should == %W{ #{type}/1_#{type}.rb #{type}/namespace/2_#{type}.rb }
127
+ handler.tests.should == File.existing_files
119
128
  files.should == %W{ Rakefile }
120
129
  end
121
130
 
122
131
  it "should match files in ./lib" do
123
- files = %W{ Rakefile lib/1.rb lib/namespace/2.rb }
124
- handler = Ruby.new(files)
132
+ files = %w(Rakefile) + File.existing_files
133
+ handler = @handler.new(files)
125
134
  handler.handle!
126
135
 
127
- handler.tests.should == %W{ #{type}/1_#{type}.rb #{type}/namespace/2_#{type}.rb }
136
+ handler.tests.should == File.existing_files
128
137
  files.should == %w{ Rakefile }
129
138
  end
130
139
 
131
140
  it "should match lib tests in the test root as well" do
132
- File.stubs(:exist?).with("#{type}/namespace/2_#{type}.rb").returns(false)
133
- File.stubs(:exist?).with("#{type}/2_#{type}.rb").returns(true)
141
+ File.existing_files = %W(#{type}/1_#{type}.rb #{type}/2_#{type}.rb)
134
142
 
135
143
  files = %W{ Rakefile lib/1.rb lib/namespace/2.rb }
136
- handler = Ruby.new(files)
144
+ handler = @handler.new(files)
137
145
  handler.handle!
138
146
 
139
147
  handler.tests.should == %W{ #{type}/1_#{type}.rb #{type}/2_#{type}.rb }
@@ -141,10 +149,10 @@ end
141
149
  end
142
150
 
143
151
  it "should check if a different test case root" do
144
- Ruby.stubs(:test_cases_root).returns('test/cases')
152
+ @handler.test_cases_root = 'test/cases'
145
153
 
146
154
  files = %W{ Rakefile test/cases/1_#{type}.rb test/cases/namespace/2_#{type}.rb }
147
- handler = Ruby.new(files)
155
+ handler = @handler.new(files)
148
156
  handler.handle!
149
157
 
150
158
  handler.tests.should == %W{ test/cases/1_#{type}.rb test/cases/namespace/2_#{type}.rb }
@@ -4,7 +4,30 @@ module ReloadDotKick; end
4
4
 
5
5
  describe "Kicker::Recipes" do
6
6
  before do
7
- @recipes = Kicker::Recipes
7
+ Kicker::Recipes.reset!
8
+ end
9
+
10
+ it "returns a list of recipes" do
11
+ recipe_files = Kicker::Recipes.recipe_files
12
+ if File.exist?(File.expand_path('~/.kick'))
13
+ Set.new(recipe_files).should == Set.new(Dir.glob('../../lib/kicker/recipes/**/*.rb'))
14
+ else
15
+ Dir.glob('../../lib/kicker/recipes/**/*.rb').each do |filename|
16
+ recipe_files.should.include?(filename)
17
+ end
18
+ end
19
+ end
20
+
21
+ it "returns a list of recipe names" do
22
+ expected = Set.new(%w(could_not_handle_file dot_kick execute_cli_command ignore jstest rails ruby).map { |n| n.to_sym })
23
+ actual = Kicker::Recipes.recipe_names
24
+ if File.exist?(File.expand_path('~/.kick'))
25
+ actual.should == expected
26
+ else
27
+ expected.each do |name|
28
+ actual.should.include?(name)
29
+ end
30
+ end
8
31
  end
9
32
 
10
33
  if File.exist?(File.expand_path('~/.kick'))
@@ -12,13 +35,18 @@ describe "Kicker::Recipes" do
12
35
  $:.should.include File.expand_path('~/.kick')
13
36
  end
14
37
  else
15
- puts "[!] ~/.kick does not exist, skipping an example."
38
+ puts "[!] ~/.kick does not exist, not testing the Kicker directory support."
16
39
  end
17
40
 
18
41
  it "should load a recipe" do
19
- expected_recipe = @recipes.recipes.first
20
- expected_recipe.last.expects(:call)
21
- recipe expected_recipe.first
42
+ name = Kicker::Recipes.recipe_names.last
43
+ recipe name
44
+ end
45
+
46
+ it "does not break when a recipe is loaded twice" do
47
+ name = Kicker::Recipes.recipe_names.last
48
+ recipe name
49
+ recipe name
22
50
  end
23
51
 
24
52
  it "should define a recipe load callback" do
@@ -33,7 +61,7 @@ describe "Kicker::Recipes" do
33
61
  begin
34
62
  recipe :foobar
35
63
  rescue LoadError => e
36
- e.message.should == "Recipe `foobar' does not exist."
64
+ e.message.should.start_with "Can't load recipe `foobar', it doesn't exist on disk."
37
65
  end
38
66
  end
39
67
  end
@@ -1,6 +1,29 @@
1
1
  require 'rubygems'
2
2
  require 'test/spec'
3
3
  require 'mocha'
4
+ require 'set'
4
5
 
5
6
  $:.unshift File.expand_path('../../lib', __FILE__)
6
7
  require 'kicker'
8
+
9
+ class File
10
+ class << self
11
+ attr_accessor :existing_files
12
+ attr_accessor :use_original_exist
13
+
14
+ alias exist_without_stubbing? exist?
15
+ def exist?(file)
16
+ if use_original_exist
17
+ exist_without_stubbing?(file)
18
+ else
19
+ if existing_files
20
+ existing_files.include?(file)
21
+ else
22
+ raise "Please stub the files you want to exist by setting File.existing_files"
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ File.use_original_exist = true
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kicker
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
5
- prerelease: false
4
+ hash: 31
5
+ prerelease:
6
6
  segments:
7
7
  - 2
8
- - 3
9
- - 1
10
- version: 2.3.1
8
+ - 4
9
+ - 0
10
+ version: 2.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Eloy Duran
@@ -15,13 +15,82 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-27 00:00:00 +02:00
18
+ date: 2012-02-03 00:00:00 +01:00
19
19
  default_executable: kicker
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ name: rake
33
+ version_requirements: *id001
34
+ prerelease: false
35
+ - !ruby/object:Gem::Dependency
36
+ type: :development
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ name: mocha
47
+ version_requirements: *id002
48
+ prerelease: false
49
+ - !ruby/object:Gem::Dependency
50
+ type: :development
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ name: test-spec
61
+ version_requirements: *id003
62
+ prerelease: false
63
+ - !ruby/object:Gem::Dependency
64
+ type: :development
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ name: activesupport
75
+ version_requirements: *id004
76
+ prerelease: false
77
+ - !ruby/object:Gem::Dependency
78
+ type: :development
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
22
88
  name: rb-fsevent
89
+ version_requirements: *id005
23
90
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
91
+ - !ruby/object:Gem::Dependency
92
+ type: :development
93
+ requirement: &id006 !ruby/object:Gem::Requirement
25
94
  none: false
26
95
  requirements:
27
96
  - - ">="
@@ -30,8 +99,23 @@ dependencies:
30
99
  segments:
31
100
  - 0
32
101
  version: "0"
102
+ name: jeweler
103
+ version_requirements: *id006
104
+ prerelease: false
105
+ - !ruby/object:Gem::Dependency
33
106
  type: :runtime
34
- version_requirements: *id001
107
+ requirement: &id007 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ name: rb-fsevent
117
+ version_requirements: *id007
118
+ prerelease: false
35
119
  description:
36
120
  email: eloy.de.enige@gmail.com
37
121
  executables:
@@ -42,8 +126,10 @@ extra_rdoc_files:
42
126
  - LICENSE
43
127
  - README.rdoc
44
128
  files:
45
- - .gitignore
46
129
  - .kick
130
+ - .travis.yml
131
+ - Gemfile
132
+ - Gemfile.lock
47
133
  - LICENSE
48
134
  - README.rdoc
49
135
  - Rakefile
@@ -94,8 +180,8 @@ homepage: http://github.com/alloy/kicker
94
180
  licenses: []
95
181
 
96
182
  post_install_message:
97
- rdoc_options:
98
- - --charset=UTF-8
183
+ rdoc_options: []
184
+
99
185
  require_paths:
100
186
  - lib
101
187
  - vendor
@@ -120,27 +206,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
206
  requirements: []
121
207
 
122
208
  rubyforge_project:
123
- rubygems_version: 1.3.7
209
+ rubygems_version: 1.6.2
124
210
  signing_key:
125
211
  specification_version: 3
126
212
  summary: A lean, agnostic, flexible file-change watcher, using OS X FSEvents.
127
- test_files:
128
- - test/callback_chain_test.rb
129
- - test/core_ext_test.rb
130
- - test/filesystem_change_test.rb
131
- - test/fixtures/a_file_thats_reloaded.rb
132
- - test/fsevents_test.rb
133
- - test/growl_test.rb
134
- - test/initialization_test.rb
135
- - test/log_status_helper_test.rb
136
- - test/options_test.rb
137
- - test/recipes/could_not_handle_file_test.rb
138
- - test/recipes/dot_kick_test.rb
139
- - test/recipes/execute_cli_command_test.rb
140
- - test/recipes/ignore_test.rb
141
- - test/recipes/jstest_test.rb
142
- - test/recipes/rails_test.rb
143
- - test/recipes/ruby_test.rb
144
- - test/recipes_test.rb
145
- - test/test_helper.rb
146
- - test/utils_test.rb
213
+ test_files: []
214
+
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- *.sw?
2
- .DS_Store
3
- coverage
4
- rdoc
5
- pkg
6
- html/*.html
7
- html/*.rid
8
- html/*.css
9
- html/classes
10
- html/files