]> gitweb.factorcode.org Git - factor.git/blob - extra/sodium/sodium-tests.factor
inverse: Fix docs
[factor.git] / extra / sodium / sodium-tests.factor
1 ! Copyright (C) 2018 Alexander Ilin.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: arrays io.encodings.string io.encodings.utf8 kernel math
4 sequences sodium tools.test ;
5 IN: sodium.tests
6
7 { t } [
8     "Encrypted message" dup utf8 encode
9     crypto-box-nonce 2 [ crypto-box-keypair 2array ] times
10     [ [ first ] [ second ] bi* crypto-box-easy ] 3keep swap
11     [ first ] [ second ] bi* crypto-box-open-easy utf8 decode =
12 ] unit-test
13
14 { t } [
15     "Signature verification test" utf8 encode
16     crypto-sign-keypair
17     [ nip crypto-sign ]
18     [ drop crypto-sign-verify ] 3bi
19 ] unit-test
20
21 ! https://github.com/sqrldev/sqrl-test-vectors/blob/master/vectors/enhash-vectors.txt
22 CONSTANT: base64-tests {
23     ""
24     "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
25     "_FHmfDKg6e6rE-hV-1dGCrtbmVUnQtByMvqkCXxdfuU"
26     "AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE"
27     "vhFHvj4Qdlv8VAsnTdRJ_YsdctXQpJ5Elh9aM-hI2yQ"
28     "__________________________________________8"
29     "yyHN-LfEkKdKNRkuUHWvpzYYJy3FhVJQusPGpvlGWsE"
30     "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU"
31     "bk7GPoNy_qWdAjZ-gF5GHmioZ0ZM04a8wQBvwxSQWnE"
32     "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo"
33     "TCDPMl3crNzjLnd94BiaVg0wV63oJ9TyKIu3gS33MA0"
34     "hA3Dw5BPbcuJQYQYRAukKBYa1u9m4pV5jtEpQ1DDtHk"
35     "EGisR5HKQFtLvqTcbZu7Xvl9_uySHlFaiaLxM5V5Ta0"
36     "3FI8xwyoFAU1eWsnAdAUh3D-SS-XiiWdiIGw7mGY2qk"
37     "chvqBddUlaePrIhevV1ap48P4cKR6B60i4oTnQ1BRuU"
38     "0jtFpgpHqvzcfSdKXJ5f8hXRAi0Ytf3K7zlXWN6dies"
39     "xH3LNXP0-SJnP-jtQaGXeIH3ZTK_6B-Vu_IT6wz4TjM"
40     "Wf5wO411DCEe53k7lPp_dh5pp06AEUCNpEXCi5KG0ro"
41     "iHNsJLKJ3InnB4a3D7nwzLGx-z4HXxXnnX6Ppp4fgRE"
42     "0g9euYTG7974KIhW6en7BP6-2S7u_9qabd1V-7SDIOU"
43     "-TAyGNEEkNuFceonDUF_Nz20RnlyTVpeDp92KGkCRxs"
44     "d1podenEZmoVmyP7gZ8XxAKW82jSt4QiX3mC4JnM_K8"
45     "rNZG4IAkyQAmKcoCQKOEyC34KAaU-wPA_2NY_5y7-Q4"
46     "8QROWCEzP0Ni2MwmlVKffsUm5MlX-pzxX03Q9D0zsYw"
47     "BK2JN4_78CwB3MSJjFEAwHQX-1efCOYNAvKn8-z4ALw"
48     "be30E76EBlTd_DW66KBUYZqYYhSr1eHhv-UMKrVHJOA"
49     "nrZb5PYuff38xgEP4dg6xpBzIk6XHauBFYqPD1KOu6g"
50     "Z_H_qwKAcqOilZTHIZKHhXLlRdWfty24UWWq-28a1wc"
51     "5CezCWqQX09B_MllxHQNmBE2080BADIBoMtqc5LZNfc"
52 }
53
54 { t } [
55     base64-tests [ dup sodium-base64>bin sodium-bin>base64 = ] all?
56 ] unit-test