test_launcher 1.1.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 773dc6472aa5d52fda9747f512de8ce5491e7d39
4
- data.tar.gz: 33b01ebf5203842361c3dbe69715631a86030bb5
3
+ metadata.gz: cba086681bd0243f3192c2e8ab7f7c64ecf6c4df
4
+ data.tar.gz: 2242f9e79779c288404c3928d151ffdbc556af39
5
5
  SHA512:
6
- metadata.gz: c042bfdebd18edd001ded31cd8d20f1cbc2f88255971a9fe9becd321e7bb24da5941286798e1d2c66da10ce8219edec306ede700219894ae7e33d39bf7ed8661
7
- data.tar.gz: 0a89feef0f7ed8d1172be53c2e43a46517904ade73502357cb6c9be20fb7f11c288b6e054d29ea28df08ed31b4f7713274a3591f0935e34855f3bd0cba18e871
6
+ metadata.gz: 461511ae00c5a6494f0539d55eff8583db0f33eed0728f761f2fd423a343d8458716b53479d1a41d70f4171cd27d93a29952f7cd65dc237b17dcc5b0e883202c
7
+ data.tar.gz: 4dd2e3d23b03f727d6060a7a6d4e0823bfb0d31d3f8ff1dcf51223fcc5482cfb1a9f1e7bb2f3519ecc0d0f4af1575e9b24d47adbf0ccb5dbd9f4a50059df8185
data/README.md CHANGED
@@ -53,6 +53,14 @@ test_launcher /Users/username/code/my_repo/test/models/blog_post_test.rb
53
53
  #=> ruby -I test test/models/blog_post_test.rb
54
54
  ```
55
55
 
56
+ But can it run two files for you?
57
+ ```
58
+ test_launcher blog_post_test.rb comment_test.rb
59
+
60
+ #=> ruby -I test test/models/blog_post_test.rb --name=test_blog_name_thing
61
+ #=> ruby -I test -e 'ARGV.each {|f| require(f)}' test/models/blog_post_test.rb test/models/comment_test.rb
62
+ ```
63
+
56
64
  ### Inline Gems
57
65
 
58
66
  Test Launcher will automatically move to the correct subdirectory in order to run the tests. For example, if `thing_test.rb` is within your inline_gem, you can run:
@@ -32,8 +32,6 @@ VERSION: #{TestLauncher::VERSION}
32
32
  if @query.size == 0
33
33
  puts option_parser
34
34
  exit
35
- elsif @query.size > 1
36
- puts "Concatenating args to single string. (see https://github.com/petekinnecom/test_launcher)"
37
35
  end
38
36
 
39
37
  @query.join(" ")
@@ -2,16 +2,22 @@ require "test_launcher/frameworks/base"
2
2
  require "test_launcher/frameworks/minitest"
3
3
  require "test_launcher/frameworks/rspec"
4
4
 
5
+ class Request < Struct.new(:query, :run_all)
6
+ end
7
+
5
8
  module TestLauncher
6
9
  module Frameworks
7
10
  def self.locate(framework_name:, input:, run_all:, shell:, searcher:)
11
+
12
+ request = Request.new(input, run_all)
13
+
8
14
  frameworks = guess_frameworks(framework_name)
9
15
 
10
16
  frameworks.each do |framework|
11
- search_results = framework::Locator.new(input, searcher).prioritized_results
17
+ search_results = framework::Locator.new(request, searcher).prioritized_results
12
18
  runner = framework::Runner.new
13
19
 
14
- command = Implementation::Consolidator.consolidate(search_results, shell, runner, run_all)
20
+ command = Implementation::Consolidator.consolidate(search_results, shell, runner)
15
21
 
16
22
  return command if command
17
23
  end
@@ -6,6 +6,11 @@ module TestLauncher
6
6
  class Collection < SimpleDelegator
7
7
  alias :results :__getobj__
8
8
 
9
+ def initialize(results:, run_all:)
10
+ super(results)
11
+ @run_all = run_all
12
+ end
13
+
9
14
  def file_count
10
15
  results.group_by(&:file).size
11
16
  end
@@ -21,6 +26,10 @@ module TestLauncher
21
26
  def last_edited
22
27
  results.sort_by(&:mtime).last
23
28
  end
29
+
30
+ def run_all?
31
+ @run_all
32
+ end
24
33
  end
25
34
  end
26
35
  end
@@ -1,7 +1,7 @@
1
1
  module TestLauncher
2
2
  module Frameworks
3
3
  module Implementation
4
- class Consolidator < Struct.new(:search_results, :shell, :runner, :run_all)
4
+ class Consolidator < Struct.new(:search_results, :shell, :runner)
5
5
 
6
6
  def self.consolidate(*args)
7
7
  new(*args).consolidate
@@ -50,7 +50,7 @@ module TestLauncher
50
50
  end
51
51
 
52
52
  def run_last_edited?
53
- ! run_all
53
+ ! search_results.run_all?
54
54
  end
55
55
 
56
56
  def last_edited
@@ -4,14 +4,10 @@ require "test_launcher/frameworks/implementation/collection"
4
4
  module TestLauncher
5
5
  module Frameworks
6
6
  module Implementation
7
- class Locator < Struct.new(:query, :searcher)
8
- private :query, :searcher
7
+ class Locator < Struct.new(:request, :searcher)
8
+ private :request, :searcher
9
9
 
10
10
  def prioritized_results
11
- Collection.new(_prioritized_results)
12
- end
13
-
14
- def _prioritized_results
15
11
  return files_found_by_absolute_path unless files_found_by_absolute_path.empty?
16
12
 
17
13
  return examples_found_by_name unless examples_found_by_name.empty?
@@ -26,22 +22,42 @@ module TestLauncher
26
22
  private
27
23
 
28
24
  def files_found_by_absolute_path
29
- return [] unless File.exist?(query)
25
+ potential_file_paths = request.query.split(" ")
26
+ return [] unless potential_file_paths.all? {|fp| File.exist?(fp)}
30
27
 
31
- [ build_result(file: query) ]
28
+ Collection.new(
29
+ results: potential_file_paths.map {|fp| build_result(file: fp)},
30
+ run_all: true
31
+ )
32
32
  end
33
33
 
34
34
  def examples_found_by_name
35
- @examples_found_by_name ||= full_regex_search(regex_pattern).map {|r| build_result(file: r[:file], query: query)}
35
+ @examples_found_by_name ||= Collection.new(
36
+ results: full_regex_search(regex_pattern).map {|r| build_result(file: r[:file], query: request.query)},
37
+ run_all: request.run_all
38
+ )
36
39
  end
37
40
 
38
41
  def files_found_by_file_name
39
- @files_found_by_file_name ||= searcher.find_files(query).select { |f| f.match(file_name_regex) }.map {|f| build_result(file: f) }
42
+ @files_found_by_file_name ||= begin
43
+ potential_file_paths = request.query.split(" ")
44
+ split_query_results = potential_file_paths.map {|fp| searcher.find_files(fp).select {|f| f.match(file_name_regex) } }
45
+
46
+ return [] if split_query_results.any?(&:empty?)
47
+
48
+ Collection.new(
49
+ results: split_query_results.flatten.map {|f| build_result(file: f) },
50
+ run_all: true,
51
+ )
52
+ end
40
53
  end
41
54
 
42
55
  def files_found_by_full_regex
43
56
  # we ignore the matched line since we don't know what to do with it
44
- @files_found_by_full_regex ||= full_regex_search(query).map {|r| build_result(file: r[:file]) }
57
+ @files_found_by_full_regex ||= Collection.new(
58
+ results: full_regex_search(request.query).map {|r| build_result(file: r[:file]) },
59
+ run_all: request.run_all
60
+ )
45
61
  end
46
62
 
47
63
  def full_regex_search(regex)
@@ -32,11 +32,6 @@ module TestLauncher
32
32
  File.join(app_root, test_root_folder_name)
33
33
  end
34
34
 
35
- def relative_test_path
36
- path = exploded_path[exploded_path.rindex(test_root_folder_name)..-1]
37
- File.join(path)
38
- end
39
-
40
35
  def spring_enabled?
41
36
  return false if ENV['DISABLE_SPRING']
42
37
 
@@ -18,11 +18,11 @@ module TestLauncher
18
18
  "--name=/#{test_case.example}/"
19
19
  end
20
20
 
21
- %{cd #{test_case.app_root} && #{test_case.runner} #{test_case.relative_test_path} #{name}}
21
+ %{cd #{test_case.app_root} && #{test_case.runner} #{test_case.file} #{name}}
22
22
  end
23
23
 
24
24
  def one_or_more_files(test_cases)
25
- %{cd #{test_cases.first.app_root} && #{test_cases.first.runner} #{test_cases.map(&:relative_test_path).join(" ")}}
25
+ %{cd #{test_cases.first.app_root} && #{test_cases.first.runner} #{test_cases.map(&:file).join(" ")}}
26
26
  end
27
27
  end
28
28
 
@@ -38,7 +38,7 @@ module TestLauncher
38
38
  end
39
39
 
40
40
  def regex_pattern
41
- "^\s*def test_.*#{query.sub(/^test_/, "")}.*"
41
+ "^\s*def test_.*#{request.query.sub(/^test_/, "")}.*"
42
42
  end
43
43
 
44
44
  def test_case_class
@@ -54,7 +54,7 @@ module TestLauncher
54
54
  elsif is_example?
55
55
  "bundle exec ruby -I test"
56
56
  else
57
- "bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}'"
57
+ "bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}'"
58
58
  end
59
59
  end
60
60
 
@@ -12,11 +12,11 @@ module TestLauncher
12
12
 
13
13
  class Runner < Base::Runner
14
14
  def single_example(test_case)
15
- %{cd #{test_case.app_root} && rspec #{test_case.relative_test_path} --example #{Shellwords.escape(test_case.example)}}
15
+ %{cd #{test_case.app_root} && rspec #{test_case.file} --example #{Shellwords.escape(test_case.example)}}
16
16
  end
17
17
 
18
18
  def one_or_more_files(test_cases)
19
- %{cd #{test_cases.first.app_root} && rspec #{test_cases.map(&:relative_test_path).join(" ")}}
19
+ %{cd #{test_cases.first.app_root} && rspec #{test_cases.map(&:file).join(" ")}}
20
20
  end
21
21
  end
22
22
 
@@ -32,7 +32,7 @@ module TestLauncher
32
32
  end
33
33
 
34
34
  def regex_pattern
35
- "^\s*(it|context|(RSpec.)?describe) .*#{query}.* do.*"
35
+ "^\s*(it|context|(RSpec.)?describe) .*#{request.query}.* do.*"
36
36
  end
37
37
 
38
38
  def test_case_class
@@ -1,3 +1,3 @@
1
1
  module TestLauncher
2
- VERSION = "1.1.0"
2
+ VERSION = "1.3.0"
3
3
  end
data/test/install CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- gem uninstall -Ix test_launcher && gem build test_launcher.gemspec && gem install test_launcher-1.0.0.gem
3
+ gem uninstall -Ix test_launcher && gem build test_launcher.gemspec && gem install test_launcher-`grep -oEi '\d.\d.\d' lib/test_launcher/version.rb`.gem
data/test/test_helper.rb CHANGED
@@ -54,6 +54,10 @@ class TestCase < Minitest::Test
54
54
 
55
55
  private
56
56
 
57
+ def system_path(relative_dir)
58
+ File.join(Dir.pwd, relative_dir)
59
+ end
60
+
57
61
  def dummy_shell
58
62
  @dummy_shell ||= DummyShell.new
59
63
  end
@@ -4,53 +4,58 @@ module TestLauncher
4
4
  class MinitestIntegrationTest < TestCase
5
5
  def test__single_method
6
6
  TestLauncher.launch("file_name_1__method_name_1", framework: "minitest")
7
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test test/class_1_test.rb --name=/file_name_1__method_name_1/", Shell::Runner.recall_exec
7
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")} --name=/file_name_1__method_name_1/", Shell::Runner.recall_exec
8
8
  end
9
9
 
10
10
  def test__multiple_methods__same_file
11
11
  TestLauncher.launch("file_name_1", framework: "minitest")
12
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test test/class_1_test.rb --name=/file_name_1/", Shell::Runner.recall_exec
12
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")} --name=/file_name_1/", Shell::Runner.recall_exec
13
13
  end
14
14
 
15
15
  def test__multiple_methods__different_files
16
16
  TestLauncher.launch("multiple_files__same_method", framework: "minitest")
17
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test test/class_2_test.rb --name=/multiple_files__same_method/", Shell::Runner.recall_exec
17
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test #{system_path("test/test_launcher/fixtures/minitest/test/class_2_test.rb")} --name=/multiple_files__same_method/", Shell::Runner.recall_exec
18
18
  end
19
19
 
20
20
  def test__single_file
21
21
  TestLauncher.launch("class_1_test", framework: "minitest")
22
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}' test/class_1_test.rb", Shell::Runner.recall_exec
22
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")}", Shell::Runner.recall_exec
23
23
  end
24
24
 
25
25
  def test__uses_spring
26
26
  TestLauncher.launch("different_roo""t_test", framework: "minitest") # don't trigger the find in *this* file
27
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest/test/different_root")} && bundle exec spring testunit test/different_root_test.rb", Shell::Runner.recall_exec
27
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest/test/different_root")} && bundle exec spring testunit #{system_path("test/test_launcher/fixtures/minitest/test/different_root/test/different_root_test.rb")}", Shell::Runner.recall_exec
28
28
  end
29
29
 
30
- def test__multiple_files
30
+ def test__multiple_files__found
31
31
  TestLauncher.launch("Root1""Dum""myTest""Class", framework: "minitest") # don't trigger the find in *this* file
32
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}' test/class_2_test.rb", Shell::Runner.recall_exec
32
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' #{system_path("test/test_launcher/fixtures/minitest/test/class_2_test.rb")}", Shell::Runner.recall_exec
33
33
  end
34
34
 
35
- def test__multiple_files__all
35
+ def test__multiple_files__found__all
36
36
  TestLauncher.launch("Root1""DummyTest""Class", run_all: true, framework: "minitest") # don't trigger the find in *this* file
37
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}' test/class_1_test.rb test/class_2_test.rb", Shell::Runner.recall_exec
37
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")} #{system_path("test/test_launcher/fixtures/minitest/test/class_2_test.rb")}", Shell::Runner.recall_exec
38
+ end
39
+
40
+ def test__multiple_file_paths
41
+ TestLauncher.launch("class_1_tes""t.rb class_2_test.rb", framework: "minitest") # don't trigger the find in *this* file
42
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")} #{system_path("test/test_launcher/fixtures/minitest/test/class_2_test.rb")}", Shell::Runner.recall_exec
38
43
  end
39
44
 
40
45
  def test__multiple_files__different_roots__all
41
46
  TestLauncher.launch("DummyTest""Class", run_all: true, framework: "minitest") # don't trigger the find in *this* file
42
- expected = "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}' test/class_1_test.rb test/class_2_test.rb; cd -;\n\ncd #{system_path("test/test_launcher/fixtures/minitest/test/different_root")} && bundle exec spring testunit test/different_root_test.rb"
47
+ expected = "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")} #{system_path("test/test_launcher/fixtures/minitest/test/class_2_test.rb")}; cd -;\n\ncd #{system_path("test/test_launcher/fixtures/minitest/test/different_root")} && bundle exec spring testunit #{system_path("test/test_launcher/fixtures/minitest/test/different_root/test/different_root_test.rb")}"
43
48
  assert_equal expected, Shell::Runner.recall_exec
44
49
  end
45
50
 
46
51
  def test__regex
47
52
  TestLauncher.launch("Root1""DummyTest""Class1""Test", framework: "minitest") # don't trigger the find in *this* file
48
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}' test/class_1_test.rb", Shell::Runner.recall_exec
53
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")}", Shell::Runner.recall_exec
49
54
  end
50
55
 
51
56
  def test__regex__does_not_test_helper__methods
52
57
  TestLauncher.launch("helper_meth""od", framework: "minitest") # don't trigger the find in *this* file
53
- assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}' test/class_1_test.rb", Shell::Runner.recall_exec
58
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/minitest")} && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' #{system_path("test/test_launcher/fixtures/minitest/test/class_1_test.rb")}", Shell::Runner.recall_exec
54
59
  end
55
60
 
56
61
  def test__not_found
@@ -4,53 +4,58 @@ module TestLauncher
4
4
  class RspecIntegrationTest < TestCase
5
5
  def test__single_method
6
6
  TestLauncher.launch("file_name_1 example_name_""1", framework: "rspec")
7
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_1_spec.rb --example file_name_1\\ example_name_1", Shell::Runner.recall_exec
7
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")} --example file_name_1\\ example_name_1", Shell::Runner.recall_exec
8
8
  end
9
9
 
10
10
  def test__single_context
11
11
  TestLauncher.launch("file_name_1 con""text_1", framework: "rspec")
12
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_1_spec.rb --example file_name_1\\ context_1", Shell::Runner.recall_exec
12
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")} --example file_name_1\\ context_1", Shell::Runner.recall_exec
13
13
  end
14
14
 
15
15
  def test__single_describe
16
16
  TestLauncher.launch("Root1DummyTes""tClass1", framework: "rspec")
17
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_1_spec.rb --example Root1DummyTes""tClass1", Shell::Runner.recall_exec
17
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")} --example Root1DummyTes""tClass1", Shell::Runner.recall_exec
18
18
  end
19
19
 
20
20
  def test__multiple_methods__same_file
21
21
  TestLauncher.launch("file_name_1", framework: "rspec")
22
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_1_spec.rb --example file_name_1", Shell::Runner.recall_exec
22
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")} --example file_name_1", Shell::Runner.recall_exec
23
23
  end
24
24
 
25
25
  def test__multiple_methods__different_files
26
26
  TestLauncher.launch("multiple_files same_example", framework: "rspec")
27
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_2_spec.rb --example multiple_files\\ same_example", Shell::Runner.recall_exec
27
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_2_spec.rb")} --example multiple_files\\ same_example", Shell::Runner.recall_exec
28
28
  end
29
29
 
30
30
  def test__single_file
31
31
  TestLauncher.launch("class_1_spec", framework: "rspec")
32
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_1_spec.rb", Shell::Runner.recall_exec
32
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")}", Shell::Runner.recall_exec
33
33
  end
34
34
 
35
- def test__multiple_files
35
+ def test__multiple_files__found
36
36
  TestLauncher.launch("Root1", framework: "rspec") # don't trigger the find in *this* file
37
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_2_spec.rb --example Roo""t1", Shell::Runner.recall_exec
37
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_2_spec.rb")} --example Roo""t1", Shell::Runner.recall_exec
38
38
  end
39
39
 
40
- def test__multiple_files__all
40
+ def test__multiple_files__found__all
41
41
  TestLauncher.launch("Root1""DummyTest""Class", run_all: true, framework: "rspec") # don't trigger the find in *this* file
42
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_1_spec.rb spec/class_2_spec.rb", Shell::Runner.recall_exec
42
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")} #{system_path("test/test_launcher/fixtures/rspec/spec/class_2_spec.rb")}", Shell::Runner.recall_exec
43
+ end
44
+
45
+ def test__multiple_file_paths
46
+ TestLauncher.launch("class_1_spec.rb class_2_spec.rb", framework: "rspec") # don't trigger the find in *this* file
47
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")} #{system_path("test/test_launcher/fixtures/rspec/spec/class_2_spec.rb")}", Shell::Runner.recall_exec
43
48
  end
44
49
 
45
50
  def test__multiple_files__different_roots__all
46
51
  TestLauncher.launch("DummyTest""Class", run_all: true, framework: "rspec") # don't trigger the find in *this* file
47
- expected = "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_1_spec.rb spec/class_2_spec.rb; cd -;\n\ncd #{system_path("test/test_launcher/fixtures/rspe")}c/spec/different_root && rspec spec/different_root_spec.rb"
52
+ expected = "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_1_spec.rb")} #{system_path("test/test_launcher/fixtures/rspec/spec/class_2_spec.rb")}; cd -;\n\ncd #{system_path("test/test_launcher/fixtures/rspec/spec/different_root")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/different_root/spec/different_root_spec.rb")}"
48
53
  assert_equal expected, Shell::Runner.recall_exec
49
54
  end
50
55
 
51
56
  def test__regex
52
57
  TestLauncher.launch("a_test_that_u""ses", framework: "rspec") # don't trigger the find in *this* file
53
- assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec spec/class_2_spec.rb", Shell::Runner.recall_exec
58
+ assert_equal "cd #{system_path("test/test_launcher/fixtures/rspec")} && rspec #{system_path("test/test_launcher/fixtures/rspec/spec/class_2_spec.rb")}", Shell::Runner.recall_exec
54
59
  end
55
60
 
56
61
  def test__not_found
@@ -5,14 +5,14 @@ module TestLauncher
5
5
  class RubymineTest < TestCase
6
6
  def test_launch__run__file
7
7
  args = "/Users/username/some_app/bin/spring testunit /Users/username/some_app/engines/some_engine/test/does_something_test.rb"
8
- expected_command = "cd /Users/username/some_app/engines/some_engine && bundle exec ruby -I test -e 'ARGV.each {|f| require(File.join(Dir.pwd, f))}' test/does_something_test.rb"
8
+ expected_command = "cd /Users/username/some_app/engines/some_engine && bundle exec ruby -I test -e 'ARGV.each {|f| require(f)}' /Users/username/some_app/engines/some_engine/test/does_something_test.rb"
9
9
 
10
10
  assert_executes expected_command, args
11
11
  end
12
12
 
13
13
  def test_launch__run__example
14
14
  args = "/Users/username/some_app/bin/spring testunit /Users/username/some_app/engines/some_engine/test/does_something_test.rb --name=some_test_name"
15
- expected_command = "cd /Users/username/some_app/engines/some_engine && bundle exec ruby -I test test/does_something_test.rb --name=some_test_name"
15
+ expected_command = "cd /Users/username/some_app/engines/some_engine && bundle exec ruby -I test /Users/username/some_app/engines/some_engine/test/does_something_test.rb --name=some_test_name"
16
16
 
17
17
  assert_executes expected_command, args
18
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_launcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pete Kinnecom
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-11 00:00:00.000000000 Z
11
+ date: 2016-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler