Import Upstream version 20180207
[hcoop/debian/mlton.git] / lib / mlton / basic / base64.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 *
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
7 *)
8
9(* Base64 encoding, as in RFC 1421 *)
10
11signature BASE64 =
12 sig
13 val decode: string -> string
14 val encode: string -> string
15 end
16
17
18functor TestBase64 (S: BASE64): sig end =
19struct
20
21open S
22
23val _ =
24 Assert.assert
25 ("TestBase64", fn () =>
26 List.forall(["a", "aa", "aaa", "aaaa", "aaaaa", "aaaaaa", "aaaaaaa",
27 "a", "ab", "abc", "abcd", "abcde", "abcdef", "abcdefg",
28 "bb:new.site"],
29 fn s => decode(encode s) = s))
30end