1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/addon-sdk/source/test/test-array.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,103 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 +'use strict' 1.8 + 1.9 +const array = require('sdk/util/array'); 1.10 + 1.11 +exports.testHas = function(assert) { 1.12 + var testAry = [1, 2, 3]; 1.13 + assert.equal(array.has([1, 2, 3], 1), true); 1.14 + assert.equal(testAry.length, 3); 1.15 + assert.equal(testAry[0], 1); 1.16 + assert.equal(testAry[1], 2); 1.17 + assert.equal(testAry[2], 3); 1.18 + assert.equal(array.has(testAry, 2), true); 1.19 + assert.equal(array.has(testAry, 3), true); 1.20 + assert.equal(array.has(testAry, 4), false); 1.21 + assert.equal(array.has(testAry, '1'), false); 1.22 +}; 1.23 +exports.testHasAny = function(assert) { 1.24 + var testAry = [1, 2, 3]; 1.25 + assert.equal(array.hasAny([1, 2, 3], [1]), true); 1.26 + assert.equal(array.hasAny([1, 2, 3], [1, 5]), true); 1.27 + assert.equal(array.hasAny([1, 2, 3], [5, 1]), true); 1.28 + assert.equal(array.hasAny([1, 2, 3], [5, 2]), true); 1.29 + assert.equal(array.hasAny([1, 2, 3], [5, 3]), true); 1.30 + assert.equal(array.hasAny([1, 2, 3], [5, 4]), false); 1.31 + assert.equal(testAry.length, 3); 1.32 + assert.equal(testAry[0], 1); 1.33 + assert.equal(testAry[1], 2); 1.34 + assert.equal(testAry[2], 3); 1.35 + assert.equal(array.hasAny(testAry, [2]), true); 1.36 + assert.equal(array.hasAny(testAry, [3]), true); 1.37 + assert.equal(array.hasAny(testAry, [4]), false); 1.38 + assert.equal(array.hasAny(testAry), false); 1.39 + assert.equal(array.hasAny(testAry, '1'), false); 1.40 +}; 1.41 + 1.42 +exports.testAdd = function(assert) { 1.43 + var testAry = [1]; 1.44 + assert.equal(array.add(testAry, 1), false); 1.45 + assert.equal(testAry.length, 1); 1.46 + assert.equal(testAry[0], 1); 1.47 + assert.equal(array.add(testAry, 2), true); 1.48 + assert.equal(testAry.length, 2); 1.49 + assert.equal(testAry[0], 1); 1.50 + assert.equal(testAry[1], 2); 1.51 +}; 1.52 + 1.53 +exports.testRemove = function(assert) { 1.54 + var testAry = [1, 2]; 1.55 + assert.equal(array.remove(testAry, 3), false); 1.56 + assert.equal(testAry.length, 2); 1.57 + assert.equal(testAry[0], 1); 1.58 + assert.equal(testAry[1], 2); 1.59 + assert.equal(array.remove(testAry, 2), true); 1.60 + assert.equal(testAry.length, 1); 1.61 + assert.equal(testAry[0], 1); 1.62 +}; 1.63 + 1.64 +exports.testFlatten = function(assert) { 1.65 + assert.equal(array.flatten([1, 2, 3]).length, 3); 1.66 + assert.equal(array.flatten([1, [2, 3]]).length, 3); 1.67 + assert.equal(array.flatten([1, [2, [3]]]).length, 3); 1.68 + assert.equal(array.flatten([[1], [[2, [3]]]]).length, 3); 1.69 +}; 1.70 + 1.71 +exports.testUnique = function(assert) { 1.72 + var Class = function () {}; 1.73 + var A = {}; 1.74 + var B = new Class(); 1.75 + var C = [ 1, 2, 3 ]; 1.76 + var D = {}; 1.77 + var E = new Class(); 1.78 + 1.79 + assert.deepEqual(array.unique([1,2,3,1,2]), [1,2,3]); 1.80 + assert.deepEqual(array.unique([1,1,1,4,9,5,5]), [1,4,9,5]); 1.81 + assert.deepEqual(array.unique([A, A, A, B, B, D]), [A,B,D]); 1.82 + assert.deepEqual(array.unique([A, D, A, E, E, D, A, A, C]), [A, D, E, C]) 1.83 +}; 1.84 + 1.85 +exports.testUnion = function(assert) { 1.86 + var Class = function () {}; 1.87 + var A = {}; 1.88 + var B = new Class(); 1.89 + var C = [ 1, 2, 3 ]; 1.90 + var D = {}; 1.91 + var E = new Class(); 1.92 + 1.93 + assert.deepEqual(array.union([1, 2, 3],[7, 1, 2]), [1, 2, 3, 7]); 1.94 + assert.deepEqual(array.union([1, 1, 1, 4, 9, 5, 5], [10, 1, 5]), [1, 4, 9, 5, 10]); 1.95 + assert.deepEqual(array.union([A, B], [A, D]), [A, B, D]); 1.96 + assert.deepEqual(array.union([A, D], [A, E], [E, D, A], [A, C]), [A, D, E, C]); 1.97 +}; 1.98 + 1.99 +exports.testFind = function(assert) { 1.100 + let isOdd = (x) => x % 2; 1.101 + assert.equal(array.find([2, 4, 5, 7, 8, 9], isOdd), 5); 1.102 + assert.equal(array.find([2, 4, 6, 8], isOdd), undefined); 1.103 + assert.equal(array.find([2, 4, 6, 8], isOdd, null), null); 1.104 +}; 1.105 + 1.106 +require('test').run(exports);