aboutsummaryrefslogtreecommitdiffstats
path: root/lang/js/test/Message.js
diff options
context:
space:
mode:
authorMaximilian Krambach <[email protected]>2018-04-25 17:45:39 +0000
committerMaximilian Krambach <[email protected]>2018-04-25 17:45:39 +0000
commit3685913bf510a14b8cb324d980217d90489e6453 (patch)
treeeb1acbdee90bf747f2dfbd4c9a61ed83d41c2b8f /lang/js/test/Message.js
parentjs: Configuration and Error handling (diff)
downloadgpgme-3685913bf510a14b8cb324d980217d90489e6453.tar.gz
gpgme-3685913bf510a14b8cb324d980217d90489e6453.zip
js: First testing and improvements
-- * Introduced Mocha/chai as testsuite. After development build 'npm test' should run the unit tests. Functionality exclusive to Browsers/WebExtensions cannot be run this way, so some other testing is still needed. - package.json: Added required development packages - .babelrc indirect configuration for mocha. ES6 transpiling needs some babel configuration, but mocha has no setting for it. - test/mocha.opts Vonfiguration for mocha runs * Fixed errors: - Helpers.js toKeyIdArray; isLongId is now exported - Key.js Key constructor failed - Message.js will not throw an Error during construction, a new message is now created with createMessage, which can return an Error or a GPGME_Message object * Tests: - test/Helpers: exports from Helpers.js, GPGME_Error handling - test/Message: first init test with bad parameters
Diffstat (limited to '')
-rw-r--r--lang/js/test/Message.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/lang/js/test/Message.js b/lang/js/test/Message.js
new file mode 100644
index 00000000..454b8ca3
--- /dev/null
+++ b/lang/js/test/Message.js
@@ -0,0 +1,42 @@
+/* gpgme.js - Javascript integration for gpgme
+ * Copyright (C) 2018 Bundesamt für Sicherheit in der Informationstechnik
+ *
+ * This file is part of GPGME.
+ *
+ * GPGME is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * GPGME is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: LGPL-2.1+
+ */
+
+import { expect } from "../node_modules/chai/chai";
+import { GPGME_Message, createMessage } from "../src/Message";
+
+const message_params = {
+ invalid_op_action : 'dance',
+ invalid_op_type : [234, 34, '<>'],
+}
+
+describe('Message Object', function(){
+ describe('incorrect initialization', function(){
+ it('non-allowed operation', function(){
+ let test0 = createMessage(message_params.invalid_op_action);
+ expect(test0).to.be.an.instanceof(Error);
+ expect(test0.code).to.equal('MSG_WRONG_OP');
+ });
+ it('wrong parameter type in constructor', function(){
+ let test0 = createMessage(message_params.invalid_op_type);
+ expect(test0).to.be.an.instanceof(Error);
+ expect(test0.code).to.equal('PARAM_WRONG');
+ });
+ });
+});