Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Roblox
GitHub Repository: Roblox/luau
Path: blob/master/bench/other/boatbomber-HashLib/HashLib.spec.lua
2727 views
1
local function describe(phrase, callback) end
2
local function it(phrase, callback) end
3
local function expect(value) end
4
5
return function()
6
local HashLib = require(script.Parent)
7
local sha256 = HashLib.sha256
8
9
describe("HashLib.sha256", function()
10
it("should properly encode strings", function()
11
expect(sha256("abc").to.equal("ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"))
12
expect(
13
sha256("The quick brown fox jumps over the lazy dog").to.equal(
14
"d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592"
15
)
16
)
17
expect(sha256("123456").to.equal("8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92"))
18
end)
19
20
it("should create a private closure that works", function()
21
local AppendNextChunk = sha256()
22
AppendNextChunk("The quick brown fox")
23
AppendNextChunk(" jumps ")
24
AppendNextChunk("") -- chunk may be an empty string
25
AppendNextChunk("over the lazy dog")
26
expect(AppendNextChunk()).to.equal("d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592")
27
end)
28
29
it("should allow the private closure to work if called twice", function()
30
local AppendNextChunk = sha256()
31
AppendNextChunk("The quick brown fox")
32
AppendNextChunk(" jumps ")
33
AppendNextChunk("") -- chunk may be an empty string
34
AppendNextChunk("over the lazy dog")
35
AppendNextChunk()
36
expect(AppendNextChunk()).to.equal("d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592")
37
end)
38
end)
39
end
40
41