summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAaron Patterson <[email protected]>2024-06-12 09:43:03 -0700
committerAaron Patterson <[email protected]>2024-06-12 10:25:57 -0700
commit85190d41307525063d9963283d5813074dda793f (patch)
tree4737c60a52efe4d3a4a628b598119a0557d0eceb /test
parent783eaf70f856ffefcefcb13ca1237b9de5663c51 (diff)
Add regression test for Bug #20573
Just a regression test to ensure behavior remains the same
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_warning.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/ruby/test_warning.rb b/test/ruby/test_warning.rb
new file mode 100644
index 0000000000..cd220ff00f
--- /dev/null
+++ b/test/ruby/test_warning.rb
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+require 'test/unit'
+
+class TestWarning < Test::Unit::TestCase
+ def test_warn_called_only_when_category_enabled
+ # Assert that warn is called when the category is enabled
+ assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
+ begin;
+ Warning[:deprecated] = true
+ $warnings = []
+ def Warning.warn(msg, category:)
+ $warnings << [msg, category]
+ end
+ assert_equal(0, $warnings.length)
+ "" << 12
+ assert_equal(1, $warnings.length)
+ end;
+
+ assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
+ begin;
+ Warning[:deprecated] = false
+ $warnings = []
+ def Warning.warn(msg, category:)
+ $warnings << [msg, category]
+ end
+ assert_equal(0, $warnings.length)
+ "" << 12
+ assert_equal(0, $warnings.length, $warnings.join)
+ end;
+ end
+end