minitest-keyword 1.0.1 → 2.0.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 +4 -4
- data/.github/dependabot.yml +4 -0
- data/.github/workflows/auto-merge.yml +22 -0
- data/.github/workflows/main.yml +6 -16
- data/.rubocop.yml +14 -0
- data/CHANGELOG.md +17 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +30 -20
- data/README.md +18 -16
- data/Rakefile +14 -5
- data/bin/console +3 -3
- data/bin/readme +54 -0
- data/lib/minitest/keyword/version.rb +1 -1
- data/lib/minitest/keyword.rb +51 -33
- data/minitest-keyword.gemspec +25 -24
- metadata +20 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b569537ff4f2eacfd9b0e3dfdbb4ba8d0864eed8e3c3c0fab016ab865c308c2
|
4
|
+
data.tar.gz: e77fefde1103684177cbcd645cde4eb74d1002ecbf7ec6cd3cb9752ff4af90ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cee286ebf8de7e7c68695604998ce3bd93a9451d7eb1a52eb69489a000b3a5220ba46b404e81a59ac65877eb46e62ec9343f8e8bd0339b1cde92c4480b43678
|
7
|
+
data.tar.gz: 35ad6969492e0bb920897e0b2e85d0e415be703c98f0d5f30fbdda8100877f4a402880aac9958e93ef6ca0532d8be2780f8eb23f3b970d0da8939b878338e7ce
|
data/.github/dependabot.yml
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
name: Dependabot auto-merge
|
2
|
+
on: pull_request
|
3
|
+
|
4
|
+
permissions:
|
5
|
+
contents: write
|
6
|
+
pull-requests: write
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
dependabot:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
if: ${{ github.actor == 'dependabot[bot]' }}
|
12
|
+
steps:
|
13
|
+
- name: Dependabot metadata
|
14
|
+
id: metadata
|
15
|
+
uses: dependabot/fetch-metadata@v1.6.0
|
16
|
+
with:
|
17
|
+
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
18
|
+
- name: Enable auto-merge for Dependabot PRs
|
19
|
+
run: gh pr merge --auto --merge "$PR_URL"
|
20
|
+
env:
|
21
|
+
PR_URL: ${{github.event.pull_request.html_url}}
|
22
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
data/.github/workflows/main.yml
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
name: Main
|
2
|
+
|
2
3
|
on:
|
3
4
|
- push
|
4
|
-
-
|
5
|
+
- pull_request
|
6
|
+
|
5
7
|
jobs:
|
6
8
|
ci:
|
7
9
|
name: CI
|
@@ -12,23 +14,11 @@ jobs:
|
|
12
14
|
- uses: actions/checkout@master
|
13
15
|
- uses: ruby/setup-ruby@v1
|
14
16
|
with:
|
15
|
-
ruby-version: 3.
|
17
|
+
ruby-version: '3.3'
|
16
18
|
bundler-cache: true
|
17
19
|
- name: Lint and test
|
18
20
|
run: |
|
21
|
+
bundle exec rake stree:check
|
19
22
|
bundle exec rubocop --parallel
|
20
23
|
bundle exec rake test
|
21
|
-
|
22
|
-
name: AutoMerge
|
23
|
-
needs: ci
|
24
|
-
runs-on: ubuntu-latest
|
25
|
-
if: github.event_name == 'pull_request_target' && (github.actor == github.repository_owner || github.actor == 'dependabot[bot]')
|
26
|
-
steps:
|
27
|
-
- uses: actions/github-script@v3
|
28
|
-
with:
|
29
|
-
script: |
|
30
|
-
github.pulls.merge({
|
31
|
-
owner: context.payload.repository.owner.login,
|
32
|
-
repo: context.payload.repository.name,
|
33
|
-
pull_number: context.payload.pull_request.number
|
34
|
-
})
|
24
|
+
bin/readme
|
data/.rubocop.yml
CHANGED
@@ -1,13 +1,27 @@
|
|
1
|
+
inherit_gem:
|
2
|
+
syntax_tree: config/rubocop.yml
|
3
|
+
|
1
4
|
AllCops:
|
2
5
|
DisplayCopNames: true
|
3
6
|
DisplayStyleGuide: true
|
7
|
+
NewCops: enable
|
8
|
+
SuggestExtensions: false
|
4
9
|
TargetRubyVersion: 2.7
|
5
10
|
Exclude:
|
6
11
|
- '{tmp,vendor,yard}/**/*'
|
7
12
|
|
13
|
+
Gemspec/DevelopmentDependencies:
|
14
|
+
Enabled: false
|
15
|
+
|
8
16
|
Gemspec/RequiredRubyVersion:
|
9
17
|
Enabled: false
|
10
18
|
|
19
|
+
Metrics/BlockLength:
|
20
|
+
Enabled: false
|
21
|
+
|
22
|
+
Metrics/MethodLength:
|
23
|
+
Enabled: false
|
24
|
+
|
11
25
|
Layout/LineLength:
|
12
26
|
Max: 80
|
13
27
|
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,20 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [2.0.0] - 2024-01-23
|
10
|
+
|
11
|
+
### Changed
|
12
|
+
|
13
|
+
- `assert_send` is no longer decorated, since it is deprecated.
|
14
|
+
- `assert_operator` and `refute_operator` have changed their keywords from `o1`, `op`, and `o2` to `receiver`, `operator`, and `argument`, respectively.
|
15
|
+
- `assert_predicate` and `refute_predicate` have changed their keywords from `o1` and `op` to `receiver` and `operator`, respectively.
|
16
|
+
|
17
|
+
## [1.0.2] - 2024-01-12
|
18
|
+
|
19
|
+
### Changed
|
20
|
+
|
21
|
+
- Support keyword arguments for `assert_respond_to` and `refute_respond_to`.
|
22
|
+
|
9
23
|
## [1.0.1] - 2021-11-17
|
10
24
|
|
11
25
|
### Changed
|
@@ -18,6 +32,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
|
|
18
32
|
|
19
33
|
- The name of the underlying parameter changed for `assert_in_epsilon` from `a` and `b` to `exp` and `act`. As such, in order to normalize, those were aliased to `expected` and `actual` as well.
|
20
34
|
|
21
|
-
[unreleased]: https://github.com/kddnewton/minitest-keyword/compare/
|
35
|
+
[unreleased]: https://github.com/kddnewton/minitest-keyword/compare/v2.0.0...HEAD
|
36
|
+
[2.0.0]: https://github.com/kddnewton/minitest-keyword/compare/v1.0.2...v2.0.0
|
37
|
+
[1.0.2]: https://github.com/kddnewton/minitest-keyword/compare/v1.0.1...v1.0.2
|
22
38
|
[1.0.1]: https://github.com/kddnewton/minitest-keyword/compare/v1.0.0...v1.0.1
|
23
39
|
[1.0.0]: https://github.com/kddnewton/minitest-keyword/compare/846f1f...v1.0.0
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
minitest-keyword (
|
4
|
+
minitest-keyword (2.0.0)
|
5
5
|
minitest (~> 5.0)
|
6
6
|
|
7
7
|
GEM
|
@@ -9,33 +9,42 @@ GEM
|
|
9
9
|
specs:
|
10
10
|
ast (2.4.2)
|
11
11
|
docile (1.4.0)
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
json (2.7.1)
|
13
|
+
language_server-protocol (3.17.0.3)
|
14
|
+
minitest (5.21.2)
|
15
|
+
parallel (1.24.0)
|
16
|
+
parser (3.3.0.4)
|
15
17
|
ast (~> 2.4.1)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
racc
|
19
|
+
prettier_print (1.2.1)
|
20
|
+
racc (1.7.3)
|
21
|
+
rainbow (3.1.1)
|
22
|
+
rake (13.1.0)
|
23
|
+
regexp_parser (2.9.0)
|
24
|
+
rexml (3.2.6)
|
25
|
+
rubocop (1.60.1)
|
26
|
+
json (~> 2.3)
|
27
|
+
language_server-protocol (>= 3.17.0)
|
21
28
|
parallel (~> 1.10)
|
22
|
-
parser (>= 3.
|
29
|
+
parser (>= 3.3.0.2)
|
23
30
|
rainbow (>= 2.2.2, < 4.0)
|
24
31
|
regexp_parser (>= 1.8, < 3.0)
|
25
|
-
rexml
|
26
|
-
rubocop-ast (>= 1.
|
32
|
+
rexml (>= 3.2.5, < 4.0)
|
33
|
+
rubocop-ast (>= 1.30.0, < 2.0)
|
27
34
|
ruby-progressbar (~> 1.7)
|
28
|
-
unicode-display_width (>=
|
29
|
-
rubocop-ast (1.
|
30
|
-
parser (>= 3.
|
31
|
-
ruby-progressbar (1.
|
32
|
-
simplecov (0.
|
35
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
36
|
+
rubocop-ast (1.30.0)
|
37
|
+
parser (>= 3.2.1.0)
|
38
|
+
ruby-progressbar (1.13.0)
|
39
|
+
simplecov (0.22.0)
|
33
40
|
docile (~> 1.1)
|
34
41
|
simplecov-html (~> 0.11)
|
35
42
|
simplecov_json_formatter (~> 0.1)
|
36
43
|
simplecov-html (0.12.3)
|
37
|
-
simplecov_json_formatter (0.1.
|
38
|
-
|
44
|
+
simplecov_json_formatter (0.1.4)
|
45
|
+
syntax_tree (6.2.0)
|
46
|
+
prettier_print (>= 1.2.0)
|
47
|
+
unicode-display_width (2.5.0)
|
39
48
|
|
40
49
|
PLATFORMS
|
41
50
|
ruby
|
@@ -46,6 +55,7 @@ DEPENDENCIES
|
|
46
55
|
rake (~> 13.0)
|
47
56
|
rubocop (~> 1.12)
|
48
57
|
simplecov (~> 0.17)
|
58
|
+
syntax_tree
|
49
59
|
|
50
60
|
BUNDLED WITH
|
51
|
-
2.
|
61
|
+
2.4.1
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@ A small gem for allowing you to use Minitest assertions with keyword arguments.
|
|
10
10
|
Add this line to your application's Gemfile:
|
11
11
|
|
12
12
|
```ruby
|
13
|
-
gem
|
13
|
+
gem "minitest-keyword"
|
14
14
|
```
|
15
15
|
|
16
16
|
And then execute:
|
@@ -23,16 +23,16 @@ Or install it yourself as:
|
|
23
23
|
|
24
24
|
## Usage
|
25
25
|
|
26
|
-
Add `require
|
26
|
+
Add `require "minitest/keyword"` to your `test_helper.rb` script. In your tests you will now be able to change your assertions from:
|
27
27
|
|
28
28
|
```ruby
|
29
|
-
assert_equal
|
29
|
+
assert_equal "foo", foo.inspect
|
30
30
|
```
|
31
31
|
|
32
32
|
to:
|
33
33
|
|
34
34
|
```ruby
|
35
|
-
assert_equal expected:
|
35
|
+
assert_equal expected: "foo", actual: foo.inspect
|
36
36
|
```
|
37
37
|
|
38
38
|
All of the standard Minitest assertions can now be used with keyword arguments. Note that this gem is still backwards-compatible with Minitest itself, so your existing tests won't break.
|
@@ -45,18 +45,19 @@ The actual keyword method creation is done through introspection, but the equiva
|
|
45
45
|
assert test:, message: nil
|
46
46
|
assert_empty object:, message: nil
|
47
47
|
assert_equal expected:, actual:, message: nil
|
48
|
-
assert_in_delta expected:, actual:, delta
|
49
|
-
assert_in_epsilon expected:, actual:, epsilon
|
48
|
+
assert_in_delta expected:, actual:, delta: 0.001, message: nil
|
49
|
+
assert_in_epsilon expected:, actual:, epsilon: 0.001, message: nil
|
50
50
|
assert_includes collection:, object:, message: nil
|
51
51
|
assert_instance_of class:, object:, message: nil
|
52
52
|
assert_kind_of class:, object:, message: nil
|
53
53
|
assert_match matcher:, object:, message: nil
|
54
54
|
assert_nil object:, message: nil
|
55
|
-
assert_operator
|
56
|
-
assert_output stdout
|
57
|
-
|
58
|
-
|
59
|
-
|
55
|
+
assert_operator receiver:, operator:, argument: UNDEFINED, message: nil
|
56
|
+
assert_output stdout: nil, stderr: nil
|
57
|
+
assert_path_exists path:, message: nil
|
58
|
+
assert_predicate receiver:, operator:, message: nil
|
59
|
+
assert_raises expected: []
|
60
|
+
assert_respond_to object:, method:, message: nil, include_all: false
|
60
61
|
assert_same expected:, actual:, message: nil
|
61
62
|
assert_throws symbol:, message: nil
|
62
63
|
```
|
@@ -67,16 +68,17 @@ The associated refutations are also overridden, with the below signatures.
|
|
67
68
|
refute test:, message: nil
|
68
69
|
refute_empty object:, message: nil
|
69
70
|
refute_equal expected:, actual:, message: nil
|
70
|
-
refute_in_delta expected:, actual:, delta
|
71
|
-
refute_in_epsilon expected:, actual:, epsilon
|
71
|
+
refute_in_delta expected:, actual:, delta: 0.001, message: nil
|
72
|
+
refute_in_epsilon expected:, actual:, epsilon: 0.001, message: nil
|
72
73
|
refute_includes collection:, object:, message: nil
|
73
74
|
refute_instance_of class:, object:, message: nil
|
74
75
|
refute_kind_of class:, object:, message: nil
|
75
76
|
refute_match matcher:, object:, message: nil
|
76
77
|
refute_nil object:, message: nil
|
77
|
-
refute_operator
|
78
|
-
|
79
|
-
|
78
|
+
refute_operator receiver:, operator:, argument: UNDEFINED, message: nil
|
79
|
+
refute_path_exists path:, message: nil
|
80
|
+
refute_predicate receiver:, operator:, message: nil
|
81
|
+
refute_respond_to object:, method:, message: nil, include_all: false
|
80
82
|
refute_same expected:, actual:, message: nil
|
81
83
|
```
|
82
84
|
|
data/Rakefile
CHANGED
@@ -1,12 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rake/testtask"
|
5
|
+
require "syntax_tree/rake_tasks"
|
5
6
|
|
6
7
|
Rake::TestTask.new(:test) do |t|
|
7
|
-
t.libs <<
|
8
|
-
t.libs <<
|
9
|
-
t.test_files = FileList[
|
8
|
+
t.libs << "test"
|
9
|
+
t.libs << "lib"
|
10
|
+
t.test_files = FileList["test/**/*_test.rb"]
|
10
11
|
end
|
11
12
|
|
12
13
|
task default: :test
|
14
|
+
|
15
|
+
configure = ->(task) do
|
16
|
+
task.source_files =
|
17
|
+
FileList[%w[Gemfile Rakefile *.gemspec lib/**/*.rb test/**/*.rb]]
|
18
|
+
end
|
19
|
+
|
20
|
+
SyntaxTree::Rake::CheckTask.new(&configure)
|
21
|
+
SyntaxTree::Rake::WriteTask.new(&configure)
|
data/bin/console
CHANGED
data/bin/readme
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "bundler/setup"
|
5
|
+
require "minitest/keyword"
|
6
|
+
|
7
|
+
aliases = Hash.new { |hash, key| hash[key] = key }
|
8
|
+
aliases.merge!(Minitest::Keyword::ALIASES)
|
9
|
+
|
10
|
+
source = Minitest::Assertions
|
11
|
+
source.instance_methods.grep(/^(assert|refute)/).sort.each do |method_name|
|
12
|
+
method = source.instance_method(method_name)
|
13
|
+
parameters = method.parameters
|
14
|
+
|
15
|
+
next if parameters.empty? || method_name == :assert_send
|
16
|
+
|
17
|
+
iseq = RubyVM::InstructionSequence.of(method).to_a
|
18
|
+
opt_index = 0
|
19
|
+
|
20
|
+
values =
|
21
|
+
parameters.map do |(parameter_type, parameter_name)|
|
22
|
+
name = aliases[parameter_name]
|
23
|
+
|
24
|
+
case parameter_type
|
25
|
+
in :req
|
26
|
+
"#{name}:"
|
27
|
+
in :opt
|
28
|
+
stack = []
|
29
|
+
iseq[13][iseq[13].index(iseq[11][:opt][opt_index])..].each do |insn|
|
30
|
+
case insn
|
31
|
+
in Symbol | Integer
|
32
|
+
next
|
33
|
+
in [:opt_getconstant_path, path]
|
34
|
+
stack << path.join("::")
|
35
|
+
in [:putobject, object]
|
36
|
+
stack << object.inspect
|
37
|
+
in [:putnil]
|
38
|
+
stack << "nil"
|
39
|
+
in [/^setlocal/, Integer]
|
40
|
+
break
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
opt_index += 1
|
45
|
+
"#{name}: #{stack.pop}"
|
46
|
+
in :key
|
47
|
+
"#{name}: #{iseq[11][:keyword].assoc(parameter_name)[1]}"
|
48
|
+
in :rest
|
49
|
+
"#{name}: []"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
puts "%-18s %s" % [method_name, values.join(", ")]
|
54
|
+
end
|
data/lib/minitest/keyword.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "minitest"
|
4
|
+
require "minitest/keyword/version"
|
5
5
|
|
6
6
|
module Minitest
|
7
7
|
# The module containing overridden assertion methods that will be prepended
|
@@ -17,6 +17,9 @@ module Minitest
|
|
17
17
|
meth: :method,
|
18
18
|
msg: :message,
|
19
19
|
obj: :object,
|
20
|
+
op: :operator,
|
21
|
+
o1: :receiver,
|
22
|
+
o2: :argument,
|
20
23
|
sym: :symbol
|
21
24
|
}.freeze
|
22
25
|
|
@@ -24,8 +27,10 @@ module Minitest
|
|
24
27
|
# keyword arguments
|
25
28
|
class OverloadedArgumentError < ArgumentError
|
26
29
|
def initialize(method_name, argument_name)
|
27
|
-
super(
|
28
|
-
|
30
|
+
super(
|
31
|
+
"Cannot specify keyword argument and pass regular argument to " \
|
32
|
+
"#{method_name} for argument #{argument_name}"
|
33
|
+
)
|
29
34
|
end
|
30
35
|
end
|
31
36
|
|
@@ -33,46 +38,59 @@ module Minitest
|
|
33
38
|
# regular argument or a keyword argument
|
34
39
|
class MissingRequiredArgumentError < ArgumentError
|
35
40
|
def initialize(method_name, argument_name)
|
36
|
-
super(
|
37
|
-
|
41
|
+
super(
|
42
|
+
"You must specify a value for the #{argument_name} argument " \
|
43
|
+
"for the #{method_name} assertion"
|
44
|
+
)
|
38
45
|
end
|
39
46
|
end
|
40
47
|
|
41
|
-
Assertions
|
42
|
-
|
48
|
+
Assertions
|
49
|
+
.instance_methods
|
50
|
+
.grep(/assert|refute/)
|
51
|
+
.each do |method_name|
|
52
|
+
parameters = Assertions.instance_method(method_name).parameters
|
53
|
+
next if parameters.empty? || method_name == :assert_send
|
43
54
|
|
44
|
-
|
45
|
-
|
55
|
+
define_method(method_name) do |*args, **kwargs, &block|
|
56
|
+
passed_args = []
|
57
|
+
passed_kwargs = {}
|
46
58
|
|
47
|
-
|
48
|
-
|
49
|
-
|
59
|
+
parameters.each.with_index do |(type, arg_name), index|
|
60
|
+
if args.length > index &&
|
61
|
+
(kwargs.key?(arg_name) || kwargs.key?(ALIASES[arg_name]))
|
62
|
+
raise OverloadedArgumentError.new(method_name, arg_name)
|
63
|
+
end
|
50
64
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
end
|
65
|
+
if type == :req && args.length <= index && !kwargs.key?(arg_name) &&
|
66
|
+
!kwargs.key?(ALIASES[arg_name])
|
67
|
+
raise MissingRequiredArgumentError.new(method_name, arg_name)
|
68
|
+
end
|
56
69
|
|
57
|
-
|
58
|
-
|
59
|
-
|
70
|
+
case type
|
71
|
+
when :rest
|
72
|
+
passed_args +=
|
73
|
+
if args.any?
|
74
|
+
args[index..-1]
|
75
|
+
else
|
76
|
+
kwargs[arg_name] || kwargs[ALIASES[arg_name]]
|
77
|
+
end
|
78
|
+
when :key
|
79
|
+
passed_kwargs[arg_name] = (
|
80
|
+
kwargs[arg_name] || kwargs[ALIASES[arg_name]]
|
81
|
+
)
|
82
|
+
when :req, :opt
|
83
|
+
passed_args << (
|
84
|
+
args[index] || kwargs[arg_name] || kwargs[ALIASES[arg_name]]
|
85
|
+
)
|
86
|
+
else
|
87
|
+
raise "Unknown parameter type #{type}"
|
88
|
+
end
|
60
89
|
end
|
61
90
|
|
62
|
-
|
63
|
-
passed_params += args[index..-1]
|
64
|
-
elsif type == :rest
|
65
|
-
passed_params += (kwargs[arg_name] || kwargs[ALIASES[arg_name]])
|
66
|
-
else
|
67
|
-
passed_params <<
|
68
|
-
(args[index] || kwargs[arg_name] || kwargs[ALIASES[arg_name]])
|
69
|
-
end
|
91
|
+
super(*passed_args, **passed_kwargs, &block)
|
70
92
|
end
|
71
|
-
|
72
|
-
super(*passed_params, &block)
|
73
93
|
end
|
74
|
-
# rubocop:enable Metrics/MethodLength
|
75
|
-
end
|
76
94
|
end
|
77
95
|
|
78
96
|
# Hook into the Minitest::Test class and prepend the Keyword module
|
data/minitest-keyword.gemspec
CHANGED
@@ -1,39 +1,40 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "lib/minitest/keyword/version"
|
4
4
|
|
5
5
|
version = Minitest::Keyword::VERSION
|
6
|
-
repository =
|
6
|
+
repository = "https://github.com/kddnewton/minitest-keyword"
|
7
7
|
|
8
8
|
Gem::Specification.new do |spec|
|
9
|
-
spec.name
|
10
|
-
spec.version
|
11
|
-
spec.authors
|
12
|
-
spec.email
|
9
|
+
spec.name = "minitest-keyword"
|
10
|
+
spec.version = version
|
11
|
+
spec.authors = ["Kevin Newton"]
|
12
|
+
spec.email = ["kddnewton@gmail.com"]
|
13
13
|
|
14
|
-
spec.summary
|
15
|
-
spec.homepage
|
16
|
-
spec.license
|
14
|
+
spec.summary = "Use Minitest assertions with keyword arguments"
|
15
|
+
spec.homepage = repository
|
16
|
+
spec.license = "MIT"
|
17
17
|
|
18
18
|
spec.metadata = {
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
"bug_tracker_uri" => "#{repository}/issues",
|
20
|
+
"changelog_uri" => "#{repository}/blob/v#{version}/CHANGELOG.md",
|
21
|
+
"source_code_uri" => repository,
|
22
|
+
"rubygems_mfa_required" => "true"
|
23
23
|
}
|
24
24
|
|
25
|
-
spec.files =
|
26
|
-
|
27
|
-
|
25
|
+
spec.files =
|
26
|
+
`git ls-files -z`.split("\x0")
|
27
|
+
.reject { |f| f.match(%r{^(test|spec|features)/}) }
|
28
28
|
|
29
|
-
spec.bindir
|
30
|
-
spec.executables
|
31
|
-
spec.require_paths = [
|
29
|
+
spec.bindir = "exe"
|
30
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
31
|
+
spec.require_paths = ["lib"]
|
32
32
|
|
33
|
-
spec.add_dependency
|
33
|
+
spec.add_dependency "minitest", "~> 5.0"
|
34
34
|
|
35
|
-
spec.add_development_dependency
|
36
|
-
spec.add_development_dependency
|
37
|
-
spec.add_development_dependency
|
38
|
-
spec.add_development_dependency
|
35
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
36
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
37
|
+
spec.add_development_dependency "rubocop", "~> 1.12"
|
38
|
+
spec.add_development_dependency "simplecov", "~> 0.17"
|
39
|
+
spec.add_development_dependency "syntax_tree"
|
39
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-keyword
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Newton
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.17'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: syntax_tree
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
description:
|
84
98
|
email:
|
85
99
|
- kddnewton@gmail.com
|
@@ -88,6 +102,7 @@ extensions: []
|
|
88
102
|
extra_rdoc_files: []
|
89
103
|
files:
|
90
104
|
- ".github/dependabot.yml"
|
105
|
+
- ".github/workflows/auto-merge.yml"
|
91
106
|
- ".github/workflows/main.yml"
|
92
107
|
- ".gitignore"
|
93
108
|
- ".rubocop.yml"
|
@@ -99,6 +114,7 @@ files:
|
|
99
114
|
- README.md
|
100
115
|
- Rakefile
|
101
116
|
- bin/console
|
117
|
+
- bin/readme
|
102
118
|
- bin/setup
|
103
119
|
- lib/minitest/keyword.rb
|
104
120
|
- lib/minitest/keyword/version.rb
|
@@ -108,7 +124,7 @@ licenses:
|
|
108
124
|
- MIT
|
109
125
|
metadata:
|
110
126
|
bug_tracker_uri: https://github.com/kddnewton/minitest-keyword/issues
|
111
|
-
changelog_uri: https://github.com/kddnewton/minitest-keyword/blob/
|
127
|
+
changelog_uri: https://github.com/kddnewton/minitest-keyword/blob/v2.0.0/CHANGELOG.md
|
112
128
|
source_code_uri: https://github.com/kddnewton/minitest-keyword
|
113
129
|
rubygems_mfa_required: 'true'
|
114
130
|
post_install_message:
|
@@ -126,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
142
|
- !ruby/object:Gem::Version
|
127
143
|
version: '0'
|
128
144
|
requirements: []
|
129
|
-
rubygems_version: 3.
|
145
|
+
rubygems_version: 3.4.1
|
130
146
|
signing_key:
|
131
147
|
specification_version: 4
|
132
148
|
summary: Use Minitest assertions with keyword arguments
|