diff options
Diffstat (limited to 'plugins/de.appplant.cordova.plugin.badge/tests')
| -rw-r--r-- | plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml | 34 | ||||
| -rw-r--r-- | plugins/de.appplant.cordova.plugin.badge/tests/tests.js | 156 |
2 files changed, 190 insertions, 0 deletions
diff --git a/plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml b/plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml new file mode 100644 index 00000000..f8d815bf --- /dev/null +++ b/plugins/de.appplant.cordova.plugin.badge/tests/plugin.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. + * + * @APPPLANT_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apache License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://opensource.org/licenses/Apache-2.0/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPPLANT_LICENSE_HEADER_END@ +--> + +<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" + xmlns:android="http://schemas.android.com/apk/res/android" + id="de.appplant.cordova.plugin.badge-tests" + version="0.7.0dev"> + + <name>Cordova Badge Plugin Tests</name> + <license>Apache 2.0</license> + + <js-module src="tests.js" name="tests" /> +</plugin> diff --git a/plugins/de.appplant.cordova.plugin.badge/tests/tests.js b/plugins/de.appplant.cordova.plugin.badge/tests/tests.js new file mode 100644 index 00000000..473cd02a --- /dev/null +++ b/plugins/de.appplant.cordova.plugin.badge/tests/tests.js @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. + * + * @APPPLANT_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apache License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://opensource.org/licenses/Apache-2.0/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPPLANT_LICENSE_HEADER_END@ + */ + + +exports.defineAutoTests = function() { + + describe('Badge Plugin (cordova.plugins.notification.badge)', function () { + + describe('Plugin availability', function () { + + it("should exist", function() { + expect(cordova.plugins.notification.badge).toBeDefined(); + }); + + it("should define clear", function() { + expect(cordova.plugins.notification.badge.clear).toBeDefined(); + }); + + it("should define get", function() { + expect(cordova.plugins.notification.badge.get).toBeDefined(); + }); + + it("should define set", function() { + expect(cordova.plugins.notification.badge.set).toBeDefined(); + }); + + it("should define increase", function() { + expect(cordova.plugins.notification.badge.increase).toBeDefined(); + }); + + it("should define decrease", function() { + expect(cordova.plugins.notification.badge.decrease).toBeDefined(); + }); + + it("should define hasPermission", function() { + expect(cordova.plugins.notification.badge.hasPermission).toBeDefined(); + }); + + it("should define registerPermission", function() { + expect(cordova.plugins.notification.badge.registerPermission).toBeDefined(); + }); + + it("should define configure", function() { + expect(cordova.plugins.notification.badge.configure).toBeDefined(); + }); + + }); + + describe('API callbacks', function () { + + it("clear should invoke callback", function(done) { + cordova.plugins.notification.badge.clear(done); + }); + + it("get should invoke callback", function(done) { + cordova.plugins.notification.badge.get(done); + }); + + it("set should invoke callback", function(done) { + cordova.plugins.notification.badge.set(done); + }); + + it("increase should invoke callback", function(done) { + cordova.plugins.notification.badge.increase(done); + }); + + it("decrease should invoke callback", function(done) { + cordova.plugins.notification.badge.decrease(done); + }); + + it("hasPermission should invoke callback", function(done) { + cordova.plugins.notification.badge.hasPermission(done); + }); + + it("registerPermission should invoke callback", function(done) { + cordova.plugins.notification.badge.registerPermission(done); + }); + + }); + + describe('API functions', function () { + + it("clear should set badge to 0", function(done) { + cordova.plugins.notification.badge.clear(function (badge) { + expect(badge).toBe(0); + done(); + }); + }); + + it("should return badge", function(done) { + cordova.plugins.notification.badge.set(10, function (badge) { + expect(badge).toBe(10); + + cordova.plugins.notification.badge.get(function (badge2) { + expect(badge).toBe(badge2); + done(); + }); + }); + }); + + it("should increase badge", function(done) { + cordova.plugins.notification.badge.set(10, function () { + cordova.plugins.notification.badge.increase(1, function (badge) { + expect(badge).toBe(11); + done(); + }); + }); + }); + + it("should decrease badge", function(done) { + cordova.plugins.notification.badge.set(10, function () { + cordova.plugins.notification.badge.decrease(1, function (badge) { + expect(badge).toBe(9); + done(); + }); + }); + }); + + it("hasPermission should return boolean", function(done) { + cordova.plugins.notification.badge.hasPermission(function (has) { + expect(has === true || has === false).toBe(true); + done(); + }); + }); + + it("registerPermission should return boolean", function(done) { + cordova.plugins.notification.badge.registerPermission(function (has) { + expect(has === true || has === false).toBe(true); + done(); + }); + }); + + }); + + }); +}; |
