bc8c97bb8b9515a27526aa0f18a88ff239a333e5
[gpgme.git] / lang / js / BrowserTestExtension / tests / inputvalues.js
1 /* gpgme.js - Javascript integration for gpgme
2  * Copyright (C) 2018 Bundesamt für Sicherheit in der Informationstechnik
3  *
4  * This file is part of GPGME.
5  *
6  * GPGME is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as
8  * published by the Free Software Foundation; either version 2.1 of
9  * the License, or (at your option) any later version.
10  *
11  * GPGME is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this program; if not, see <http://www.gnu.org/licenses/>.
18  * SPDX-License-Identifier: LGPL-2.1+
19  */
20
21 var inputvalues = {
22     encrypt: {
23         good:{
24             data : 'Hello World.',
25             fingerprint : 'D41735B91236FDB882048C5A2301635EEFF0CB05',
26             data_nonascii: '¡Äußerste µ€ før ñoquis@hóme! Добрый день\n'
27         },
28         bad: {
29             fingerprint: 'CDC3A2B2860625CCBFC5AAAAAC6D1B604967FC4A'
30         }
31     },
32     init: {
33         invalid_startups: [{all_passwords: true}, 'openpgpmode', {api_style:"frankenstein"}]
34     }
35
36 };
37
38 function bigString(megabytes){
39     let maxlength = 1024 * 1024 * megabytes;
40     let uint = new Uint8Array(maxlength);
41     for (let i= 0; i < maxlength; i++){
42         uint[i] = Math.random() * Math.floor(256);
43     }
44     return new TextDecoder('utf-8').decode(uint);
45 }
46
47 function bigUint8(megabytes){
48     let maxlength = 1024 * 1024 * megabytes;
49     let uint = new Uint8Array(maxlength);
50     for (let i= 0; i < maxlength; i++){
51         uint[i] = Math.random() * Math.floor(256);
52     }
53     return uint;
54 }
55
56 function bigBoringString(megabytes){
57     let maxlength = 1024 * 1024 * megabytes;
58     let string = '';
59     let chars = ' ä0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
60     for (let i= 0; i < maxlength; i++){
61         string = string + chars[Math.floor(Math.random() * chars.length)];
62     }
63     return string;
64 }
65
66 function slightlyLessBoringString(megabytes, set){
67     let maxlength = 1024 * 1024 * megabytes;
68     let string = '';
69     let chars = '';
70     if (!set){
71
72     } else if (set ===1 ) {
73         chars = '\n\"\r \'';
74     } else if (set === 2 ) {
75         chars = '()=?`#+-{}[]';
76     } else if (set === 3){
77         chars = '^°/';
78             //'*<>\\^°/';
79     } else if (set ===4) {
80         chars = 'äüßµüþÖ~ɁÑ||@';
81     } else {
82         chars = '*<>\n\"\r§$%&/()=?`#+-{}[] \''; //fails!
83
84     }
85     for (let i= 0; i < maxlength; i++){
86         string = string + chars[Math.floor(Math.random() * chars.length)];
87     }
88     return string;
89 }
90
91 var encryptedData =
92     '-----BEGIN PGP MESSAGE-----\n' +
93     '\n' +
94     'hQEMA6B8jfIUScGEAQgAlANd3uyhmhYLzVcfz4LEqA8tgUC3n719YH0iuKEzG/dv\n' +
95     'B8fsIK2HoeQh2T3/Cc2LBMjgn4K33ksG3k2MqrbIvxWGUQlOAuggc259hquWtX9B\n' +
96     'EcEoOAeh5DuZT/b8CM5seJKNEpPzNxbEDiGikp9DV9gfIQTTUnrDjAu5YtgCN9vA\n' +
97     '3PJxihioH8ODoQw2jlYSkqgXpBVP2Fbx7qgTuxGNu5w36E0/P93//4hDXcKou7ez\n' +
98     'o0+NEGSkbaY+OPk1k7k9n+vBSC3F440dxsTNs5WmRvx9XZEotJkUBweE+8XaoLCn\n' +
99     '3RrtyD/lj63qi3dbyI5XFLuPU1baFskJ4UAmI4wNhdJ+ASailpnFBnNgiFBh3ZfB\n' +
100     'G5Rmd3ocSL7l6lq1bVK9advXb7vcne502W1ldAfHgTdQgc2CueIDFUYAaXP2OvhP\n' +
101     'isGL7jOlDCBKwep67ted0cTRPLWkk3NSuLIlvD5xs6L4z3rPu92gXYgbZoMMdP0N\n' +
102     'kSAQYOHplfA7YJWkrlRm\n' +
103     '=zap6\n' +
104     '-----END PGP MESSAGE-----\n';