diff options
Diffstat (limited to 'std/hash/md5_test.ts')
-rw-r--r-- | std/hash/md5_test.ts | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/std/hash/md5_test.ts b/std/hash/md5_test.ts new file mode 100644 index 000000000..050c5ae91 --- /dev/null +++ b/std/hash/md5_test.ts @@ -0,0 +1,56 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +const { test } = Deno; +import { assertEquals } from "../testing/asserts.ts"; +import { Md5 } from "./md5.ts"; + +const millionAs = "a".repeat(1000000); + +const testSetHex = [ + ["", "d41d8cd98f00b204e9800998ecf8427e"], + ["abc", "900150983cd24fb0d6963f7d28e17f72"], + ["deno", "c8772b401bc911da102a5291cc4ec83b"], + [ + "The quick brown fox jumps over the lazy dog", + "9e107d9d372bb6826bd81d3542a419d6", + ], + [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "3b0c8ac703f828b04c6c197006d17218", + ], + [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "014842d480b571495a4a0363793f7367", + ], + [millionAs, "7707d6ae4e027c70eea2a935c2296f21"], +]; + +const testSetBase64 = [ + ["", "1B2M2Y8AsgTpgAmY7PhCfg=="], + ["abc", "kAFQmDzST7DWlj99KOF/cg=="], + ["deno", "yHcrQBvJEdoQKlKRzE7IOw=="], + ["The quick brown fox jumps over the lazy dog", "nhB9nTcrtoJr2B01QqQZ1g=="], + [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "OwyKxwP4KLBMbBlwBtFyGA==", + ], + [ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "AUhC1IC1cUlaSgNjeT9zZw==", + ], + [millionAs, "dwfWrk4CfHDuoqk1wilvIQ=="], +]; + +test("[hash/md5] testMd5Hex", () => { + for (const [input, output] of testSetHex) { + const md5 = new Md5(); + assertEquals(md5.update(input).toString(), output); + } +}); + +test("[hash/md5] testMd5Base64", () => { + for (const [input, output] of testSetBase64) { + const md5 = new Md5(); + assertEquals(md5.update(input).toString("base64"), output); + } +}); |