Skip to content

Commit

Permalink
Merge pull request #455 from crystal-ameba/tweak-spec-filename-rule
Browse files Browse the repository at this point in the history
  • Loading branch information
Sija committed Mar 9, 2024
2 parents 63be60c + a661cf1 commit 107c6e0
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
10 changes: 10 additions & 0 deletions spec/ameba/rule/lint/spec_filename_spec.cr
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
6 changes: 5 additions & 1 deletion src/ameba/rule/lint/spec_filename.cr
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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")

Expand Down

0 comments on commit 107c6e0

Please sign in to comment.