From 4ad39a5c96dd99acf819ce189b13fec946d7506b Mon Sep 17 00:00:00 2001 From: talasila Date: Tue, 7 Feb 2017 15:03:57 -0500 Subject: Initial OpenECOMP Portal commit Change-Id: I804b80e0830c092e307da1599bd9fbb5c3e2da77 Signed-off-by: talasila --- .../lodash/vendor/underscore/test/utility.js | 420 +++++++++++++++++++++ 1 file changed, 420 insertions(+) create mode 100644 ecomp-portal-FE/client/bower_components/lodash/vendor/underscore/test/utility.js (limited to 'ecomp-portal-FE/client/bower_components/lodash/vendor/underscore/test/utility.js') diff --git a/ecomp-portal-FE/client/bower_components/lodash/vendor/underscore/test/utility.js b/ecomp-portal-FE/client/bower_components/lodash/vendor/underscore/test/utility.js new file mode 100644 index 00000000..fbd54df3 --- /dev/null +++ b/ecomp-portal-FE/client/bower_components/lodash/vendor/underscore/test/utility.js @@ -0,0 +1,420 @@ +(function() { + var _ = typeof require == 'function' ? require('..') : window._; + var templateSettings; + + QUnit.module('Utility', { + + beforeEach: function() { + templateSettings = _.clone(_.templateSettings); + }, + + afterEach: function() { + _.templateSettings = templateSettings; + } + + }); + + if (typeof this == 'object') { + QUnit.test('noConflict', function(assert) { + var underscore = _.noConflict(); + assert.equal(underscore.identity(1), 1); + if (typeof require != 'function') { + assert.equal(this._, void 0, 'global underscore is removed'); + this._ = underscore; + } else if (typeof global !== 'undefined') { + delete global._; + } + }); + } + + if (typeof require == 'function') { + QUnit.test('noConflict (node vm)', function(assert) { + assert.expect(2); + var done = assert.async(); + var fs = require('fs'); + var vm = require('vm'); + var filename = __dirname + '/../underscore.js'; + fs.readFile(filename, function(err, content){ + var sandbox = vm.createScript( + content + 'this.underscore = this._.noConflict();', + filename + ); + var context = {_: 'oldvalue'}; + sandbox.runInNewContext(context); + assert.equal(context._, 'oldvalue'); + assert.equal(context.underscore.VERSION, _.VERSION); + + done(); + }); + }); + } + + QUnit.test('#750 - Return _ instance.', function(assert) { + assert.expect(2); + var instance = _([]); + assert.ok(_(instance) === instance); + assert.ok(new _(instance) === instance); + }); + + QUnit.test('identity', function(assert) { + var stooge = {name: 'moe'}; + assert.equal(_.identity(stooge), stooge, 'stooge is the same as his identity'); + }); + + QUnit.test('constant', function(assert) { + var stooge = {name: 'moe'}; + assert.equal(_.constant(stooge)(), stooge, 'should create a function that returns stooge'); + }); + + QUnit.test('noop', function(assert) { + assert.strictEqual(_.noop('curly', 'larry', 'moe'), void 0, 'should always return undefined'); + }); + + QUnit.test('property', function(assert) { + var stooge = {name: 'moe'}; + assert.equal(_.property('name')(stooge), 'moe', 'should return the property with the given name'); + assert.equal(_.property('name')(null), void 0, 'should return undefined for null values'); + assert.equal(_.property('name')(void 0), void 0, 'should return undefined for undefined values'); + }); + + QUnit.test('propertyOf', function(assert) { + var stoogeRanks = _.propertyOf({curly: 2, moe: 1, larry: 3}); + assert.equal(stoogeRanks('curly'), 2, 'should return the property with the given name'); + assert.equal(stoogeRanks(null), void 0, 'should return undefined for null values'); + assert.equal(stoogeRanks(void 0), void 0, 'should return undefined for undefined values'); + + function MoreStooges() { this.shemp = 87; } + MoreStooges.prototype = {curly: 2, moe: 1, larry: 3}; + var moreStoogeRanks = _.propertyOf(new MoreStooges()); + assert.equal(moreStoogeRanks('curly'), 2, 'should return properties from further up the prototype chain'); + + var nullPropertyOf = _.propertyOf(null); + assert.equal(nullPropertyOf('curly'), void 0, 'should return undefined when obj is null'); + + var undefPropertyOf = _.propertyOf(void 0); + assert.equal(undefPropertyOf('curly'), void 0, 'should return undefined when obj is undefined'); + }); + + QUnit.test('random', function(assert) { + var array = _.range(1000); + var min = Math.pow(2, 31); + var max = Math.pow(2, 62); + + assert.ok(_.every(array, function() { + return _.random(min, max) >= min; + }), 'should produce a random number greater than or equal to the minimum number'); + + assert.ok(_.some(array, function() { + return _.random(Number.MAX_VALUE) > 0; + }), 'should produce a random number when passed `Number.MAX_VALUE`'); + }); + + QUnit.test('now', function(assert) { + var diff = _.now() - new Date().getTime(); + assert.ok(diff <= 0 && diff > -5, 'Produces the correct time in milliseconds');//within 5ms + }); + + QUnit.test('uniqueId', function(assert) { + var ids = [], i = 0; + while (i++ < 100) ids.push(_.uniqueId()); + assert.equal(_.uniq(ids).length, ids.length, 'can generate a globally-unique stream of ids'); + }); + + QUnit.test('times', function(assert) { + var vals = []; + _.times(3, function(i) { vals.push(i); }); + assert.deepEqual(vals, [0, 1, 2], 'is 0 indexed'); + // + vals = []; + _(3).times(function(i) { vals.push(i); }); + assert.deepEqual(vals, [0, 1, 2], 'works as a wrapper'); + // collects return values + assert.deepEqual([0, 1, 2], _.times(3, function(i) { return i; }), 'collects return values'); + + assert.deepEqual(_.times(0, _.identity), []); + assert.deepEqual(_.times(-1, _.identity), []); + assert.deepEqual(_.times(parseFloat('-Infinity'), _.identity), []); + }); + + QUnit.test('mixin', function(assert) { + _.mixin({ + myReverse: function(string) { + return string.split('').reverse().join(''); + } + }); + assert.equal(_.myReverse('panacea'), 'aecanap', 'mixed in a function to _'); + assert.equal(_('champ').myReverse(), 'pmahc', 'mixed in a function to the OOP wrapper'); + }); + + QUnit.test('_.escape', function(assert) { + assert.equal(_.escape(null), ''); + }); + + QUnit.test('_.unescape', function(assert) { + var string = 'Curly & Moe'; + assert.equal(_.unescape(null), ''); + assert.equal(_.unescape(_.escape(string)), string); + assert.equal(_.unescape(string), string, 'don\'t unescape unnecessarily'); + }); + + // Don't care what they escape them to just that they're escaped and can be unescaped + QUnit.test('_.escape & unescape', function(assert) { + // test & (&) seperately obviously + var escapeCharacters = ['<', '>', '"', '\'', '`']; + + _.each(escapeCharacters, function(escapeChar) { + var s = 'a ' + escapeChar + ' string escaped'; + var e = _.escape(s); + assert.notEqual(s, e, escapeChar + ' is escaped'); + assert.equal(s, _.unescape(e), escapeChar + ' can be unescaped'); + + s = 'a ' + escapeChar + escapeChar + escapeChar + 'some more string' + escapeChar; + e = _.escape(s); + + assert.equal(e.indexOf(escapeChar), -1, 'can escape multiple occurances of ' + escapeChar); + assert.equal(_.unescape(e), s, 'multiple occurrences of ' + escapeChar + ' can be unescaped'); + }); + + // handles multiple escape characters at once + var joiner = ' other stuff '; + var allEscaped = escapeCharacters.join(joiner); + allEscaped += allEscaped; + assert.ok(_.every(escapeCharacters, function(escapeChar) { + return allEscaped.indexOf(escapeChar) !== -1; + }), 'handles multiple characters'); + assert.ok(allEscaped.indexOf(joiner) >= 0, 'can escape multiple escape characters at the same time'); + + // test & -> & + var str = 'some string & another string & yet another'; + var escaped = _.escape(str); + + assert.ok(escaped.indexOf('&') !== -1, 'handles & aka &'); + assert.equal(_.unescape(str), str, 'can unescape &'); + }); + + QUnit.test('template', function(assert) { + var basicTemplate = _.template("<%= thing %> is gettin' on my noives!"); + var result = basicTemplate({thing: 'This'}); + assert.equal(result, "This is gettin' on my noives!", 'can do basic attribute interpolation'); + + var sansSemicolonTemplate = _.template('A <% this %> B'); + assert.equal(sansSemicolonTemplate(), 'A B'); + + var backslashTemplate = _.template('<%= thing %> is \\ridanculous'); + assert.equal(backslashTemplate({thing: 'This'}), 'This is \\ridanculous'); + + var escapeTemplate = _.template('<%= a ? "checked=\\"checked\\"" : "" %>'); + assert.equal(escapeTemplate({a: true}), 'checked="checked"', 'can handle slash escapes in interpolations.'); + + var fancyTemplate = _.template(''); + result = fancyTemplate({people: {moe: 'Moe', larry: 'Larry', curly: 'Curly'}}); + assert.equal(result, '', 'can run arbitrary javascript in templates'); + + var escapedCharsInJavascriptTemplate = _.template(''); + result = escapedCharsInJavascriptTemplate({numbers: 'one\ntwo\nthree\nfour'}); + assert.equal(result, '', 'Can use escaped characters (e.g. \\n) in JavaScript'); + + var namespaceCollisionTemplate = _.template('<%= pageCount %> <%= thumbnails[pageCount] %> <% _.each(thumbnails, function(p) { %>
<% }); %>'); + result = namespaceCollisionTemplate({ + pageCount: 3, + thumbnails: { + 1: 'p1-thumbnail.gif', + 2: 'p2-thumbnail.gif', + 3: 'p3-thumbnail.gif' + } + }); + assert.equal(result, '3 p3-thumbnail.gif
'); + + var noInterpolateTemplate = _.template('

Just some text. Hey, I know this is silly but it aids consistency.

'); + result = noInterpolateTemplate(); + assert.equal(result, '

Just some text. Hey, I know this is silly but it aids consistency.

'); + + var quoteTemplate = _.template("It's its, not it's"); + assert.equal(quoteTemplate({}), "It's its, not it's"); + + var quoteInStatementAndBody = _.template('<% ' + + " if(foo == 'bar'){ " + + "%>Statement quotes and 'quotes'.<% } %>"); + assert.equal(quoteInStatementAndBody({foo: 'bar'}), "Statement quotes and 'quotes'."); + + var withNewlinesAndTabs = _.template('This\n\t\tis: <%= x %>.\n\tok.\nend.'); + assert.equal(withNewlinesAndTabs({x: 'that'}), 'This\n\t\tis: that.\n\tok.\nend.'); + + var template = _.template('<%- value %>'); + result = template({value: '