aboutsummaryrefslogblamecommitdiffstats
path: root/activesupport/test/security_utils_test.rb
blob: fff9cc2a8d98652a24d8525fef91ea20ed085a81 (plain) (tree)
1
2
3
4
5
6
7
8
                             
 

                                       


                                                          
                                                                


                                                                    

                                                                             
                                                                                 






                                                                         
   
# 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