mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	This gives us a consistent test framework across all Ruby versions which should help avoid errors that are only found when CI runs the tests on different Rubies. (And this fixes an immediate bug where there's no `skip` method in the version of test-unit we're currently using only on Ruby 2.2.)
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require_relative "./helper"
 | |
| 
 | |
| class TestMD5 < Minitest::Test
 | |
|   include Linguist
 | |
| 
 | |
|   def test_hexdigest_string
 | |
|     assert_equal "af0ede4f95acad6d331a813dc3904c11", MD5.hexdigest("foo")
 | |
|     assert_equal "05427b9908edb6995ed76faa23e4471f", MD5.hexdigest("bar")
 | |
|   end
 | |
| 
 | |
|   def test_hexdigest_symbol
 | |
|     assert_equal "450c1ae043459546517b3dd2f98250f0", MD5.hexdigest(:foo)
 | |
|     assert_equal "f06967526af9d7a512594b0a81b31ede", MD5.hexdigest(:bar)
 | |
| 
 | |
|     refute_equal MD5.hexdigest("foo"), MD5.hexdigest(:foo)
 | |
|   end
 | |
| 
 | |
|   def test_hexdigest_integer
 | |
|     assert_equal "7605ec17fd7fd213fdcd23cac302cbb4", MD5.hexdigest(1)
 | |
|     assert_equal "097c311a46d330e4e119ba2b1dc0f9a5", MD5.hexdigest(2)
 | |
| 
 | |
|     refute_equal MD5.hexdigest("1"), MD5.hexdigest(1)
 | |
|   end
 | |
| 
 | |
|   def test_hexdigest_boolean
 | |
|     assert_equal "a690a0615820e2e5c53901d8b8958509", MD5.hexdigest(true)
 | |
|     assert_equal "fca6a9b459e702fa93513c6a8b8c5dfe", MD5.hexdigest(false)
 | |
| 
 | |
|     refute_equal MD5.hexdigest("true"), MD5.hexdigest(true)
 | |
|     refute_equal MD5.hexdigest("false"), MD5.hexdigest(false)
 | |
|   end
 | |
| 
 | |
|   def test_hexdigest_nil
 | |
|     assert_equal "35589a1cc0b3ca90fc52d0e711c0c434", MD5.hexdigest(nil)
 | |
| 
 | |
|     refute_equal MD5.hexdigest("nil"), MD5.hexdigest(nil)
 | |
|   end
 | |
| 
 | |
|   def test_hexdigest_array
 | |
|     assert_equal "4410ec34d9e6c1a68100ca0ce033fb17", MD5.hexdigest([])
 | |
|     assert_equal "759f28c1d0c20c22e79c91d339855d95", MD5.hexdigest([1])
 | |
|     assert_equal "9efe07b352dd94cd1cdc9d1a8d054f8f", MD5.hexdigest([1, 2])
 | |
|     assert_equal "60b1ef7201404f20c3d12f47499c3a1f", MD5.hexdigest([1, 2, 3])
 | |
|     assert_equal "2f82cdc166616208077ff1dd0a8faeff", MD5.hexdigest([1, 2, [3]])
 | |
|   end
 | |
| 
 | |
|   def test_hexdigest_hash
 | |
|     assert_equal "fae8a9257e154175da4193dbf6552ef6", MD5.hexdigest({})
 | |
|     assert_equal "868ee214faf277829a85667cf332749f", MD5.hexdigest({:a => 1})
 | |
|     assert_equal "fa9df957c2b26de6fcca9d062ea8701e", MD5.hexdigest({:b => 2})
 | |
| 
 | |
|     refute_equal MD5.hexdigest([:b, 2]), MD5.hexdigest({:b => 2})
 | |
| 
 | |
|     assert_equal MD5.hexdigest({:b => 2, :a => 1}), MD5.hexdigest({:a => 1, :b => 2})
 | |
|     assert_equal MD5.hexdigest({:c => 3, :b => 2, :a => 1}), MD5.hexdigest({:a => 1, :b => 2, :c => 3})
 | |
|   end
 | |
| end
 |