neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

test_sha256.vim (1634B)


      1 " Tests for the sha256() function.
      2 
      3 source check.vim
      4 " CheckFeature cryptv
      5 CheckFunction sha256
      6 
      7 function Test_sha256()
      8  " tests for string:
      9  " empty string
     10  call assert_equal('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256(""))
     11  " null string
     12  call assert_equal('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256(v:_null_string))
     13  " string with 1 char
     14  call assert_equal('ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', sha256("a"))
     15  " string with 3 chars
     16  call assert_equal('ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad', "abc"->sha256())
     17  " string containing meta char
     18  call assert_equal('807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8cc39ed110ca776', sha256("foo\nbar"))
     19  " string containing non-ascii char
     20  call assert_equal('5f78c33274e43fa9de5659265c1d917e25c03722dcb0b8d27db8d5feaa813953', sha256("\xde\xad\xbe\xef"))
     21 
     22  " tests for blob:
     23  " empty blob
     24  call assert_equal('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256(0z))
     25  " null blob
     26  call assert_equal('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256(v:_null_blob))
     27  " blob with single byte
     28  call assert_equal('ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', sha256(0z61))
     29  " blob with "abc"
     30  call assert_equal('ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad', sha256(0z616263))
     31  " blob with non-ascii bytes
     32  call assert_equal('5f78c33274e43fa9de5659265c1d917e25c03722dcb0b8d27db8d5feaa813953', sha256(0zdeadbeef))
     33 endfunction
     34 
     35 " vim: shiftwidth=2 sts=2 expandtab