diff options
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-x-socialsharing/tests/test.js')
| -rw-r--r-- | StoneIsland/plugins/cordova-plugin-x-socialsharing/tests/test.js | 363 |
1 files changed, 0 insertions, 363 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-x-socialsharing/tests/test.js b/StoneIsland/plugins/cordova-plugin-x-socialsharing/tests/test.js deleted file mode 100644 index ad1a8229..00000000 --- a/StoneIsland/plugins/cordova-plugin-x-socialsharing/tests/test.js +++ /dev/null @@ -1,363 +0,0 @@ -/** - * Jasmine Based test suites - * - * Several of SocialSharing APIs cannot be automatically tested, because - * they depend on user interaction in order to call success or fail - * handlers. For most of them, there is a basic test that assert the presence of - * the API. - * - * There are some cases that test automation can be applied, i.e in "canShareVia", - * "canShareViaEmail" and "available" methods. For those cases, there is some level - * of automatic test coverage. - */ -exports.defineAutoTests = function () { - 'use strict'; - - describe('socialsharing', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing).toBeDefined(); - }); - - describe('share', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.share).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.share).toEqual('function'); - }); - }); - - describe('shareVia', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.shareVia).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.shareVia).toEqual('function'); - }); - }); - - describe('shareViaTwitter', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.shareViaTwitter).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.shareViaTwitter).toEqual('function'); - }); - }); - - describe('shareViaFacebook', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.shareViaFacebook).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.shareViaFacebook).toEqual('function'); - }); - }); - - describe('shareViaFacebookWithPasteMessageHint', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.shareViaFacebookWithPasteMessageHint).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.shareViaFacebookWithPasteMessageHint).toEqual('function'); - }); - }); - - describe('shareViaWhatsApp', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.shareViaWhatsApp).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.shareViaWhatsApp).toEqual('function'); - }); - }); - - describe('shareViaSMS', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.shareViaSMS).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.shareViaSMS).toEqual('function'); - }); - }); - - describe('shareViaEmail', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.shareViaEmail).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.shareViaEmail).toEqual('function'); - }); - }); - - describe('canShareVia', function () { - it('should be defined', function () { - expect(window.plugins.socialsharing.canShareVia).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.canShareVia).toEqual('function'); - }); - - it('should always call callback or error function', function (done) { - function onSuccess(data){ - expect(data).not.toEqual(null); - done(); - } - - function onError(error){ - expect(error).not.toEqual(null); - done(); - } - - window.plugins.socialsharing.canShareVia('dummytarget','dummymessage', null, null, null, onSuccess, onError); - }); - }); - - describe('canshareViaEmail', function(){ - it('should be defined', function () { - expect(window.plugins.socialsharing.canShareViaEmail).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.canShareViaEmail).toEqual('function'); - }); - - it('should always call callback or error function', function (done) { - function onSuccess(data){ - expect(data).not.toEqual(null); - done(); - } - - function onError(error){ - expect(error).not.toEqual(null); - done(); - } - - window.plugins.socialsharing.canShareViaEmail(onSuccess, onError); - }); - }); - - describe('availabe', function(){ - it('should be defined', function () { - expect(window.plugins.socialsharing.available).toBeDefined(); - }); - - it('should be a function', function () { - expect(typeof window.plugins.socialsharing.available).toEqual('function'); - }); - - it('should return a boolean when called', function(done){ - window.plugins.socialsharing.available(function(isAvailable) { - expect(typeof isAvailable).toEqual('boolean'); - done(); - }); - }); - }); - }); -}; - -/** - * Manual tests suites - * - * Some actions buttons to execute SocialSharing plugin methods - */ -exports.defineManualTests = function (contentEl, createActionButton) { - 'use strict'; - - /** helper function to log messages in the log div element */ - function logMessage(message, color) { - var log = document.getElementById('info'), - logLine = document.createElement('div'); - - if (color) { - logLine.style.color = color; - } - - logLine.innerHTML = message; - log.appendChild(logLine); - } - - /** helper function to clear the log div element */ - function clearLog() { - var log = document.getElementById('info'); - log.innerHTML = ''; - } - - /** helper function to declare a not implemented test */ - function testNotImplemented(testName) { - return function () { - console.error(testName, 'test not implemented'); - }; - } - - /** init method called on deviceready event */ - function init() {} - - /** object to hold properties and configs */ - var TestSuite = {}; - - TestSuite.getCanShareViaTarget = function(){ - return document.getElementById('inputCanShareVia').value; - }; - - TestSuite.$markup = '' + - '<fieldset>' + - '<legend>Available Tests</legend>' + - - '<h3>Available</h3>' + - '<div id="buttonIsAvailable"></div>' + - 'Expected result: Should log if the plugin is available or not' + - '</fieldset>' + - - '<fieldset>' + - '<legend>Share Tests</legend>' + - - '<h3>Share Message</h3>' + - '<div id="buttonShareMessage"></div>' + - 'Expected result: Should display share widget, and the message to share should contain "Message body"' + - - '<h3>Share Message with Subject</h3>' + - '<div id="buttonShareMessageWithSubject"></div>' + - 'Expected result: Should display share widget, and the message to share should contain "Message body", and the subject should be "Message subject"' + - - '<h3>Share Link</h3>' + - '<div id="buttonShareLink"></div>' + - 'Expected result: Should display share widget, and the message to share should contain "http://www.x-services.nl"' + - - '<h3>Share Message with Link</h3>' + - '<div id="buttonShareMessageAndLink"></div>' + - 'Expected result: Should display share widget, and the message to share should contain "Message body http://www.x-services.nl"' + - - '<h3>Share Image</h3>' + - '<div id="buttonShareImage"></div>' + - 'Expected result: Should display share widget, and the message to share should contain an image' + - - '<h3>Share Image in base 64</h3>' + - '<div id="buttonShareImageBase64"></div>' + - 'Expected result: Should display share widget, and the message to share should contain an image. The image is encoded in base 64' + - - '<h3>Share Image with Message</h3>' + - '<div id="buttonShareMessageImage"></div>' + - 'Expected result: Should display share widget, and the message to share should contain "Message body" and an image' + - - '<h3>Share Image with Message and Link</h3>' + - '<div id="buttonShareMessageImageLink"></div>' + - 'Expected result: Should display share widget, and the message to share should contain "Message body http://www.x-services.nl" and an image' + - - '<h3>Share Image with Message, Subject and Link</h3>' + - '<div id="buttonShareMessageSubjectImageLink"></div>' + - 'Expected result: Should display share widget, and the message to share should contain "Message body http://www.x-services.nl", "Message subject" as subject, and an image' + - '</fieldset>' + - - '<fieldset>' + - '<legend>Can Share Tests</legend>' + - - 'Target: <input id="inputCanShareVia" type="text"/><br>' + - - '<h3>Can Share via</h3>' + - '<div id="buttonCanShareVia"></div>' + - 'Expected result: should log OK if can share, or should log a list of available share targets' + - - '<h3>Can Share via Email</h3>' + - '<div id="buttonCanShareViaEmail"></div>' + - 'Expected result: should log OK if can share' + - '</fieldset>' + - ''; - - contentEl.innerHTML = '<div id="info"></div>' + TestSuite.$markup; - - createActionButton('availabe', function () { - clearLog(); - window.plugins.socialsharing.available(function(isAvailable) { - var message = 'is this plugin available? '; - message += isAvailable? 'Yes' : 'No'; - - logMessage(message, isAvailable? 'green' : 'red'); - }); - }, 'buttonIsAvailable'); - - createActionButton('share message', function () { - window.plugins.socialsharing.share('Message body'); - }, 'buttonShareMessage'); - - createActionButton('share message and subject', function () { - window.plugins.socialsharing.share('Message body', 'Message subject'); - }, 'buttonShareMessageWithSubject'); - - createActionButton('share link', function () { - window.plugins.socialsharing.share(null, null, null, 'http://www.x-services.nl'); - }, 'buttonShareLink'); - - createActionButton('share message and link', function () { - window.plugins.socialsharing.share('Message body', null, null, 'http://www.x-services.nl'); - }, 'buttonShareMessageAndLink'); - - createActionButton('share image', function () { - window.plugins.socialsharing.share(null, null, 'https://www.google.nl/images/srpr/logo4w.png', null); - }, 'buttonShareImage'); - - createActionButton('share image base 64', function () { - window.plugins.socialsharing.share(null, 'Android filename', 'data:image/png;base64,R0lGODlhDAAMALMBAP8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUKAAEALAAAAAAMAAwAQAQZMMhJK7iY4p3nlZ8XgmNlnibXdVqolmhcRQA7', null); - }, 'buttonShareImageBase64'); - - createActionButton('share message with image', function () { - window.plugins.socialsharing.share('Message body', null, 'https://www.google.nl/images/srpr/logo4w.png', null); - }, 'buttonShareMessageImage'); - - createActionButton('share message, image, and link', function () { - window.plugins.socialsharing.share('Message body', null, 'https://www.google.nl/images/srpr/logo4w.png', 'http://www.x-services.nl'); - }, 'buttonShareMessageImageLink'); - - createActionButton('share message, subject, image, and link', function () { - window.plugins.socialsharing.share('Message body', 'Message subject', 'https://www.google.nl/images/srpr/logo4w.png', 'http://www.x-services.nl'); - }, 'buttonShareMessageSubjectImageLink'); - - createActionButton('can share via', function () { - var target = TestSuite.getCanShareViaTarget(); - - if(!target){ - console.error('must have a canShareVia target'); - } - else { - clearLog(); - window.plugins.socialsharing.canShareVia(target, 'msg', null, null, null, function(e){ - console.log('canShareVia success, see log for more information'); - logMessage('canShareVia: ' + e,'green'); - }, function(e){ - console.error('canShareVia fail, see log for more information'); - var message = "Share targets<br>"; - - message += "<ul>"; - - e.forEach(function(target){ - message += "<li>" + target + "</li>"; - }); - - message += "</ul>"; - logMessage(message,'red'); - }); - } - }, 'buttonCanShareVia'); - - createActionButton('can share via email', function () { - clearLog(); - window.plugins.socialsharing.canShareViaEmail(function(e){ - console.log('canShareViaEmail success, see log for more information'); - logMessage('canShareViaEmail: ' + e,'green'); - }, function(e){ - console.error('canShareViaEmail fail, see log for more information'); - logMessage('canShareViaEmail: ' + e,'red'); - }); - }, 'buttonCanShareViaEmail'); - - document.addEventListener('deviceready', init, false); -}; |
