test_launcher 1.1.0 → 1.3.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.
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