Compare commits

...

4 Commits

Author SHA1 Message Date
Sijawusz Pur Rahnama 107c6e0ea6
Merge pull request #455 from crystal-ameba/tweak-spec-filename-rule 2024-03-10 00:51:12 +01:00
Sijawusz Pur Rahnama a661cf10fc Ignore files with extensions other than `.cr` 2024-03-09 22:38:47 +01:00
Sijawusz Pur Rahnama a2c9aa67cc Add missed spec case for files outside `spec/` folder 2024-03-09 22:38:23 +01:00
Sijawusz Pur Rahnama e2d6c69039 Include `SpecFilename` rule properties in its documentation 2024-03-09 22:37:58 +01:00
2 changed files with 15 additions and 1 deletions

View File

@ -4,6 +4,16 @@ module Ameba::Rule::Lint
subject = SpecFilename.new
describe SpecFilename do
it "passes if relative file path does not start with `spec/`" do
expect_no_issues subject, code: "", path: "src/spec/foo.cr"
expect_no_issues subject, code: "", path: "src/spec/foo/bar.cr"
end
it "passes if file extension is not `.cr`" do
expect_no_issues subject, code: "", path: "spec/foo.json"
expect_no_issues subject, code: "", path: "spec/foo/bar.json"
end
it "passes if filename is correct" do
expect_no_issues subject, code: "", path: "spec/foo_spec.cr"
expect_no_issues subject, code: "", path: "spec/foo/bar_spec.cr"

View File

@ -8,6 +8,8 @@ module Ameba::Rule::Lint
# ```
# Lint/SpecFilename:
# Enabled: true
# IgnoredDirs: [spec/support spec/fixtures spec/data]
# IgnoredFilenames: [spec_helper]
# ```
class SpecFilename < Base
properties do
@ -26,8 +28,10 @@ module Ameba::Rule::Lint
name = path_.stem
path = path_.to_s
# check files only within spec/ directory
# check only files within spec/ directory
return unless path.starts_with?("spec/")
# check only files with `.cr` extension
return unless path.ends_with?(".cr")
# ignore files having `_spec` suffix
return if name.ends_with?("_spec")