splot 0.0.1 → 0.5.1

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: c04e7305e738732e77b9a84f76475766b359d25f
4
- data.tar.gz: f3ace6ce20f136b5187d3117eae7311721d23fed
3
+ metadata.gz: e7239341b56f137cc8eb9e3ee90ad87f963c7be2
4
+ data.tar.gz: 1374d68cb52b2b77279b08e349a3ceae0de2402d
5
5
  SHA512:
6
- metadata.gz: 747a98ac47f7f4d0d312ca7f29189bd2a0474e0270faa22a0ef85fabc057cca8e12e629bde4ec4db96c0435349ea582ba539fd8faf8b80127a8d353533b0f29f
7
- data.tar.gz: 760e746ed1a79c5f38cc09fe9ad56634ad9563a92c306149220a3e94560dee344dc38281d0e2fe5ad96a766586c05c4fa1b712636a9096180c1a20bc38b2f18e
6
+ metadata.gz: 34b95e19ee56c4350fb7817d3f584076700a6f0d19b6f69807a70f15e9d5682ed6009366d9f29ba42e753f55eac4e9309bc46008fa397f22c8c65fbf9dddc2f7
7
+ data.tar.gz: b15e8603ce6d104a9084523831bfad7adcd51826b344a04558aa22f195185b9189d63b961f07783a91ad465c3492e9970d42da97ec45503dcd5fea668434cbc6
data/Rakefile CHANGED
@@ -1 +1,16 @@
1
+ require "rake/testtask"
1
2
  require "bundler/gem_tasks"
3
+
4
+ ENV['COVERAGE'] = '1'
5
+
6
+ Rake::TestTask.new do |t|
7
+ t.pattern = 'test/*_test.rb'
8
+ t.libs << 'test'
9
+ end
10
+
11
+ desc "Update ctags"
12
+ task :ctags do
13
+ `ctags -R --languages=Ruby --totals -f tags`
14
+ end
15
+
16
+ task default: :test
data/bin/splot CHANGED
@@ -1,87 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'open3'
4
- require 'optparse'
5
-
6
- options = {}
7
-
8
- OptionParser.new do |opts|
9
- opts.banner = "Usage: #{File.basename($PROGRAM_NAME)} [options]"
10
-
11
- opts.on('-f', '--file FILE', 'Run test for a given FILE') do |file|
12
- options[:file] = file
13
- end
14
-
15
- opts.on('-l', '--line LINE', 'Only run test on LINE') do |line|
16
- options[:line] = line.to_i
17
- end
18
-
19
- opts.on('-p', '--preloader PRELOADER', 'Use e.g. zeus or spring to preload the environment') do |preloader|
20
- options[:preloader] = preloader
21
- end
22
- end.parse!
23
-
24
- module ContextTest
25
- extend self
26
-
27
- module MinitestCommand
28
- extend self
29
-
30
- ACTIVE_SUPPORT_TEST_CASE_MATCHER = %r{
31
- \A\s*test\s+ # test
32
- (?: #
33
- "(?<double_quote>.*)" # "it should work"
34
- | # OR
35
- '(?<single_quote>.*)' # 'it should work'
36
- ) #
37
- \s+do\s*\Z # do\n
38
- }x
39
-
40
- TEST_UNIT_MATCHER = %r{
41
- \A\s*def\s+ # def
42
- (?<test_name> #
43
- test_ # test_
44
- [a-zA-Z_]+ # it_should_work
45
- [\?!=]? # ?
46
- ) #
47
- \s*\Z # \n
48
- }x
49
-
50
- def command(file: nil, line: nil, preloader: nil)
51
- command = [preloader, "rake test"].compact
52
- command << file if file
53
- command << parse_line(file, line) if line
54
- command.join ' '
55
- end
56
-
57
- def parse_line(file, line)
58
- test_name = nil
59
- line_no = 0
60
- File.open file do |io|
61
- until io.eof?
62
- line_text = io.gets
63
- line_no += 1
64
- line_text.match ACTIVE_SUPPORT_TEST_CASE_MATCHER do |matches|
65
- match = matches[:double_quote] || matches[:single_quote]
66
- test_name = "test_#{match.gsub(/\s+/, '_')}"
67
- end
68
- line_text.match TEST_UNIT_MATCHER do |matches|
69
- test_name = matches[:test_name]
70
- end
71
- return to_arg(test_name) if line_no == line && test_name
72
- end
73
- end
74
- fail "Could not find test for line #{line} of file #{file}"
75
- end
76
-
77
- def to_arg(test_name)
78
- "TESTOPTS=\"-n #{test_name}\""
79
- end
80
- end
81
-
82
- def run(str)
83
- exec str
84
- end
3
+ begin
4
+ require "splot"
5
+ rescue LoadError
6
+ require "rubygems"
7
+ require "splot"
85
8
  end
86
9
 
87
- ContextTest.run ContextTest::MinitestCommand.command options
10
+ Kernel.exec Splot.build_command_from_argv
data/lib/splot.rb CHANGED
@@ -1,5 +1,28 @@
1
+ require "optparse"
2
+ require "pathname"
3
+
1
4
  require "splot/version"
2
5
 
3
6
  module Splot
4
- # Your code goes here...
7
+ autoload :Command, "splot/command"
8
+ autoload :CorrespondingFile, "splot/corresponding_file"
9
+ autoload :Runner, "splot/runner"
10
+
11
+ RunnerNotFoundError = Class.new StandardError
12
+
13
+ def self.command(params = {})
14
+ new_file = CorrespondingFile.fetch params[:file]
15
+ unless new_file == params[:file]
16
+ params[:file] = new_file
17
+ params.delete(:line)
18
+ end
19
+ Command.for(params[:file]).new(params).command
20
+ end
21
+
22
+ def self.build_command_from_argv
23
+ Runner.new.tap(&:parse).command
24
+ rescue RunnerNotFoundError => e
25
+ warn "Warning: #{e}; will not run any test"
26
+ exit 2
27
+ end
5
28
  end
@@ -0,0 +1,167 @@
1
+ module Splot
2
+ class Command
3
+ attr :include_path, :line_no, :file, :preloader
4
+
5
+ def initialize(params = {})
6
+ @file = params.fetch(:file).to_str
7
+ @include_path = params[:include_path]
8
+ @line_no = Integer(params[:line]) if params.has_key? :line
9
+ @preloader = params[:preloader].to_str if params.has_key? :preloader
10
+ end
11
+
12
+ def self.for(file)
13
+ ObjectSpace.each_object(Class).select { |klass| klass < self }.each do |subklass|
14
+ return subklass if subklass.match? file
15
+ end
16
+ self
17
+ end
18
+
19
+ def self.match?(file)
20
+ false
21
+ end
22
+
23
+ def command
24
+ [
25
+ preloader, # "spring"
26
+ runner, # "rake test"
27
+ include_args, # "-Itest"
28
+ file_arg, # "TEST=\"/path/to/test.rb\""
29
+ line_no_arg, # "TESTOPTS=\"-n test_foo\""
30
+ ].compact * ' '
31
+ end
32
+
33
+ def file_arg
34
+ file
35
+ end
36
+
37
+ def include_args
38
+ include_path ? "-I#{include_path}" : nil
39
+ end
40
+
41
+ def line_no_arg
42
+ line_no ? "-l #{line_no}" : nil
43
+ end
44
+
45
+ def runner
46
+ raise RunnerNotFoundError, "cannot determine runner for #{file.inspect}"
47
+ end
48
+ end
49
+
50
+ class CucumberCommand < Command
51
+ def self.match?(file)
52
+ file.match %r{\.feature\Z}
53
+ end
54
+
55
+ def include_args
56
+ return super if include_path.nil?
57
+ raise ArgumentError, "Cucumber does not support include arguments"
58
+ end
59
+
60
+ def runner
61
+ 'cucumber'
62
+ end
63
+ end
64
+
65
+ class RSpecCommand < Command
66
+ def self.match?(file)
67
+ file.match /\_spec\.rb\Z/
68
+ end
69
+
70
+ def runner
71
+ 'rspec'
72
+ end
73
+ end
74
+
75
+ class TestUnitCommand < Command
76
+
77
+ ACTIVE_SUPPORT_TEST_CASE_MATCHER = %r{
78
+ \A\s*test\s+ # test
79
+ (?: #
80
+ "(?<double_quote>.*)" # "it should work"
81
+ | # OR
82
+ '(?<single_quote>.*)' # 'it should work'
83
+ ) #
84
+ \s+do\s*\Z # do\n
85
+ }x
86
+
87
+ TEST_UNIT_MATCHER = %r{
88
+ \A\s*def\s+ # def
89
+ (?<test_name> #
90
+ test_ # test_
91
+ [a-zA-Z_]+ # it_should_work
92
+ [\?!=]? # ?
93
+ ) #
94
+ \s*\Z # \n
95
+ }x
96
+
97
+ def initialize(params = {})
98
+ @runner = params.fetch(:runner) { "rake test" }
99
+ super
100
+ end
101
+
102
+ def self.match?(file)
103
+ file.match /\_test\.rb/
104
+ end
105
+
106
+ def file_arg
107
+ if rake?
108
+ "TEST=#{file}"
109
+ else
110
+ super
111
+ end
112
+ end
113
+
114
+ def rake?
115
+ runner == "rake test"
116
+ end
117
+
118
+ def runner
119
+ @runner
120
+ end
121
+
122
+ def line_no_arg
123
+ test_name = catch(:test_name) { fetch_test_name }
124
+ return nil if test_name.nil?
125
+ arg = "--name=#{test_name}"
126
+ rake? ? "TESTOPTS=#{arg.inspect}" : arg
127
+ end
128
+
129
+ def fetch_test_name
130
+ return nil if line_no.nil?
131
+ current_test_name = nil
132
+ read_file do |current_line_no, line|
133
+ match_test_method(line) { |match| current_test_name = match }
134
+ throw :test_name, current_test_name if current_line_no == line_no
135
+ end
136
+ end
137
+
138
+ def match_test_method(line, &block)
139
+ match_active_support line, &block
140
+ match_test_unit line, &block
141
+ end
142
+
143
+ def match_active_support(line)
144
+ line.match ACTIVE_SUPPORT_TEST_CASE_MATCHER do |matches|
145
+ quoted_bit = matches[:double_quote] || matches[:single_quote]
146
+ yield "test_#{quoted_bit.gsub(/\s+/, '_')}"
147
+ end
148
+ end
149
+
150
+ def match_test_unit(line)
151
+ line.match TEST_UNIT_MATCHER do |matches|
152
+ yield matches[:test_name]
153
+ end
154
+ end
155
+
156
+ def read_file
157
+ current_line_no = 0
158
+ File.open file do |io|
159
+ until io.eof?
160
+ current_line_no += 1
161
+ line_text = io.gets
162
+ yield current_line_no, line_text
163
+ end
164
+ end
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,36 @@
1
+ module Splot
2
+ class CorrespondingFile
3
+ def self.fetch(file)
4
+ catch :test_file do
5
+ root_path = Pathname.new File.expand_path Dir.pwd
6
+ file_path = Pathname.new File.expand_path file
7
+ relative_path = file_path.relative_path_from(root_path).to_s
8
+ if %r{\Alib/(?<bit>.*)\.rb} =~ relative_path
9
+ ['test', 'spec'].each do |e|
10
+ try_file "#{e}/lib/#{bit}_#{e}.rb"
11
+ try_file "#{e}/#{bit}_#{e}.rb"
12
+ end
13
+ end
14
+ if %r{\Aapp/(?<subdir>[a-z_]+)/(?<bit>.*)\.rb} =~ relative_path
15
+ ['test', 'spec'].each do |e|
16
+ alternate_subdir = {
17
+ models: "unit",
18
+ controllers: "functional",
19
+ }[subdir.to_sym]
20
+ try_file "#{e}/#{subdir}/#{bit}_#{e}.rb"
21
+ try_file "#{e}/#{alternate_subdir}/#{bit}_#{e}.rb" if alternate_subdir
22
+ end
23
+ end
24
+ file
25
+ end
26
+ end
27
+
28
+ def self.try_file(test_path)
29
+ throw :test_file, test_path if file_exists? test_path
30
+ end
31
+
32
+ def self.file_exists?(file)
33
+ File.size? file
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,39 @@
1
+ module Splot
2
+ class Runner
3
+ attr :params
4
+
5
+ def initialize
6
+ @params = {}
7
+ end
8
+
9
+ def command
10
+ ::Splot.command params
11
+ end
12
+
13
+ def parse
14
+ OptionParser.new do |opts|
15
+ opts.banner = "Usage: #{File.basename($PROGRAM_NAME)} [options]"
16
+
17
+ opts.on('-f', '--file FILE', 'Run test for a given FILE') do |file|
18
+ params[:file] = file
19
+ end
20
+
21
+ opts.on('-i', '--include-path PATH', 'Add an include PATH') do |path|
22
+ params[:include_path] = path
23
+ end
24
+
25
+ opts.on('-l', '--line LINE', 'Only run test on LINE') do |line|
26
+ params[:line] = line.to_i
27
+ end
28
+
29
+ opts.on('-r', '--runner RUNNER', 'Specify alternate runner') do |runner|
30
+ params[:runner] = runner
31
+ end
32
+
33
+ opts.on('-p', '--preloader PRELOADER', 'Use e.g. zeus or spring to preload the environment') do |preloader|
34
+ params[:preloader] = preloader
35
+ end
36
+ end.parse!
37
+ end
38
+ end
39
+ end
data/lib/splot/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Splot
2
- VERSION = "0.0.1"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -0,0 +1,80 @@
1
+ require 'test_helper'
2
+
3
+ class CorrespondingFileTest < Minitest::Test
4
+ include Splot
5
+
6
+ def test_looks_in_test_and_spec_when_file_is_in_lib
7
+ mock_files_existing "test/my_class_test.rb" do
8
+ assert_equal "test/my_class_test.rb",
9
+ CorrespondingFile.fetch("lib/my_class.rb")
10
+ end
11
+ mock_files_existing "spec/my_class_spec.rb" do
12
+ assert_equal "spec/my_class_spec.rb",
13
+ CorrespondingFile.fetch("lib/my_class.rb")
14
+ end
15
+ end
16
+
17
+ def test_lib_directory_priority
18
+ mock_files_existing "test/my_class_test.rb", "test/lib/my_class_test.rb" do
19
+ assert_equal "test/lib/my_class_test.rb",
20
+ CorrespondingFile.fetch("lib/my_class.rb")
21
+ end
22
+ end
23
+
24
+ def test_namespacing
25
+ mock_files_existing "test/lib/my_namespace/my_class_test.rb" do
26
+ assert_equal "test/lib/my_namespace/my_class_test.rb",
27
+ CorrespondingFile.fetch("lib/my_namespace/my_class.rb")
28
+ end
29
+ end
30
+
31
+ def test_rails_models
32
+ mock_files_existing "test/unit/my_model_test.rb" do
33
+ assert_equal "test/unit/my_model_test.rb",
34
+ CorrespondingFile.fetch("app/models/my_model.rb")
35
+ end
36
+ mock_files_existing "test/models/my_model_test.rb" do
37
+ assert_equal "test/models/my_model_test.rb",
38
+ CorrespondingFile.fetch("app/models/my_model.rb")
39
+ end
40
+ end
41
+
42
+ def test_rails_controllers
43
+ mock_files_existing "test/functional/my_controller_test.rb" do
44
+ assert_equal "test/functional/my_controller_test.rb",
45
+ CorrespondingFile.fetch("app/controllers/my_controller.rb")
46
+ end
47
+ mock_files_existing "test/controllers/my_controller_test.rb" do
48
+ assert_equal "test/controllers/my_controller_test.rb",
49
+ CorrespondingFile.fetch("app/controllers/my_controller.rb")
50
+ end
51
+ end
52
+
53
+ def test_rails_custom_app_load_path
54
+ mock_files_existing "test/services/my_service_test.rb" do
55
+ assert_equal "test/services/my_service_test.rb",
56
+ CorrespondingFile.fetch("app/services/my_service.rb")
57
+ end
58
+ end
59
+
60
+ private
61
+
62
+ def mock_files_existing(*files)
63
+ File.singleton_class.class_eval <<-CLASS_EVAL, __FILE__, __LINE__
64
+ alias_method :size_orig?, :size?
65
+
66
+ def size?(file) # def size?(file)
67
+ #{files.inspect}.include?(file) # ["fileA", "my/fileB"].include?(file)
68
+ end # end
69
+ CLASS_EVAL
70
+
71
+ begin
72
+ yield
73
+ ensure
74
+ File.singleton_class.class_eval <<-CLASS_EVAL, __FILE__, __LINE__
75
+ alias_method :size?, :size_orig?
76
+ undef :size_orig?
77
+ CLASS_EVAL
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,10 @@
1
+ require "fake_test_helper"
2
+
3
+ class ActiveSupportExampleTest < ActiveSupport::TestCase
4
+ test "will always pass" do
5
+ assert true
6
+ end
7
+ test "will always fail" do
8
+ refute true
9
+ end
10
+ end
@@ -0,0 +1,2 @@
1
+ require "minitest"
2
+ require "minitest/autorun"
@@ -0,0 +1,10 @@
1
+ require "fake_test_helper"
2
+
3
+ class SampleTest < Minitest::Test
4
+ def test_always_passes
5
+ assert true
6
+ end
7
+ def test_always_fails
8
+ refute true
9
+ end
10
+ end
@@ -0,0 +1,117 @@
1
+ require "test_helper"
2
+
3
+ class SplotTest < Minitest::Test
4
+ def test_binary
5
+ assert_equal 0, run_binary(runner: "ruby", include_path: "test/fixtures", file: "test/fixtures/test_unit_example_test.rb", line: 5)
6
+ refute_equal 0, run_binary(runner: "ruby", include_path: "test/fixtures", file: "test/fixtures/test_unit_example_test.rb", line: 8)
7
+ assert_equal 2, run_binary(runner: "ruby", include_path: "test/fixtures", file: "non/existent/file.rb")
8
+ end
9
+
10
+ def test_test_unit
11
+ assert_equal "rake test TEST=test/fixtures/test_unit_example_test.rb",
12
+ Splot.command(file: test_unit_rb)
13
+
14
+ assert_equal "rake test TEST=test/fixtures/test_unit_example_test.rb TESTOPTS=\"--name=test_always_passes\"",
15
+ Splot.command(file: test_unit_rb, line: 5)
16
+ assert_equal "rake test TEST=test/fixtures/test_unit_example_test.rb TESTOPTS=\"--name=test_always_fails\"",
17
+ Splot.command(file: test_unit_rb, line: 8)
18
+ end
19
+
20
+ def test_test_unit_with_ruby_runner
21
+ assert_equal "ruby test/fixtures/test_unit_example_test.rb",
22
+ Splot.command(runner: "ruby", file: test_unit_rb)
23
+ end
24
+
25
+ def test_test_unit_with_invalid_line_numbers
26
+ assert_equal "rake test TEST=test/fixtures/test_unit_example_test.rb",
27
+ Splot.command(file: test_unit_rb, line: 1)
28
+ end
29
+
30
+ def test_activesupport_test_unit
31
+ assert_equal "rake test TEST=test/fixtures/activesupport_example_test.rb",
32
+ Splot.command(file: activesupport_test_rb)
33
+
34
+ assert_equal "rake test TEST=test/fixtures/activesupport_example_test.rb TESTOPTS=\"--name=test_will_always_pass\"",
35
+ Splot.command(file: activesupport_test_rb, line: 5)
36
+ assert_equal "rake test TEST=test/fixtures/activesupport_example_test.rb TESTOPTS=\"--name=test_will_always_fail\"",
37
+ Splot.command(file: activesupport_test_rb, line: 8)
38
+ end
39
+
40
+ def test_cucumber
41
+ assert_equal "cucumber path/to/cucumber_example.feature",
42
+ Splot.command(file: cucumber_feature)
43
+
44
+ assert_equal "cucumber path/to/cucumber_example.feature -l 2",
45
+ Splot.command(file: cucumber_feature, line: 2)
46
+ end
47
+
48
+ def test_rspec
49
+ assert_equal "rspec path/to/rspec_example_spec.rb",
50
+ Splot.command(file: rspec_spec_rb)
51
+
52
+ assert_equal "rspec path/to/rspec_example_spec.rb -l 3",
53
+ Splot.command(file: rspec_spec_rb, line: 3)
54
+ end
55
+
56
+ def test_unknown
57
+ assert_raises Splot::RunnerNotFoundError do
58
+ Splot.command file: "path/to/any_old_ruby_file.rb"
59
+ end
60
+ end
61
+
62
+ def test_preloader
63
+ assert_equal "spring rspec my_spec.rb",
64
+ Splot.command(file: "my_spec.rb", preloader: "spring")
65
+ end
66
+
67
+ def test_adding_include_paths
68
+ assert_equal "rake test -Imy_lib_dir TEST=test/fixtures/test_unit_example_test.rb",
69
+ Splot.command(file: test_unit_rb, include_path: "my_lib_dir")
70
+ assert_equal "rspec -Imy_lib_dir path/to/rspec_example_spec.rb",
71
+ Splot.command(file: rspec_spec_rb, include_path: "my_lib_dir")
72
+ assert_raises ArgumentError do
73
+ assert_equal "cucumber -Imy_lib_dir TEST=path/to/cucumber_example.feature",
74
+ Splot.command(file: cucumber_feature, include_path: "my_lib_dir")
75
+ end
76
+ end
77
+
78
+ def test_lib_files_automatically_translate_to_corresponding_test
79
+ assert_equal "rake test TEST=test/splot_test.rb",
80
+ Splot.command(file: "lib/splot.rb")
81
+ # Forget the line number when we change files
82
+ assert_equal "rake test TEST=test/splot_test.rb",
83
+ Splot.command(file: "lib/splot.rb", line: 5)
84
+ end
85
+
86
+ private
87
+
88
+ def run_binary(params = {})
89
+ Process::fork do
90
+ command = params.each_with_object 'bin/splot' do |(k,v), str|
91
+ str << " --#{k.to_s.gsub('_', '-')} #{v}"
92
+ end
93
+ $stdout.reopen File.open("/dev/null", "w+")
94
+ $stderr.reopen File.open("/dev/null", "w+")
95
+ command.insert 0, "RUBYLIB=#{File.expand_path('../../lib', __FILE__)}:$RUBYLIB "
96
+ exec command
97
+ end
98
+ Process::wait
99
+ $?.exitstatus
100
+ end
101
+
102
+ def activesupport_test_rb
103
+ "test/fixtures/activesupport_example_test.rb"
104
+ end
105
+
106
+ def cucumber_feature
107
+ "path/to/cucumber_example.feature"
108
+ end
109
+
110
+ def rspec_spec_rb
111
+ "path/to/rspec_example_spec.rb"
112
+ end
113
+
114
+ def test_unit_rb
115
+ "test/fixtures/test_unit_example_test.rb"
116
+ end
117
+ end
@@ -0,0 +1,13 @@
1
+ require 'simplecov' if ENV['COVERAGE']
2
+
3
+ require 'minitest/autorun'
4
+ require 'minitest/unit'
5
+ require 'minitest/reporters'
6
+
7
+ require 'ostruct'
8
+ require 'pp'
9
+ require 'stringio'
10
+
11
+ require 'splot'
12
+
13
+ Minitest::Reporters.use! MiniTest::Reporters::DefaultReporter.new
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ntl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-23 00:00:00.000000000 Z
11
+ date: 2013-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -109,8 +109,17 @@ files:
109
109
  - Rakefile
110
110
  - bin/splot
111
111
  - lib/splot.rb
112
+ - lib/splot/command.rb
113
+ - lib/splot/corresponding_file.rb
114
+ - lib/splot/runner.rb
112
115
  - lib/splot/version.rb
113
116
  - splot.gemspec
117
+ - test/corresponding_file_test.rb
118
+ - test/fixtures/activesupport_example_test.rb
119
+ - test/fixtures/fake_test_helper.rb
120
+ - test/fixtures/test_unit_example_test.rb
121
+ - test/splot_test.rb
122
+ - test/test_helper.rb
114
123
  homepage: ''
115
124
  licenses:
116
125
  - MIT
@@ -135,4 +144,10 @@ rubygems_version: 2.1.11
135
144
  signing_key:
136
145
  specification_version: 4
137
146
  summary: Run any test from any file from any project :)
138
- test_files: []
147
+ test_files:
148
+ - test/corresponding_file_test.rb
149
+ - test/fixtures/activesupport_example_test.rb
150
+ - test/fixtures/fake_test_helper.rb
151
+ - test/fixtures/test_unit_example_test.rb
152
+ - test/splot_test.rb
153
+ - test/test_helper.rb