koine-test_runner 0.3.0 → 0.5.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
  SHA256:
3
- metadata.gz: e1b33e7ce0740b3c42ff14a0bb33203042827c24da5416b1883b4f33bd95f33a
4
- data.tar.gz: c87889c1233cf6b24f7fcd277c39b695826d100c1e78d23d78d27a431fb6a063
3
+ metadata.gz: 0eb7d9e303d4a4fbd6683702e672f7aba52b0ff8b55ac451d1827999f2ea6a47
4
+ data.tar.gz: e78738e3c11f1babc0f0cf726721c486c2e8b3ee419b0da178c78011aaed9c03
5
5
  SHA512:
6
- metadata.gz: d88be3b2befaf29106567b06610dc009ae096683607056c0082d58a70a331bbc06f7476ce036c496297df624b112896934b2ae7547b1993015188cdb73449d53
7
- data.tar.gz: 535c9fb07405acb4f32c7bdba629ceb6e5b4afb6a120e610d01db4419dff6c21925a937c3ed034ef7c646153287eb65d2b2c2d497bdca98d3141394be13a417f
6
+ metadata.gz: 584c4c407081a9596a21b7b527c492bf544d2a26b9a7489b485052c4cb75b4e2bd6d66c75a2f71f0f8e716fb6cade6d7d48a9ede1e0a4d81df6e22ed0b1b55f0
7
+ data.tar.gz: 873c1ce1c329c227bfe4a7dcb6e1dd0d12bf36100f428cd79a52aefa10336185d58037f93604845caf5024a2a0cb46c1cb4be5a94118df585dc8fbf6c1ea71a5
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in test_runner.gemspec
4
4
  gemspec
5
+
6
+ gem "rake", "~> 13.0"
data/README.md CHANGED
@@ -43,6 +43,10 @@ bundle exec run_test some/file_spec.custom
43
43
  # .test_runner.yml
44
44
 
45
45
  adapters:
46
+ minitest:
47
+ adapter: minitest
48
+ file_pattern: "*_spec.rb"
49
+
46
50
  rspec:
47
51
  adapter: rspec
48
52
  file_pattern: "*_spec.rb"
@@ -1,3 +1,4 @@
1
+ require_relative './base_adapter'
1
2
  module Koine
2
3
  class TestRunner
3
4
  class Adapters
@@ -0,0 +1,54 @@
1
+ require_relative './base_regexp'
2
+
3
+ module Koine
4
+ class TestRunner
5
+ class Adapters
6
+ class Minitest < BaseRegexp
7
+ def initialize(file_pattern: /.*_test.rb$/)
8
+ super(file_pattern: file_pattern)
9
+ end
10
+
11
+ private
12
+
13
+ def script_for(_config)
14
+ return './bin/rails' if File.exist?('bin/rails')
15
+
16
+ 'ruby'
17
+ end
18
+
19
+ def file_line_command(config)
20
+ [
21
+ single_file_command(config),
22
+ regexp(line: config.line, file: config.file_path),
23
+ ].join(' -n ')
24
+ end
25
+
26
+ def regexp(line:, file:)
27
+ text = extract_text_from_file(file:, line:)
28
+ "\"/#{text}/\""
29
+ end
30
+
31
+ def extract_text_from_file(file:, line:)
32
+ lines = File.read(file).split("\n")[0, line].reverse
33
+
34
+ lines.each do |line_content|
35
+ match = match_text(line_content)
36
+ if match
37
+ return match
38
+ end
39
+ end
40
+ end
41
+
42
+ def match_text(line_content)
43
+ if line_content =~ /it\s+"(.+?)"/ || line_content =~ /test\s+"(.+?)"/
44
+ return Regexp.last_match(1)
45
+ end
46
+
47
+ if line_content =~ /def\s+test_(.+)/
48
+ return Regexp.last_match(1)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -7,6 +7,7 @@ module Koine
7
7
  finish = Time.now
8
8
  elapsed = finish - start
9
9
  logger.info("#{command} => elapsed time: #{elapsed.round(2)}")
10
+ puts "\nTook #{elapsed.round(2)} seconds"
10
11
  $?.exitstatus
11
12
  end
12
13
 
@@ -1,3 +1,3 @@
1
1
  class TestRunner
2
- VERSION = '0.3.0'.freeze
2
+ VERSION = '0.5.0'.freeze
3
3
  end
@@ -17,6 +17,7 @@ module Koine
17
17
  autoload :FileMatcher, 'koine/test_runner/file_matcher'
18
18
 
19
19
  class Adapters
20
+ autoload :Minitest, 'koine/test_runner/adapters/minitest'
20
21
  autoload :Rspec, 'koine/test_runner/adapters/rspec'
21
22
  autoload :Phpunit, 'koine/test_runner/adapters/phpunit'
22
23
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: koine-test_runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcelo Jacobus
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2021-03-14 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: coveralls
@@ -122,6 +121,7 @@ files:
122
121
  - lib/koine/test_runner/adapters/base_regexp.rb
123
122
  - lib/koine/test_runner/adapters/custom.rb
124
123
  - lib/koine/test_runner/adapters/last_command.rb
124
+ - lib/koine/test_runner/adapters/minitest.rb
125
125
  - lib/koine/test_runner/adapters/null.rb
126
126
  - lib/koine/test_runner/adapters/phpunit.rb
127
127
  - lib/koine/test_runner/adapters/rspec.rb
@@ -136,7 +136,6 @@ licenses:
136
136
  - MIT
137
137
  metadata:
138
138
  allowed_push_host: https://rubygems.org
139
- post_install_message:
140
139
  rdoc_options: []
141
140
  require_paths:
142
141
  - lib
@@ -151,8 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
150
  - !ruby/object:Gem::Version
152
151
  version: '0'
153
152
  requirements: []
154
- rubygems_version: 3.2.3
155
- signing_key:
153
+ rubygems_version: 3.6.7
156
154
  specification_version: 4
157
155
  summary: Easy test runner
158
156
  test_files: []