summaryrefslogtreecommitdiff
path: root/Data/BuiltIn/Libraries/md5.lua/spec/md5_spec.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-15 11:54:17 +0800
committerchai <chaifix@163.com>2021-11-15 11:54:17 +0800
commit30f2f46474bf4eda5f10d4c64a07cde01d469f66 (patch)
tree6ff2ed3262037b3c9bae2d2b9059a1d65773f31c /Data/BuiltIn/Libraries/md5.lua/spec/md5_spec.lua
parent4c36bed53fe63ae6056730b3ecad2573f03d88f8 (diff)
*rename DefaultContent -> BuiltIn
Diffstat (limited to 'Data/BuiltIn/Libraries/md5.lua/spec/md5_spec.lua')
-rw-r--r--Data/BuiltIn/Libraries/md5.lua/spec/md5_spec.lua40
1 files changed, 40 insertions, 0 deletions
diff --git a/Data/BuiltIn/Libraries/md5.lua/spec/md5_spec.lua b/Data/BuiltIn/Libraries/md5.lua/spec/md5_spec.lua
new file mode 100644
index 0000000..69dde39
--- /dev/null
+++ b/Data/BuiltIn/Libraries/md5.lua/spec/md5_spec.lua
@@ -0,0 +1,40 @@
+local md5 = require('md5')
+
+local function hex2bin(hex)
+ local result, _ = hex:gsub('..', function(hexval)
+ return string.char(tonumber(hexval, 16))
+ end)
+ return result
+end
+
+describe('md5', function()
+ describe('md5.sumhexa', function()
+ it('works', function()
+ assert.equal(md5.sumhexa("asdf"), '912ec803b2ce49e4a541068d495ab570')
+ assert.equal(md5.sumhexa('The quick brown fox jumps over the lazy dog'), '9e107d9d372bb6826bd81d3542a419d6')
+ assert.equal(md5.sumhexa('The quick brown fox jumps over the lazy dog.'), 'e4d909c290d0fb1ca068ffaddf22cbd0')
+ assert.equal(md5.sumhexa(''), 'd41d8cd98f00b204e9800998ecf8427e')
+ assert.equal(md5.sumhexa(('1'):rep(824)), 'a126fd3611ab8d9b7e8a3384e2fa78a0')
+ assert.equal(md5.sumhexa(('1'):rep(1528)), '3750b6a29d923b633e05d6ae76895664')
+ local state = md5.new()
+ state:update('Hello')
+ state:update(', World!')
+ assert.equal(md5.tohex(state:finish()), '65a8e27d8879283831b664bd8b7f0ad4')
+ end)
+ end)
+
+ describe('md5.sum', function()
+ it('works', function()
+ assert.equal(md5.sum("asdf"), hex2bin '912ec803b2ce49e4a541068d495ab570')
+ assert.equal(md5.sum('The quick brown fox jumps over the lazy dog'), hex2bin '9e107d9d372bb6826bd81d3542a419d6')
+ assert.equal(md5.sum('The quick brown fox jumps over the lazy dog.'), hex2bin 'e4d909c290d0fb1ca068ffaddf22cbd0')
+ assert.equal(md5.sum(''), hex2bin 'd41d8cd98f00b204e9800998ecf8427e')
+ assert.equal(md5.sum(('1'):rep(824)), hex2bin 'a126fd3611ab8d9b7e8a3384e2fa78a0')
+ assert.equal(md5.sum(('1'):rep(1528)), hex2bin '3750b6a29d923b633e05d6ae76895664')
+ local state = md5.new()
+ state:update('Hello')
+ state:update(', World!')
+ assert.equal(state:finish(), hex2bin '65a8e27d8879283831b664bd8b7f0ad4')
+ end)
+ end)
+end)