react / wstein / node_modules / browserify / node_modules / browser-pack / node_modules / combine-source-map / node_modules / source-map / dist / test / test_array_set.js
80559 views/*1* WARNING!2*3* Do not edit this file directly, it is built from the sources at4* https://github.com/mozilla/source-map/5*/67Components.utils.import('resource://test/Utils.jsm');8/* -*- Mode: js; js-indent-level: 2; -*- */9/*10* Copyright 2011 Mozilla Foundation and contributors11* Licensed under the New BSD license. See LICENSE or:12* http://opensource.org/licenses/BSD-3-Clause13*/14define("test/source-map/test-array-set", ["require", "exports", "module"], function (require, exports, module) {1516var ArraySet = require('source-map/array-set').ArraySet;1718function makeTestSet() {19var set = new ArraySet();20for (var i = 0; i < 100; i++) {21set.add(String(i));22}23return set;24}2526exports['test .has() membership'] = function (assert, util) {27var set = makeTestSet();28for (var i = 0; i < 100; i++) {29assert.ok(set.has(String(i)));30}31};3233exports['test .indexOf() elements'] = function (assert, util) {34var set = makeTestSet();35for (var i = 0; i < 100; i++) {36assert.strictEqual(set.indexOf(String(i)), i);37}38};3940exports['test .at() indexing'] = function (assert, util) {41var set = makeTestSet();42for (var i = 0; i < 100; i++) {43assert.strictEqual(set.at(i), String(i));44}45};4647exports['test creating from an array'] = function (assert, util) {48var set = ArraySet.fromArray(['foo', 'bar', 'baz', 'quux', 'hasOwnProperty']);4950assert.ok(set.has('foo'));51assert.ok(set.has('bar'));52assert.ok(set.has('baz'));53assert.ok(set.has('quux'));54assert.ok(set.has('hasOwnProperty'));5556assert.strictEqual(set.indexOf('foo'), 0);57assert.strictEqual(set.indexOf('bar'), 1);58assert.strictEqual(set.indexOf('baz'), 2);59assert.strictEqual(set.indexOf('quux'), 3);6061assert.strictEqual(set.at(0), 'foo');62assert.strictEqual(set.at(1), 'bar');63assert.strictEqual(set.at(2), 'baz');64assert.strictEqual(set.at(3), 'quux');65};6667exports['test that you can add __proto__; see github issue #30'] = function (assert, util) {68var set = new ArraySet();69set.add('__proto__');70assert.ok(set.has('__proto__'));71assert.strictEqual(set.at(0), '__proto__');72assert.strictEqual(set.indexOf('__proto__'), 0);73};7475exports['test .fromArray() with duplicates'] = function (assert, util) {76var set = ArraySet.fromArray(['foo', 'foo']);77assert.ok(set.has('foo'));78assert.strictEqual(set.at(0), 'foo');79assert.strictEqual(set.indexOf('foo'), 0);80assert.strictEqual(set.toArray().length, 1);8182set = ArraySet.fromArray(['foo', 'foo'], true);83assert.ok(set.has('foo'));84assert.strictEqual(set.at(0), 'foo');85assert.strictEqual(set.at(1), 'foo');86assert.strictEqual(set.indexOf('foo'), 0);87assert.strictEqual(set.toArray().length, 2);88};8990exports['test .add() with duplicates'] = function (assert, util) {91var set = new ArraySet();92set.add('foo');9394set.add('foo');95assert.ok(set.has('foo'));96assert.strictEqual(set.at(0), 'foo');97assert.strictEqual(set.indexOf('foo'), 0);98assert.strictEqual(set.toArray().length, 1);99100set.add('foo', true);101assert.ok(set.has('foo'));102assert.strictEqual(set.at(0), 'foo');103assert.strictEqual(set.at(1), 'foo');104assert.strictEqual(set.indexOf('foo'), 0);105assert.strictEqual(set.toArray().length, 2);106};107108});109function run_test() {110runSourceMapTests('test/source-map/test-array-set', do_throw);111}112113114