aboutsummaryrefslogtreecommitdiffstats
path: root/ci/custom_cops/test/custom_cops/assert_not_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ci/custom_cops/test/custom_cops/assert_not_test.rb')
-rw-r--r--ci/custom_cops/test/custom_cops/assert_not_test.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/ci/custom_cops/test/custom_cops/assert_not_test.rb b/ci/custom_cops/test/custom_cops/assert_not_test.rb
new file mode 100644
index 0000000000..abb151aeb4
--- /dev/null
+++ b/ci/custom_cops/test/custom_cops/assert_not_test.rb
@@ -0,0 +1,42 @@
+# frozen_string_literal: true
+
+require "support/cop_helper"
+require_relative "../../lib/custom_cops/assert_not"
+
+class AssertNotTest < ActiveSupport::TestCase
+ include CopHelper
+
+ setup do
+ @cop = CustomCops::AssertNot.new
+ end
+
+ test "rejects 'assert !'" do
+ inspect_source @cop, "assert !x"
+ assert_offense @cop, "^^^^^^^^^ Prefer `assert_not` over `assert !`"
+ end
+
+ test "rejects 'assert !' with a complex value" do
+ inspect_source @cop, "assert !a.b(c)"
+ assert_offense @cop, "^^^^^^^^^^^^^^ Prefer `assert_not` over `assert !`"
+ end
+
+ test "autocorrects `assert !`" do
+ corrected = autocorrect_source(@cop, "assert !false")
+ assert_equal "assert_not false", corrected
+ end
+
+ test "autocorrects `assert !` with extra spaces" do
+ corrected = autocorrect_source(@cop, "assert ! false")
+ assert_equal "assert_not false", corrected
+ end
+
+ test "autocorrects `assert !` with parentheses" do
+ corrected = autocorrect_source(@cop, "assert(!false)")
+ assert_equal "assert_not(false)", corrected
+ end
+
+ test "accepts `assert_not`" do
+ inspect_source @cop, "assert_not x"
+ assert_empty @cop.offenses
+ end
+end