diff options
Diffstat (limited to 'activesupport/test/security_utils_test.rb')
-rw-r--r-- | activesupport/test/security_utils_test.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/activesupport/test/security_utils_test.rb b/activesupport/test/security_utils_test.rb new file mode 100644 index 0000000000..fff9cc2a8d --- /dev/null +++ b/activesupport/test/security_utils_test.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +require "abstract_unit" +require "active_support/security_utils" + +class SecurityUtilsTest < ActiveSupport::TestCase + def test_secure_compare_should_perform_string_comparison + assert ActiveSupport::SecurityUtils.secure_compare("a", "a") + assert_not ActiveSupport::SecurityUtils.secure_compare("a", "b") + end + + def test_fixed_length_secure_compare_should_perform_string_comparison + assert ActiveSupport::SecurityUtils.fixed_length_secure_compare("a", "a") + assert_not ActiveSupport::SecurityUtils.fixed_length_secure_compare("a", "b") + end + + def test_fixed_length_secure_compare_raise_on_length_mismatch + assert_raises(ArgumentError, "string length mismatch.") do + ActiveSupport::SecurityUtils.fixed_length_secure_compare("a", "ab") + end + end +end |