soundcheck 0.2.4.beta1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec CHANGED
@@ -1 +1,2 @@
1
+ --format Fuubar
1
2
  --color
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
data/Gemfile CHANGED
@@ -10,4 +10,5 @@ group :development do
10
10
  gem "jeweler", "~> 1.6.4"
11
11
  gem "rcov", ">= 0"
12
12
  gem "cucumber"
13
+ gem 'fuubar'
13
14
  end
data/Gemfile.lock CHANGED
@@ -11,6 +11,10 @@ GEM
11
11
  json (>= 1.4.6)
12
12
  term-ansicolor (>= 1.0.6)
13
13
  diff-lcs (1.1.3)
14
+ fuubar (0.0.6)
15
+ rspec (~> 2.0)
16
+ rspec-instafail (~> 0.1.8)
17
+ ruby-progressbar (~> 0.0.10)
14
18
  gherkin (2.5.4)
15
19
  json (>= 1.4.6)
16
20
  git (1.2.5)
@@ -29,7 +33,9 @@ GEM
29
33
  rspec-core (2.7.1)
30
34
  rspec-expectations (2.7.0)
31
35
  diff-lcs (~> 1.1.2)
36
+ rspec-instafail (0.1.9)
32
37
  rspec-mocks (2.7.0)
38
+ ruby-progressbar (0.0.10)
33
39
  term-ansicolor (1.0.7)
34
40
 
35
41
  PLATFORMS
@@ -38,6 +44,7 @@ PLATFORMS
38
44
  DEPENDENCIES
39
45
  activesupport (~> 3.0)
40
46
  cucumber
47
+ fuubar
41
48
  jeweler (~> 1.6.4)
42
49
  rcov
43
50
  rspec
data/README.markdown CHANGED
@@ -10,6 +10,67 @@ $filename`, and soundcheck will figure out how to run that test.
10
10
 
11
11
  Soundcheck will also try to run your tests as fast as possible.
12
12
 
13
+ ## Usage
14
+
15
+ ```
16
+ soundcheck
17
+ => runs all tests it can find
18
+
19
+ soundcheck spec
20
+ => runs rspec tests
21
+
22
+ soundcheck --fast spec
23
+ => runs only rspec tests that don't require spec_helper
24
+
25
+ soundcheck spec/models/user_spec.rb
26
+ => runs that specific test
27
+ ```
28
+
29
+ ## How I use it with Vim
30
+
31
+ ```vim
32
+ function! RunTests(filename)
33
+ " Write the file and run tests for the given filename
34
+ :w
35
+ :silent !echo;echo;echo;echo;echo;echo;echo;echo;echo;echo
36
+ " For terminal Vim:
37
+ exec ":!soundcheck " . a:filename
38
+
39
+ " For graphical Vim:
40
+ "call Send_to_Tmux("soundcheck " . a:filename . "\n")
41
+ endfunction
42
+
43
+ function! SetTestFile()
44
+ " Set the spec file that tests will be run for.
45
+ let t:grb_test_file=@%
46
+ endfunction
47
+
48
+ function! RunTestFile(...)
49
+ if a:0
50
+ let command_suffix = a:1
51
+ else
52
+ let command_suffix = ""
53
+ endif
54
+
55
+ " Run the tests for the previously-marked file.
56
+ let in_test_file = match(expand("%"), '\(.feature\|_spec.rb\)$') != -1
57
+ if in_test_file
58
+ call SetTestFile()
59
+ elseif !exists("t:grb_test_file")
60
+ return
61
+ end
62
+ call RunTests(t:grb_test_file . command_suffix)
63
+ endfunction
64
+
65
+ function! RunNearestTest()
66
+ let spec_line_number = line('.')
67
+ call RunTestFile(":" . spec_line_number)
68
+ endfunction
69
+
70
+ map <leader>t :call RunTestFile()<cr>
71
+ map <leader>a :call RunTests('')<cr>
72
+ ```
73
+
13
74
  ## Is Soundcheck not working for your project?
14
75
 
15
76
  Feel free to submit a pull request that adds only a fixture and RSpec testcase
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.4.beta1
1
+ 0.3.0
data/bin/soundcheck CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'optparse'
3
3
  require 'pty'
4
- require 'soundcheck'
4
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'soundcheck')
5
5
 
6
6
  options = {}
7
7
  option_parser = OptionParser.new do |opts|
File without changes
@@ -0,0 +1,5 @@
1
+ task :test do
2
+ # nothing
3
+ end
4
+
5
+ task :default => :test
File without changes
@@ -0,0 +1,33 @@
1
+ module Frameworks
2
+ class Cucumber
3
+ include Frameworks::Base
4
+
5
+ def present?
6
+ project.has_file?("features")
7
+ end
8
+
9
+ def filter(*args)
10
+ args.select { |arg| arg =~ /\.feature$/ }
11
+ end
12
+
13
+ def default_args
14
+ ["features"]
15
+ end
16
+
17
+ def command(*args)
18
+ args = (args.empty? ? default_args : filter(*args))
19
+ return nil if args.empty?
20
+
21
+ to_run = []
22
+ to_run << "bundle exec" if has_gemfile?
23
+ to_run << "cucumber #{args.join(" ")}".strip
24
+ to_run.join(" ")
25
+ end
26
+
27
+ private
28
+
29
+ def has_gemfile?
30
+ project.has_file?("Gemfile")
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,29 @@
1
+ module Frameworks
2
+ class Expresso
3
+ include Frameworks::Base
4
+
5
+ def present?
6
+ project.has_file?("test/*.js")
7
+ end
8
+
9
+ def filter(*args)
10
+ filter_with(args, {
11
+ :is_js_file => /\.js$/
12
+ })
13
+ end
14
+
15
+ def default_args
16
+ ["test/*"]
17
+ end
18
+
19
+ def command(*args)
20
+ args = (args.empty? ? default_args : filter(*args))
21
+ return nil if args.empty?
22
+
23
+ local_expresso = "node_modules/expresso/bin/expresso"
24
+ expresso_bin = project.has_file?(local_expresso) ? local_expresso : "expresso"
25
+
26
+ "#{expresso_bin} --include lib #{args.join(" ")}"
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,47 @@
1
+ module Frameworks
2
+ class Minitest
3
+ include Frameworks::Base
4
+
5
+ def present?
6
+ project.has_file?("test")
7
+ end
8
+
9
+ def filter(*args)
10
+ filter_with(args, {
11
+ :is_test_file => /_test\.rb$/,
12
+ :is_in_test_dir => /^test/,
13
+ :is_dir => lambda {|arg| project.has_dir?(arg) }
14
+ })
15
+ end
16
+
17
+ def command(*args)
18
+ # If we were given args, but none of them are minitest files,
19
+ # then we skip minitest
20
+ return if not args.empty? and filter(*args).empty?
21
+ args = filter(*args)
22
+
23
+ # rake test can either run a single file, or all of them,
24
+ # so if we're given more than one, just run all
25
+ args = [] if args.length > 1
26
+ args = args.map {|i| "TEST=#{i}" }
27
+
28
+ to_run = []
29
+ to_run << "bundle exec" if has_gemfile?
30
+ to_run << "rake test"
31
+ to_run << "-t" if options[:trace]
32
+ to_run << args.join(" ")
33
+ to_run.join(" ").strip
34
+ end
35
+
36
+ private
37
+
38
+ def has_test_dir?
39
+ project.has_dir?("test")
40
+ end
41
+
42
+ def has_gemfile?
43
+ project.has_file?("Gemfile")
44
+ end
45
+ end
46
+ end
47
+
@@ -0,0 +1,45 @@
1
+ module Frameworks
2
+ class RSpec
3
+ include Frameworks::Base
4
+
5
+ def present?
6
+ project.has_file?("spec")
7
+ end
8
+
9
+ def filter(*args)
10
+ filter_with(args, {
11
+ :is_spec_file => /_spec\.rb$/,
12
+ :is_in_spec_dir => /^spec/,
13
+ :is_dir => lambda {|arg| project.has_dir?(arg) }
14
+ })
15
+ end
16
+
17
+ def default_args
18
+ ["spec"]
19
+ end
20
+
21
+ def command(*args)
22
+ args = (args.empty? ? default_args : filter(*args))
23
+ return nil if args.empty?
24
+
25
+ to_run = []
26
+ to_run << "bundle exec" if has_gemfile? and requires_spec_helper?(*args)
27
+ to_run << "rspec"
28
+ to_run << "-b" if options[:trace]
29
+ to_run << "--format=doc" if args.size < 2 and args != default_args
30
+ to_run << args.join(" ")
31
+ to_run.join(" ").strip
32
+ end
33
+
34
+ private
35
+
36
+ def requires_spec_helper?(*args)
37
+ output, status = project.execute("grep -r 'spec_helper' #{args.join(" ")}")
38
+ status.exitstatus == 0 # matched
39
+ end
40
+
41
+ def has_gemfile?
42
+ project.has_file?("Gemfile")
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,26 @@
1
+ module Frameworks
2
+ class RubyCutest
3
+ include Frameworks::Base
4
+
5
+ def present?
6
+ project.has_file?("Rakefile") and project.file_contents("Rakefile") =~ /Cutest\.run/
7
+ end
8
+
9
+ def filter(*args)
10
+ filter_with(args, {
11
+ :is_in_test_dir => /^test\//
12
+ })
13
+ end
14
+
15
+ def default_args
16
+ ["test/*.rb"]
17
+ end
18
+
19
+ def command(*args)
20
+ args = (args.empty? ? default_args : filter(*args))
21
+ return nil if args.empty?
22
+
23
+ "cutest #{args.join(" ")}".strip
24
+ end
25
+ end
26
+ end
@@ -1,3 +1,4 @@
1
+ require 'active_support/deprecation'
1
2
  require 'active_support/concern'
2
3
  require 'soundcheck/logging'
3
4
 
@@ -15,156 +16,26 @@ module Frameworks
15
16
  end
16
17
  end
17
18
 
18
- module InstanceMethods
19
- def filter_with(args, filters)
20
- logger.debug "Filtering #{args.inspect}"
21
- args.select do |arg|
22
- filters.any? do |key, value|
23
- case value
24
- when Regexp
25
- arg =~ value
26
- when Proc
27
- value.call(arg)
28
- else
29
- raise "Unknown filter type for #{value}"
30
- end
19
+ def filter_with(args, filters)
20
+ logger.debug "Filtering #{args.inspect}"
21
+ args.select do |arg|
22
+ filters.any? do |key, value|
23
+ case value
24
+ when Regexp
25
+ arg =~ value
26
+ when Proc
27
+ value.call(arg)
28
+ else
29
+ raise "Unknown filter type for #{value}"
31
30
  end
32
31
  end
33
32
  end
34
-
35
- def to_s
36
- self.class.name.split("::").last
37
- end
38
- end
39
- end
40
-
41
- class RSpec
42
- include Frameworks::Base
43
-
44
- def present?
45
- project.has_file?("spec")
46
- end
47
-
48
- def filter(*args)
49
- filter_with(args, {
50
- :is_spec_file => /_spec\.rb$/,
51
- :is_in_spec_dir => /^spec/,
52
- :is_dir => lambda {|arg| project.has_dir?(arg) }
53
- })
54
- end
55
-
56
- def default_args
57
- ["spec"]
58
- end
59
-
60
- def command(*args)
61
- args = (args.empty? ? default_args : filter(*args))
62
- return nil if args.empty?
63
-
64
- to_run = []
65
- to_run << "bundle exec" if has_gemfile? and requires_spec_helper?(*args)
66
- to_run << "rspec"
67
- to_run << "-b" if options[:trace]
68
- to_run << args.join(" ")
69
- to_run.join(" ").strip
70
- end
71
-
72
- private
73
-
74
- def requires_spec_helper?(*args)
75
- output, status = project.execute("grep -r 'spec_helper' #{args.join(" ")}")
76
- status.exitstatus == 0 # matched
77
- end
78
-
79
- def has_gemfile?
80
- project.has_file?("Gemfile")
81
- end
82
- end
83
-
84
- class Cucumber
85
- include Frameworks::Base
86
-
87
- def present?
88
- project.has_file?("features")
89
- end
90
-
91
- def filter(*args)
92
- args.select { |arg| arg =~ /\.feature$/ }
93
- end
94
-
95
- def default_args
96
- ["features"]
97
- end
98
-
99
- def command(*args)
100
- args = (args.empty? ? default_args : filter(*args))
101
- return nil if args.empty?
102
-
103
- to_run = []
104
- to_run << "bundle exec" if has_gemfile?
105
- to_run << "cucumber #{args.join(" ")}".strip
106
- to_run.join(" ")
107
- end
108
-
109
- private
110
-
111
- def requires_spec_helper?(*args)
112
- output, status = project.execute("grep -r 'spec_helper' #{args.join(" ")}")
113
- status.exitstatus == 0 # matched
114
33
  end
115
34
 
116
- def has_gemfile?
117
- project.has_file?("Gemfile")
118
- end
119
- end
120
-
121
- class RubyCutest
122
- include Frameworks::Base
123
-
124
- def present?
125
- project.has_file?("Rakefile") and project.file_contents("Rakefile") =~ /Cutest\.run/
126
- end
127
-
128
- def filter(*args)
129
- filter_with(args, {
130
- :is_in_test_dir => /^test\//
131
- })
132
- end
133
-
134
- def default_args
135
- ["test/*.rb"]
136
- end
137
-
138
- def command(*args)
139
- args = (args.empty? ? default_args : filter(*args))
140
- return nil if args.empty?
141
-
142
- "cutest #{args.join(" ")}".strip
143
- end
144
- end
145
-
146
- class Expresso
147
- include Frameworks::Base
148
-
149
- def present?
150
- project.has_file?("test/*.js")
151
- end
152
-
153
- def filter(*args)
154
- filter_with(args, {
155
- :is_js_file => /\.js$/
156
- })
157
- end
158
-
159
- def default_args
160
- ["test/*"]
161
- end
162
-
163
- def command(*args)
164
- args = (args.empty? ? default_args : filter(*args))
165
- return nil if args.empty?
166
-
167
- "expresso --include lib #{args.join(" ")}"
35
+ def to_s
36
+ self.class.name.split("::").last
168
37
  end
169
38
  end
170
39
  end
40
+
41
+ Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'frameworks/*.rb')].each {|f| require f}
@@ -1,3 +1,4 @@
1
+ require 'active_support/deprecation'
1
2
  require 'active_support/concern'
2
3
  require 'soundcheck/frameworks'
3
4
 
@@ -13,11 +14,9 @@ module Languages
13
14
  end
14
15
  end
15
16
 
16
- module InstanceMethods
17
- def frameworks
18
- known_frameworks.select do |framework|
19
- framework.new(project).present?
20
- end
17
+ def frameworks
18
+ known_frameworks.select do |framework|
19
+ framework.new(project).present?
21
20
  end
22
21
  end
23
22
  end
@@ -26,7 +25,7 @@ module Languages
26
25
  include Base
27
26
 
28
27
  def known_frameworks
29
- [ Frameworks::RSpec, Frameworks::Cucumber, Frameworks::RubyCutest ]
28
+ [ Frameworks::RSpec, Frameworks::Cucumber, Frameworks::Minitest, Frameworks::RubyCutest ]
30
29
  end
31
30
  end
32
31
 
data/soundcheck.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "soundcheck"
8
- s.version = "0.2.4.beta1"
8
+ s.version = "0.3.0"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marten Veldthuis"]
12
- s.date = "2011-11-08"
12
+ s.date = "2012-07-17"
13
13
  s.description = "Soundcheck tries to figure out what kind of project you're working on, what test file you're trying to run, and what the fastest way is to run that."
14
14
  s.email = "marten@veldthuis.com"
15
15
  s.executables = ["soundcheck"]
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.files = [
21
21
  ".document",
22
22
  ".rspec",
23
+ ".travis.yml",
23
24
  "Gemfile",
24
25
  "Gemfile.lock",
25
26
  "LICENSE.txt",
@@ -31,6 +32,7 @@ Gem::Specification.new do |s|
31
32
  "features/step_definitions/steps.rb",
32
33
  "fixtures/node-expresso/package.json",
33
34
  "fixtures/node-expresso/test/expresso.js",
35
+ "fixtures/null-project/.gitkeep",
34
36
  "fixtures/ruby-bundler-rspec/Gemfile",
35
37
  "fixtures/ruby-bundler-rspec/Gemfile.lock",
36
38
  "fixtures/ruby-bundler-rspec/spec/spec_helper.rb",
@@ -43,6 +45,8 @@ Gem::Specification.new do |s|
43
45
  "fixtures/ruby-cucumber/features/cucumber.feature",
44
46
  "fixtures/ruby-cutest/Rakefile",
45
47
  "fixtures/ruby-cutest/test/foo.rb",
48
+ "fixtures/ruby-minitest/Rakefile",
49
+ "fixtures/ruby-minitest/test/foo_test.rb",
46
50
  "fixtures/ruby-rspec-exception/Rakefile",
47
51
  "fixtures/ruby-rspec-exception/spec/spec_helper.rb",
48
52
  "fixtures/ruby-rspec-exception/spec/with_spec_helper_spec.rb",
@@ -54,18 +58,23 @@ Gem::Specification.new do |s|
54
58
  "fixtures/ruby-unknown-framework/Gemfile",
55
59
  "lib/soundcheck.rb",
56
60
  "lib/soundcheck/frameworks.rb",
61
+ "lib/soundcheck/frameworks/cucumber.rb",
62
+ "lib/soundcheck/frameworks/expresso.rb",
63
+ "lib/soundcheck/frameworks/minitest.rb",
64
+ "lib/soundcheck/frameworks/rspec.rb",
65
+ "lib/soundcheck/frameworks/ruby_cutest.rb",
57
66
  "lib/soundcheck/languages.rb",
58
67
  "lib/soundcheck/logging.rb",
59
68
  "lib/soundcheck/project.rb",
60
69
  "soundcheck.gemspec",
61
70
  "spec/soundcheck/frameworks/cucumber_spec.rb",
62
71
  "spec/soundcheck/frameworks/expresso_spec.rb",
72
+ "spec/soundcheck/frameworks/minitest_spec.rb",
63
73
  "spec/soundcheck/frameworks/rspec_spec.rb",
64
74
  "spec/soundcheck/frameworks/ruby_cutest_spec.rb",
65
75
  "spec/soundcheck/frameworks_spec.rb",
66
76
  "spec/soundcheck/languages_spec.rb",
67
77
  "spec/soundcheck/project_spec.rb",
68
- "spec/soundcheck_spec.rb",
69
78
  "spec/spec_helper.rb"
70
79
  ]
71
80
  s.homepage = "http://github.com/marten/soundcheck"
@@ -83,12 +92,14 @@ Gem::Specification.new do |s|
83
92
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
84
93
  s.add_development_dependency(%q<rcov>, [">= 0"])
85
94
  s.add_development_dependency(%q<cucumber>, [">= 0"])
95
+ s.add_development_dependency(%q<fuubar>, [">= 0"])
86
96
  else
87
97
  s.add_dependency(%q<activesupport>, ["~> 3.0"])
88
98
  s.add_dependency(%q<rspec>, [">= 0"])
89
99
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
90
100
  s.add_dependency(%q<rcov>, [">= 0"])
91
101
  s.add_dependency(%q<cucumber>, [">= 0"])
102
+ s.add_dependency(%q<fuubar>, [">= 0"])
92
103
  end
93
104
  else
94
105
  s.add_dependency(%q<activesupport>, ["~> 3.0"])
@@ -96,6 +107,7 @@ Gem::Specification.new do |s|
96
107
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
97
108
  s.add_dependency(%q<rcov>, [">= 0"])
98
109
  s.add_dependency(%q<cucumber>, [">= 0"])
110
+ s.add_dependency(%q<fuubar>, [">= 0"])
99
111
  end
100
112
  end
101
113
 
@@ -0,0 +1,45 @@
1
+ require_relative '../../spec_helper'
2
+ require 'soundcheck/project'
3
+ require 'soundcheck/frameworks'
4
+
5
+ describe "Frameworks" do
6
+ let(:project) { Project.new(fixture("null-project")) }
7
+
8
+ describe "Minitest" do
9
+ let(:framework) { Frameworks::Minitest.new(project) }
10
+
11
+ it "should find the minitest framework" do
12
+ project.stub!(:root => fixture("ruby-minitest"))
13
+ framework.present?.should be_true
14
+ end
15
+
16
+ it "should not find when not there" do
17
+ framework.present?.should be_false
18
+ end
19
+
20
+ it "should work with no args" do
21
+ framework.command().should == "rake test"
22
+ end
23
+
24
+ it "should not do anything when args contain no cutest files" do
25
+ framework.command("features/a.feature").should == nil
26
+ end
27
+
28
+ it "should work with multiple args" do
29
+ cmd = framework.command("test/a_test.rb", "test/b_test.rb")
30
+ cmd.should == "rake test"
31
+ end
32
+
33
+ it "should work with a single arg" do
34
+ cmd = framework.command("test/a_test.rb")
35
+ cmd.should == "rake test TEST=test/a_test.rb"
36
+ end
37
+
38
+ it "should filter invalid non-cutest args" do
39
+ cmd = framework.command("test/a_test.rb", "features/a.feature")
40
+ cmd.should == "rake test TEST=test/a_test.rb"
41
+ end
42
+ end
43
+ end
44
+
45
+
@@ -33,12 +33,12 @@ describe "Frameworks" do
33
33
  it "should not use bundler when not needed" do
34
34
  project.stub!(:root => fixture("ruby-bundler-rspec"))
35
35
  cmd = framework.command("spec/without_spec_helper_spec.rb")
36
- cmd.should == "rspec spec/without_spec_helper_spec.rb"
36
+ cmd.should == "rspec --format=doc spec/without_spec_helper_spec.rb"
37
37
  end
38
38
 
39
39
  it "should show backtraces when requested" do
40
40
  framework.options[:trace] = true
41
- framework.command("spec/a_spec.rb").should == "rspec -b spec/a_spec.rb"
41
+ framework.command("spec/a_spec.rb").should == "rspec -b --format=doc spec/a_spec.rb"
42
42
  end
43
43
 
44
44
  it "should only run fast specs when requested" do pending
@@ -59,7 +59,7 @@ describe "Frameworks" do
59
59
 
60
60
  it "should filter invalid non-spec args" do
61
61
  cmd = framework.command("spec/a_spec.rb", "features/a.feature")
62
- cmd.should == "rspec spec/a_spec.rb"
62
+ cmd.should == "rspec --format=doc spec/a_spec.rb"
63
63
  end
64
64
  end
65
65
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soundcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4.beta1
5
- prerelease: 6
4
+ version: 0.3.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Marten Veldthuis
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-08 00:00:00.000000000 Z
12
+ date: 2012-07-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &16722740 !ruby/object:Gem::Requirement
16
+ requirement: &70173214253440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *16722740
24
+ version_requirements: *70173214253440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &16721780 !ruby/object:Gem::Requirement
27
+ requirement: &70173214252340 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *16721780
35
+ version_requirements: *70173214252340
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &16721120 !ruby/object:Gem::Requirement
38
+ requirement: &70173214251500 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.6.4
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *16721120
46
+ version_requirements: *70173214251500
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rcov
49
- requirement: &16158300 !ruby/object:Gem::Requirement
49
+ requirement: &70173214250420 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *16158300
57
+ version_requirements: *70173214250420
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cucumber
60
- requirement: &16155360 !ruby/object:Gem::Requirement
60
+ requirement: &70173214249340 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,18 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *16155360
68
+ version_requirements: *70173214249340
69
+ - !ruby/object:Gem::Dependency
70
+ name: fuubar
71
+ requirement: &70173214248480 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70173214248480
69
80
  description: Soundcheck tries to figure out what kind of project you're working on,
70
81
  what test file you're trying to run, and what the fastest way is to run that.
71
82
  email: marten@veldthuis.com
@@ -78,6 +89,7 @@ extra_rdoc_files:
78
89
  files:
79
90
  - .document
80
91
  - .rspec
92
+ - .travis.yml
81
93
  - Gemfile
82
94
  - Gemfile.lock
83
95
  - LICENSE.txt
@@ -89,6 +101,7 @@ files:
89
101
  - features/step_definitions/steps.rb
90
102
  - fixtures/node-expresso/package.json
91
103
  - fixtures/node-expresso/test/expresso.js
104
+ - fixtures/null-project/.gitkeep
92
105
  - fixtures/ruby-bundler-rspec/Gemfile
93
106
  - fixtures/ruby-bundler-rspec/Gemfile.lock
94
107
  - fixtures/ruby-bundler-rspec/spec/spec_helper.rb
@@ -101,6 +114,8 @@ files:
101
114
  - fixtures/ruby-cucumber/features/cucumber.feature
102
115
  - fixtures/ruby-cutest/Rakefile
103
116
  - fixtures/ruby-cutest/test/foo.rb
117
+ - fixtures/ruby-minitest/Rakefile
118
+ - fixtures/ruby-minitest/test/foo_test.rb
104
119
  - fixtures/ruby-rspec-exception/Rakefile
105
120
  - fixtures/ruby-rspec-exception/spec/spec_helper.rb
106
121
  - fixtures/ruby-rspec-exception/spec/with_spec_helper_spec.rb
@@ -112,18 +127,23 @@ files:
112
127
  - fixtures/ruby-unknown-framework/Gemfile
113
128
  - lib/soundcheck.rb
114
129
  - lib/soundcheck/frameworks.rb
130
+ - lib/soundcheck/frameworks/cucumber.rb
131
+ - lib/soundcheck/frameworks/expresso.rb
132
+ - lib/soundcheck/frameworks/minitest.rb
133
+ - lib/soundcheck/frameworks/rspec.rb
134
+ - lib/soundcheck/frameworks/ruby_cutest.rb
115
135
  - lib/soundcheck/languages.rb
116
136
  - lib/soundcheck/logging.rb
117
137
  - lib/soundcheck/project.rb
118
138
  - soundcheck.gemspec
119
139
  - spec/soundcheck/frameworks/cucumber_spec.rb
120
140
  - spec/soundcheck/frameworks/expresso_spec.rb
141
+ - spec/soundcheck/frameworks/minitest_spec.rb
121
142
  - spec/soundcheck/frameworks/rspec_spec.rb
122
143
  - spec/soundcheck/frameworks/ruby_cutest_spec.rb
123
144
  - spec/soundcheck/frameworks_spec.rb
124
145
  - spec/soundcheck/languages_spec.rb
125
146
  - spec/soundcheck/project_spec.rb
126
- - spec/soundcheck_spec.rb
127
147
  - spec/spec_helper.rb
128
148
  homepage: http://github.com/marten/soundcheck
129
149
  licenses:
@@ -140,13 +160,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
140
160
  version: '0'
141
161
  segments:
142
162
  - 0
143
- hash: 4407562474867627896
163
+ hash: 3227260553618328212
144
164
  required_rubygems_version: !ruby/object:Gem::Requirement
145
165
  none: false
146
166
  requirements:
147
- - - ! '>'
167
+ - - ! '>='
148
168
  - !ruby/object:Gem::Version
149
- version: 1.3.1
169
+ version: '0'
150
170
  requirements: []
151
171
  rubyforge_project:
152
172
  rubygems_version: 1.8.11
@@ -1,41 +0,0 @@
1
- require_relative 'spec_helper'
2
- require File.expand_path(File.dirname(__FILE__) + '/../lib/soundcheck')
3
-
4
- CURRENT_PWD = Dir.pwd
5
-
6
- def cmd_for(path = nil, options = {})
7
- Soundcheck.new(path, options).command_to_run
8
- end
9
-
10
- describe "Soundcheck" do
11
- context "for a ruby project" do
12
- context "using rspec" do
13
- before(:all) { Dir.chdir(FIXTURES_ROOT + '/ruby-rspec') }
14
-
15
- it "should not use bundler when no Gemfile exists" do
16
- cmd_for.should == "rspec spec"
17
- end
18
-
19
- context "using bundler" do
20
- before(:all) { Dir.chdir(FIXTURES_ROOT + '/ruby-bundler-rspec') }
21
-
22
- it "should return 'bundle exec rspec spec' when run with no arguments" do
23
- cmd_for.should == "bundle exec rspec spec"
24
- end
25
-
26
- it "should return 'bundle exec rspec spec/with_spec_helper_spec.rb'" do
27
- cmd_for('spec/with_spec_helper_spec.rb').should == "bundle exec rspec spec/with_spec_helper_spec.rb"
28
- end
29
-
30
- it "should return 'rspec spec/without_spec_helper_spec.rb'" do
31
- cmd_for('spec/without_spec_helper_spec.rb').should == "rspec spec/without_spec_helper_spec.rb"
32
- end
33
- end
34
- end
35
-
36
- context "using minitest"
37
- context "using test::unit"
38
- end
39
-
40
- context "for a python project"
41
- end