rubocop-minitest 0.2.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: dc2eabe582388a8716653ef64d84833b48547f2c0e84fd666c36ab59b773abdc
4
+ data.tar.gz: 726cd0a1cc2f11eee03f49278408b9eda29308d74641cdc8a562f84c063e4e8c
5
+ SHA512:
6
+ metadata.gz: 60bec75d6fab0181c7f1ee5e664ca0a9dda0d8ba7d9a54d184a7f4573633e10fccef93719da3dead41c5919862f67aa0b66eb92f1dc933759c240e093ee93bd0
7
+ data.tar.gz: 28d6e3f708ce291589ff8e2b74a12792777dbc39e244309951ba21e1ffdd59ac982fed3f52af148acca2b8a96bc8f0158711c3e99f893f09d26ef74beb743d2e
@@ -0,0 +1,43 @@
1
+ version: 2.1
2
+
3
+ jobs:
4
+ rake_default:
5
+ parameters:
6
+ image:
7
+ description: "Name of the Docker image."
8
+ type: string
9
+ default: "circleci/ruby"
10
+ docker:
11
+ - image: << parameters.image >>
12
+ environment:
13
+ # CircleCI container has two cores, but Ruby can see 32 cores. So we
14
+ # configure test-queue.
15
+ # See https://github.com/tmm1/test-queue#environment-variables
16
+ TEST_QUEUE_WORKERS: 2
17
+ JRUBY_OPTS: "--dev -J-Xmx1000M"
18
+ steps:
19
+ - checkout
20
+ - run: bundle install
21
+ - run: bundle exec rake
22
+
23
+ workflows:
24
+ build:
25
+ jobs:
26
+ - rake_default:
27
+ name: Ruby 2.3
28
+ image: circleci/ruby:2.3
29
+ - rake_default:
30
+ name: Ruby 2.4
31
+ image: circleci/ruby:2.4
32
+ - rake_default:
33
+ name: Ruby 2.5
34
+ image: circleci/ruby:2.5
35
+ - rake_default:
36
+ name: Ruby 2.6
37
+ image: circleci/ruby:2.6
38
+ - rake_default:
39
+ name: Ruby HEAD
40
+ image: rubocophq/circleci-ruby-snapshot:latest # Nightly snapshot build
41
+ - rake_default:
42
+ name: JRuby 9.2
43
+ image: circleci/jruby:9.2
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Report an issue with RuboCop Minitest you've discovered.
4
+ ---
5
+
6
+ *Be clear, concise and precise in your description of the problem.
7
+ Open an issue with a descriptive title and a summary in grammatically correct,
8
+ complete sentences.*
9
+
10
+ *Use the template below when reporting bugs. Please, make sure that
11
+ you're running the latest stable RuboCop and that the problem you're reporting
12
+ hasn't been reported (and potentially fixed) already.*
13
+
14
+ *Before filing the ticket you should replace all text above the horizontal
15
+ rule with your own words.*
16
+
17
+ --------
18
+
19
+ ## Expected behavior
20
+
21
+ Describe here how you expected RuboCop Minitest to behave in this particular situation.
22
+
23
+ ## Actual behavior
24
+
25
+ Describe here what actually happened.
26
+
27
+ ## Steps to reproduce the problem
28
+
29
+ This is extremely important! Providing us with a reliable way to reproduce
30
+ a problem will expedite its solution.
31
+
32
+ ## RuboCop version
33
+
34
+ Include the output of `rubocop -V` or `bundle exec rubocop -V` if using Bundler. Here's an example:
35
+
36
+ ```
37
+ $ [bundle exec] rubocop -V
38
+ 0.74.0 (using Parser 2.6.4.0, running on ruby 2.6.4 x86_64-darwin17)
39
+ ```
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest new RuboCop Rails features or improvements to existing features.
4
+ ---
5
+
6
+ ## Is your feature request related to a problem? Please describe.
7
+
8
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9
+
10
+ ## Describe the solution you'd like
11
+
12
+ A clear and concise description of what you want to happen.
13
+
14
+ ## Describe alternatives you've considered
15
+
16
+ A clear and concise description of any alternative solutions or features you've considered.
17
+
18
+ ## Additional context
19
+
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,18 @@
1
+ **Replace this text with a summary of the changes in your PR.
2
+ The more detailed you are, the better.**
3
+
4
+ -----------------
5
+
6
+ Before submitting the PR make sure the following are checked:
7
+
8
+ * [ ] Wrote [good commit messages][1].
9
+ * [ ] Commit message starts with `[Fix #issue-number]` (if the related issue exists).
10
+ * [ ] Feature branch is up-to-date with `master` (if not - rebase it).
11
+ * [ ] Squashed related commits together.
12
+ * [ ] Added tests.
13
+ * [ ] Added an entry to the [Changelog](https://github.com/rubocop-hq/rubocop-minitest/blob/master/CHANGELOG.md) if the new code introduces user-observable changes. See [changelog entry format](https://github.com/rubocop-hq/rubocop-minitest/blob/master/CONTRIBUTING.md#changelog-entry-format).
14
+ * [ ] The PR relates to *only* one subject with a clear title
15
+ and description in grammatically correct, complete sentences.
16
+ * [ ] Run `bundle exec rake default`. It executes all tests and RuboCop for itself, and generates the documentation.
17
+
18
+ [1]: https://chris.beams.io/posts/git-commit/
@@ -0,0 +1,61 @@
1
+ # rcov generated
2
+ coverage
3
+ coverage.data
4
+
5
+ # rdoc generated
6
+ rdoc
7
+
8
+ # yard generated
9
+ doc
10
+ .yardoc
11
+
12
+ # bundler
13
+ .bundle
14
+ Gemfile.lock
15
+ Gemfile.local
16
+
17
+ # rbenv
18
+ .ruby-version
19
+
20
+ # rspec
21
+ /spec/examples.txt
22
+ /.test_queue_stats
23
+
24
+ # jeweler generated
25
+ pkg
26
+
27
+ # etags
28
+ TAGS
29
+
30
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
31
+ #
32
+ # * Create a file at ~/.gitignore
33
+ # * Include files you want ignored
34
+ # * Run: git config --global core.excludesfile ~/.gitignore
35
+ #
36
+ # After doing this, these files will be ignored in all your git projects,
37
+ # saving you from having to 'pollute' every project you touch with them
38
+ #
39
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
40
+ #
41
+ # For MacOS:
42
+ #
43
+ #.DS_Store
44
+
45
+ # For TextMate
46
+ #*.tmproj
47
+ #tmtags
48
+
49
+ # For emacs:
50
+ #*~
51
+ #\#*
52
+ #.\#*
53
+
54
+ # For vim:
55
+ *.swp
56
+
57
+ # For redcar:
58
+ #.redcar
59
+
60
+ # For rubinius:
61
+ #*.rbc
@@ -0,0 +1,85 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ # This is the configuration used to check the rubocop source code.
4
+
5
+ require:
6
+ - rubocop/cop/internal_affairs
7
+ - rubocop-performance
8
+ - rubocop-minitest
9
+
10
+ AllCops:
11
+ TargetRubyVersion: 2.3
12
+
13
+ Naming/PredicateName:
14
+ # Method define macros for dynamically generated method.
15
+ MethodDefinitionMacros:
16
+ - define_method
17
+ - define_singleton_method
18
+ - def_node_matcher
19
+ - def_node_search
20
+
21
+ Style/FormatStringToken:
22
+ # Because we parse a lot of source codes from strings. Percent arrays
23
+ # look like unannotated format string tokens to this cop.
24
+ Exclude:
25
+ - test/**/*
26
+
27
+ Metrics/ClassLength:
28
+ Exclude:
29
+ - test/**/*
30
+
31
+ Layout/EndOfLine:
32
+ EnforcedStyle: lf
33
+
34
+ Layout/ClassStructure:
35
+ Enabled: true
36
+ Categories:
37
+ module_inclusion:
38
+ - include
39
+ - prepend
40
+ - extend
41
+ ExpectedOrder:
42
+ - module_inclusion
43
+ - constants
44
+ - public_class_methods
45
+ - initializer
46
+ - instance_methods
47
+ - protected_methods
48
+ - private_methods
49
+
50
+ # Trailing white space is meaningful in code examples
51
+ Layout/TrailingWhitespace:
52
+ AllowInHeredoc: true
53
+
54
+ Lint/AmbiguousBlockAssociation:
55
+ Exclude:
56
+ - 'test/**/*.rb'
57
+
58
+ Lint/InterpolationCheck:
59
+ Exclude:
60
+ - 'test/**/*.rb'
61
+
62
+ Lint/UselessAccessModifier:
63
+ MethodCreatingMethods:
64
+ - 'def_matcher'
65
+ - 'def_node_matcher'
66
+
67
+ Lint/BooleanSymbol:
68
+ Enabled: false
69
+
70
+ Metrics/BlockLength:
71
+ Exclude:
72
+ - 'Rakefile'
73
+ - '**/*.rake'
74
+ - 'test/**/*.rb'
75
+
76
+ Naming/FileName:
77
+ Exclude:
78
+ - lib/rubocop-minitest.rb
79
+
80
+ Metrics/ModuleLength:
81
+ Exclude:
82
+ - 'test/**/*.rb'
83
+
84
+ Performance/ChainArrayAllocation:
85
+ Enabled: false
@@ -0,0 +1,23 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-08-07 15:41:02 +0900 using RuboCop version 0.74.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ Metrics/AbcSize:
11
+ Max: 17
12
+
13
+ # Offense count: 5
14
+ # Configuration parameters: CountComments, ExcludedMethods.
15
+ Metrics/MethodLength:
16
+ Max: 14
17
+
18
+ # Offense count: 2
19
+ # Cop supports --auto-correct.
20
+ # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
21
+ # URISchemes: http, https
22
+ Metrics/LineLength:
23
+ Max: 87
@@ -0,0 +1,30 @@
1
+ # Change log
2
+
3
+ ## master (unreleased)
4
+
5
+ ## 0.2.1 (2019-09-24)
6
+
7
+ ### Bug fixes
8
+
9
+ * [#13](https://github.com/rubocop-hq/rubocop-minitest/issues/13): Fix the execution target specified in `Include` parameter. ([@koic][])
10
+
11
+ ## 0.2.0 (2019-09-21)
12
+
13
+ ### New features
14
+
15
+ * [#11](https://github.com/rubocop-hq/rubocop-minitest/pull/11): Add new `Minitest/RefuteNil` cop. ([@tejasbubane][])
16
+ * [#8](https://github.com/rubocop-hq/rubocop-minitest/pull/8): Add new `Minitest/AssertTruthy` cop. ([@abhaynikam][])
17
+ * [#9](https://github.com/rubocop-hq/rubocop-minitest/pull/9): Add new `Minitest/AssertIncludes` cop. ([@abhaynikam][])
18
+ * [#10](https://github.com/rubocop-hq/rubocop-minitest/pull/10): Add new `Minitest/AssertEmpty` cop. ([@abhaynikam][])
19
+
20
+ ## 0.1.0 (2019-09-01)
21
+
22
+ ### New features
23
+
24
+ * Create RuboCop Minitest gem. ([@koic][])
25
+ * [#6](https://github.com/rubocop-hq/rubocop-minitest/pull/6): Add new `Minitest/AssertNil` cop. ([@duduribeiro][])
26
+
27
+ [@koic]: https://github.com/koic
28
+ [@duduribeiro]: https://github.com/duduribeiro
29
+ [@tejasbubane]: https://github.com/tejasbubane
30
+ [@abhaynikam]: https://github.com/abhaynikam
@@ -0,0 +1,68 @@
1
+ # Contributing
2
+
3
+ If you discover issues, have ideas for improvements or new features,
4
+ please report them to the [issue tracker][1] of the repository or
5
+ submit a pull request. Please, try to follow these guidelines when you
6
+ do so.
7
+
8
+ ## Issue reporting
9
+
10
+ * Check that the issue has not already been reported.
11
+ * Check that the issue has not already been fixed in the latest code
12
+ (a.k.a. `master`).
13
+ * Be clear, concise and precise in your description of the problem.
14
+ * Open an issue with a descriptive title and a summary in grammatically correct,
15
+ complete sentences.
16
+ * Include the output of `rubocop -V`:
17
+
18
+ ```
19
+ $ rubocop -V
20
+ 0.74.0 (using Parser 2.6.4.0, running on ruby 2.6.4 x86_64-darwin17)
21
+ ```
22
+
23
+ * Include any relevant code to the issue summary.
24
+
25
+ ## Pull requests
26
+
27
+ * Read [how to properly contribute to open source projects on GitHub][2].
28
+ * Fork the project.
29
+ * Use a topic/feature branch to easily amend a pull request later, if necessary.
30
+ * Write [good commit messages][3].
31
+ * Use the same coding conventions as the rest of the project.
32
+ * Commit and push until you are happy with your contribution.
33
+ * If your change has a corresponding open GitHub issue, prefix the commit message with `[Fix #github-issue-number]`.
34
+ * Make sure to add tests for it. This is important so I don't break it
35
+ in a future version unintentionally.
36
+ * Add an entry to the [Changelog](CHANGELOG.md) accordingly. See [changelog entry format](#changelog-entry-format).
37
+ * Please try not to mess with the Rakefile, version, or history. If
38
+ you want to have your own version, or is otherwise necessary, that
39
+ is fine, but please isolate to its own commit so I can cherry-pick
40
+ around it.
41
+ * Make sure the test suite is passing and the code you wrote doesn't produce
42
+ RuboCop offenses (usually this is as simple as running `bundle exec rake`).
43
+ * [Squash related commits together][5].
44
+ * Open a [pull request][4] that relates to *only* one subject with a clear title
45
+ and description in grammatically correct, complete sentences.
46
+
47
+ ### Changelog entry format
48
+
49
+ Here are a few examples:
50
+
51
+ ```
52
+ * [#716](https://github.com/rubocop-hq/rubocop-minitest/issues/716): Fixed a regression in the auto-correction logic of `MethodDefParentheses`. ([@bbatsov][])
53
+ * New cop `ElseLayout` checks for odd arrangement of code in the `else` branch of a conditional expression. ([@bbatsov][])
54
+ ```
55
+
56
+ * Mark it up in [Markdown syntax][6].
57
+ * The entry line should start with `* ` (an asterisk and a space).
58
+ * If the change has a related GitHub issue (e.g. a bug fix for a reported issue), put a link to the issue as `[#123](https://github.com/rubocop-hq/rubocop-minitest/issues/123): `.
59
+ * Describe the brief of the change. The sentence should end with a punctuation.
60
+ * At the end of the entry, add an implicit link to your GitHub user page as `([@username][])`.
61
+ * If this is your first contribution to RuboCop project, add a link definition for the implicit link to the bottom of the changelog as `[@username]: https://github.com/username`.
62
+
63
+ [1]: https://github.com/rubocop-hq/rubocop-minitest/issues
64
+ [2]: https://www.gun.io/blog/how-to-github-fork-branch-and-pull-request
65
+ [3]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
66
+ [4]: https://help.github.com/articles/about-pull-requests
67
+ [5]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
68
+ [6]: https://daringfireball.net/projects/markdown/syntax
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
6
+
7
+ gemspec
8
+
9
+ gem 'rake'
10
+ gem 'rubocop', github: 'rubocop-hq/rubocop'
11
+ gem 'rubocop-performance', '~> 1.4.0'
12
+ gem 'yard', '~> 0.9'
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Bozhidar Batsov, Jonas Arvidsson, Koichi ITO
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,82 @@
1
+ # RuboCop Minitest
2
+
3
+ [![Gem Version](https://badge.fury.io/rb/rubocop-minitest.svg)](https://badge.fury.io/rb/rubocop-minitest)
4
+ [![CircleCI](https://circleci.com/gh/rubocop-hq/rubocop-minitest.svg?style=svg)](https://circleci.com/gh/rubocop-hq/rubocop-minitest)
5
+
6
+ A [RuboCop](https://github.com/rubocop-hq/rubocop) extension focused on enforcing Minitest best practices and coding conventions.
7
+
8
+ ## Installation
9
+
10
+ Just install the `rubocop-minitest` gem
11
+
12
+ ```bash
13
+ gem install rubocop-minitest
14
+ ```
15
+
16
+ or if you use bundler put this in your `Gemfile`
17
+
18
+ ```
19
+ gem 'rubocop-minitest'
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ You need to tell RuboCop to load the Minitest extension. There are three
25
+ ways to do this:
26
+
27
+ ### RuboCop configuration file
28
+
29
+ Put this into your `.rubocop.yml`.
30
+
31
+ ```yaml
32
+ require: rubocop-minitest
33
+ ```
34
+
35
+ Alternatively, use the following array notation when specifying multiple extensions.
36
+
37
+ ```yaml
38
+ require:
39
+ - rubocop-other-extension
40
+ - rubocop-minitest
41
+ ```
42
+
43
+ Now you can run `rubocop` and it will automatically load the RuboCop Minitest
44
+ cops together with the standard cops.
45
+
46
+ ### Command line
47
+
48
+ ```bash
49
+ rubocop --require rubocop-minitest
50
+ ```
51
+
52
+ ### Rake task
53
+
54
+ ```ruby
55
+ RuboCop::RakeTask.new do |task|
56
+ task.requires << 'rubocop-minitest'
57
+ end
58
+ ```
59
+
60
+ ## The Cops
61
+
62
+ All cops are located under
63
+ [`lib/rubocop/cop/minitest`](lib/rubocop/cop/minitest), and contain
64
+ examples/documentation.
65
+
66
+ In your `.rubocop.yml`, you may treat the Minitest cops just like any other
67
+ cop. For example:
68
+
69
+ ```yaml
70
+ Minitest/AssertNil:
71
+ Exclude:
72
+ - test/my_file_to_ignore_test.rb
73
+ ```
74
+
75
+ ## Contributing
76
+
77
+ Checkout the [contribution guidelines](CONTRIBUTING.md).
78
+
79
+ ## License
80
+
81
+ `rubocop-minitest` is MIT licensed. [See the accompanying file](LICENSE.txt) for
82
+ the full text.