minitest-keyword 1.0.1 → 1.0.2
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 +5 -16
 - data/.rubocop.yml +14 -0
 - data/CHANGELOG.md +8 -1
 - data/Gemfile +1 -1
 - data/Gemfile.lock +30 -20
 - data/README.md +4 -4
 - data/Rakefile +14 -5
 - data/bin/console +3 -3
 - data/lib/minitest/keyword/version.rb +1 -1
 - data/lib/minitest/keyword.rb +48 -33
 - data/minitest-keyword.gemspec +25 -24
 - metadata +19 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 70d8098146612cfca7688027b68ad119cec7304cf2d57e4a53917d1c6768de4b
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: e42b3dc2b49e40ce56fd354cba7bf00de356c9204e9e4bdf1819db86ad47a9d3
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: bfbf23bf6c7e1d70c39b67280c48eb5384133af034f6da161a4fd1e7dc6a8bf9cf1661d73eee722779cad1a755e743f1490c01d1a51584340697a87dcca7719e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 96ee9c50998942a3b4f9f3c7f2dca57b9373efe73d13899866c8e1ba3eb6f68e3e3f954b34bd4125dca89dace6edf4e42df6d7e93b47eaba3cae68270586e913
         
     | 
    
        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,10 @@ 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.2'
         
     | 
| 
       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 
     | 
    
         
            -
              automerge:
         
     | 
| 
       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 
     | 
    
         
            -
                      })
         
     | 
    
        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,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            ## [Unreleased]
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
      
 9 
     | 
    
         
            +
            ## [1.0.2] - 2024-01-23
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ### Changed
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            - Support keyword arguments for `assert_respond_to` and `refute_respond_to`.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       9 
15 
     | 
    
         
             
            ## [1.0.1] - 2021-11-17
         
     | 
| 
       10 
16 
     | 
    
         | 
| 
       11 
17 
     | 
    
         
             
            ### Changed
         
     | 
| 
         @@ -18,6 +24,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a 
     | 
|
| 
       18 
24 
     | 
    
         | 
| 
       19 
25 
     | 
    
         
             
            - 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 
26 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
            [unreleased]: https://github.com/kddnewton/minitest-keyword/compare/v1.0. 
     | 
| 
      
 27 
     | 
    
         
            +
            [unreleased]: https://github.com/kddnewton/minitest-keyword/compare/v1.0.2...HEAD
         
     | 
| 
      
 28 
     | 
    
         
            +
            [1.0.2]: https://github.com/kddnewton/minitest-keyword/compare/v1.0.1...v1.0.2
         
     | 
| 
       22 
29 
     | 
    
         
             
            [1.0.1]: https://github.com/kddnewton/minitest-keyword/compare/v1.0.0...v1.0.1
         
     | 
| 
       23 
30 
     | 
    
         
             
            [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 (1.0. 
     | 
| 
      
 4 
     | 
    
         
            +
                minitest-keyword (1.0.2)
         
     | 
| 
       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.1)
         
     | 
| 
      
 15 
     | 
    
         
            +
                parallel (1.24.0)
         
     | 
| 
      
 16 
     | 
    
         
            +
                parser (3.3.0.3)
         
     | 
| 
       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.59.0)
         
     | 
| 
      
 26 
     | 
    
         
            +
                  json (~> 2.3)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  language_server-protocol (>= 3.17.0)
         
     | 
| 
       21 
28 
     | 
    
         
             
                  parallel (~> 1.10)
         
     | 
| 
       22 
     | 
    
         
            -
                  parser (>= 3. 
     | 
| 
      
 29 
     | 
    
         
            +
                  parser (>= 3.2.2.4)
         
     | 
| 
       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.
         
     | 
    
        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/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
         
     | 
| 
         @@ -24,8 +24,10 @@ module Minitest 
     | 
|
| 
       24 
24 
     | 
    
         
             
                # keyword arguments
         
     | 
| 
       25 
25 
     | 
    
         
             
                class OverloadedArgumentError < ArgumentError
         
     | 
| 
       26 
26 
     | 
    
         
             
                  def initialize(method_name, argument_name)
         
     | 
| 
       27 
     | 
    
         
            -
                    super( 
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
      
 27 
     | 
    
         
            +
                    super(
         
     | 
| 
      
 28 
     | 
    
         
            +
                      "Cannot specify keyword argument and pass regular argument to " \
         
     | 
| 
      
 29 
     | 
    
         
            +
                        "#{method_name} for argument #{argument_name}"
         
     | 
| 
      
 30 
     | 
    
         
            +
                    )
         
     | 
| 
       29 
31 
     | 
    
         
             
                  end
         
     | 
| 
       30 
32 
     | 
    
         
             
                end
         
     | 
| 
       31 
33 
     | 
    
         | 
| 
         @@ -33,46 +35,59 @@ module Minitest 
     | 
|
| 
       33 
35 
     | 
    
         
             
                # regular argument or a keyword argument
         
     | 
| 
       34 
36 
     | 
    
         
             
                class MissingRequiredArgumentError < ArgumentError
         
     | 
| 
       35 
37 
     | 
    
         
             
                  def initialize(method_name, argument_name)
         
     | 
| 
       36 
     | 
    
         
            -
                    super( 
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
                    super(
         
     | 
| 
      
 39 
     | 
    
         
            +
                      "You must specify a value for the #{argument_name} argument " \
         
     | 
| 
      
 40 
     | 
    
         
            +
                        "for the #{method_name} assertion"
         
     | 
| 
      
 41 
     | 
    
         
            +
                    )
         
     | 
| 
       38 
42 
     | 
    
         
             
                  end
         
     | 
| 
       39 
43 
     | 
    
         
             
                end
         
     | 
| 
       40 
44 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
                Assertions 
     | 
| 
       42 
     | 
    
         
            -
                   
     | 
| 
      
 45 
     | 
    
         
            +
                Assertions
         
     | 
| 
      
 46 
     | 
    
         
            +
                  .instance_methods
         
     | 
| 
      
 47 
     | 
    
         
            +
                  .grep(/assert|refute/)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  .each do |method_name|
         
     | 
| 
      
 49 
     | 
    
         
            +
                    parameters = Assertions.instance_method(method_name).parameters
         
     | 
| 
      
 50 
     | 
    
         
            +
                    next if parameters.empty?
         
     | 
| 
       43 
51 
     | 
    
         | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
      
 52 
     | 
    
         
            +
                    define_method(method_name) do |*args, **kwargs, &block|
         
     | 
| 
      
 53 
     | 
    
         
            +
                      passed_args = []
         
     | 
| 
      
 54 
     | 
    
         
            +
                      passed_kwargs = {}
         
     | 
| 
       46 
55 
     | 
    
         | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
      
 56 
     | 
    
         
            +
                      parameters.each.with_index do |(type, arg_name), index|
         
     | 
| 
      
 57 
     | 
    
         
            +
                        if args.length > index &&
         
     | 
| 
      
 58 
     | 
    
         
            +
                             (kwargs.key?(arg_name) || kwargs.key?(ALIASES[arg_name]))
         
     | 
| 
      
 59 
     | 
    
         
            +
                          raise OverloadedArgumentError.new(method_name, arg_name)
         
     | 
| 
      
 60 
     | 
    
         
            +
                        end
         
     | 
| 
       50 
61 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
                         
     | 
| 
       55 
     | 
    
         
            -
                      end
         
     | 
| 
      
 62 
     | 
    
         
            +
                        if type == :req && args.length <= index && !kwargs.key?(arg_name) &&
         
     | 
| 
      
 63 
     | 
    
         
            +
                             !kwargs.key?(ALIASES[arg_name])
         
     | 
| 
      
 64 
     | 
    
         
            +
                          raise MissingRequiredArgumentError.new(method_name, arg_name)
         
     | 
| 
      
 65 
     | 
    
         
            +
                        end
         
     | 
| 
       56 
66 
     | 
    
         | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
      
 67 
     | 
    
         
            +
                        case type
         
     | 
| 
      
 68 
     | 
    
         
            +
                        when :rest
         
     | 
| 
      
 69 
     | 
    
         
            +
                          passed_args +=
         
     | 
| 
      
 70 
     | 
    
         
            +
                            if args.any?
         
     | 
| 
      
 71 
     | 
    
         
            +
                              args[index..-1]
         
     | 
| 
      
 72 
     | 
    
         
            +
                            else
         
     | 
| 
      
 73 
     | 
    
         
            +
                              kwargs[arg_name] || kwargs[ALIASES[arg_name]]
         
     | 
| 
      
 74 
     | 
    
         
            +
                            end
         
     | 
| 
      
 75 
     | 
    
         
            +
                        when :key
         
     | 
| 
      
 76 
     | 
    
         
            +
                          passed_kwargs[arg_name] = (
         
     | 
| 
      
 77 
     | 
    
         
            +
                            kwargs[arg_name] || kwargs[ALIASES[arg_name]]
         
     | 
| 
      
 78 
     | 
    
         
            +
                          )
         
     | 
| 
      
 79 
     | 
    
         
            +
                        when :req, :opt
         
     | 
| 
      
 80 
     | 
    
         
            +
                          passed_args << (
         
     | 
| 
      
 81 
     | 
    
         
            +
                            args[index] || kwargs[arg_name] || kwargs[ALIASES[arg_name]]
         
     | 
| 
      
 82 
     | 
    
         
            +
                          )
         
     | 
| 
      
 83 
     | 
    
         
            +
                        else
         
     | 
| 
      
 84 
     | 
    
         
            +
                          raise "Unknown parameter type #{type}"
         
     | 
| 
      
 85 
     | 
    
         
            +
                        end
         
     | 
| 
       60 
86 
     | 
    
         
             
                      end
         
     | 
| 
       61 
87 
     | 
    
         | 
| 
       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
         
     | 
| 
      
 88 
     | 
    
         
            +
                      super(*passed_args, **passed_kwargs, &block)
         
     | 
| 
       70 
89 
     | 
    
         
             
                    end
         
     | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
       72 
     | 
    
         
            -
                    super(*passed_params, &block)
         
     | 
| 
       73 
90 
     | 
    
         
             
                  end
         
     | 
| 
       74 
     | 
    
         
            -
                  # rubocop:enable Metrics/MethodLength
         
     | 
| 
       75 
     | 
    
         
            -
                end
         
     | 
| 
       76 
91 
     | 
    
         
             
              end
         
     | 
| 
       77 
92 
     | 
    
         | 
| 
       78 
93 
     | 
    
         
             
              # 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: 1.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.2
         
     | 
| 
       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-12 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"
         
     | 
| 
         @@ -108,7 +123,7 @@ licenses: 
     | 
|
| 
       108 
123 
     | 
    
         
             
            - MIT
         
     | 
| 
       109 
124 
     | 
    
         
             
            metadata:
         
     | 
| 
       110 
125 
     | 
    
         
             
              bug_tracker_uri: https://github.com/kddnewton/minitest-keyword/issues
         
     | 
| 
       111 
     | 
    
         
            -
              changelog_uri: https://github.com/kddnewton/minitest-keyword/blob/v1.0. 
     | 
| 
      
 126 
     | 
    
         
            +
              changelog_uri: https://github.com/kddnewton/minitest-keyword/blob/v1.0.2/CHANGELOG.md
         
     | 
| 
       112 
127 
     | 
    
         
             
              source_code_uri: https://github.com/kddnewton/minitest-keyword
         
     | 
| 
       113 
128 
     | 
    
         
             
              rubygems_mfa_required: 'true'
         
     | 
| 
       114 
129 
     | 
    
         
             
            post_install_message:
         
     | 
| 
         @@ -126,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       126 
141 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       127 
142 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       128 
143 
     | 
    
         
             
            requirements: []
         
     | 
| 
       129 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 144 
     | 
    
         
            +
            rubygems_version: 3.4.1
         
     | 
| 
       130 
145 
     | 
    
         
             
            signing_key:
         
     | 
| 
       131 
146 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       132 
147 
     | 
    
         
             
            summary: Use Minitest assertions with keyword arguments
         
     |