Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tough-cookie/test/cookie_sorting_test.js')
-rw-r--r--node_modules/tough-cookie/test/cookie_sorting_test.js156
1 files changed, 0 insertions, 156 deletions
diff --git a/node_modules/tough-cookie/test/cookie_sorting_test.js b/node_modules/tough-cookie/test/cookie_sorting_test.js
deleted file mode 100644
index 826562a2b..000000000
--- a/node_modules/tough-cookie/test/cookie_sorting_test.js
+++ /dev/null
@@ -1,156 +0,0 @@
-/*!
- * Copyright (c) 2015, Salesforce.com, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. Neither the name of Salesforce.com nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-'use strict';
-var vows = require('vows');
-var assert = require('assert');
-var tough = require('../lib/cookie');
-var Cookie = tough.Cookie;
-var CookieJar = tough.CookieJar;
-
-function toKeyArray(cookies) {
- return cookies.map(function (c) {
- return c.key
- });
-}
-
-vows
- .describe('Cookie sorting')
- .addBatch({
- "Assumptions:": {
- ".creationIndex is set during construction": function() {
- var now = new Date();
- var c1 = new Cookie();
- var c2 = new Cookie();
- assert.isNumber(c1.creationIndex);
- assert.isNumber(c2.creationIndex);
- assert(c1.creationIndex < c2.creationIndex,
- 'creationIndex should increase with each construction');
- },
-
- ".creationIndex is set during construction (forced ctime)": function() {
- var now = new Date();
- var c1 = new Cookie({creation: now});
- var c2 = new Cookie({creation: now});
- assert.strictEqual(c1.creation, c2.creation);
- assert.isNumber(c1.creationIndex);
- assert.isNumber(c2.creationIndex);
- assert(c1.creationIndex < c2.creationIndex,
- 'creationIndex should increase with each construction');
- },
-
- ".creationIndex is left alone during new setCookie": function() {
- var jar = new CookieJar();
- var c = new Cookie({key:'k', value:'v', domain:'example.com'});
- var now = new Date();
- var beforeDate = c.creation;
- assert.instanceOf(beforeDate, Date);
- assert.notStrictEqual(now, beforeDate);
- var beforeIndex = c.creationIndex;
- assert.isNumber(c.creationIndex);
-
- jar.setCookieSync(c, 'http://example.com/', {now: now});
-
- assert.strictEqual(c.creation, now);
- assert.strictEqual(c.creationIndex, beforeIndex);
- },
-
- ".creationIndex is preserved during update setCookie": function() {
- var jar = new CookieJar();
-
- var thisMs = Date.now();
- var t1 = new Date(thisMs);
- var t2 = new Date(thisMs);
- assert.notStrictEqual(t1, t2); // Date objects are distinct
-
- var c = new Cookie({key:'k', value:'v1', domain:'example.com'});
- jar.setCookieSync(c, 'http://example.com/', {now: t1});
- var originalIndex = c.creationIndex;
-
- assert.strictEqual(c.creation, t1);
- assert.strictEqual(c.lastAccessed, t1);
-
- c = new Cookie({key:'k', value:'v2', domain:'example.com'});
- assert.notStrictEqual(c.creation, t1); // new timestamp assigned
-
- jar.setCookieSync(c, 'http://example.com/', {now: t2});
-
- assert.strictEqual(c.creation, t1); // retained
- assert.strictEqual(c.lastAccessed, t2); // updated
- assert.strictEqual(c.creationIndex, originalIndex); // retained
- },
- }
- })
- .addBatch({
- "Cookie Sorting": {
- topic: function () {
- var cookies = [];
- cookies.push(Cookie.parse("a=0; Domain=example.com"));
- cookies.push(Cookie.parse("b=1; Domain=www.example.com"));
- cookies.push(Cookie.parse("c=2; Domain=example.com; Path=/pathA"));
- cookies.push(Cookie.parse("d=3; Domain=www.example.com; Path=/pathA"));
- cookies.push(Cookie.parse("e=4; Domain=example.com; Path=/pathA/pathB"));
- cookies.push(Cookie.parse("f=5; Domain=www.example.com; Path=/pathA/pathB"));
-
- // weak shuffle:
- cookies = cookies.sort(function () {
- return Math.random() - 0.5
- });
-
- cookies = cookies.sort(tough.cookieCompare);
- return cookies;
- },
- "got": function (cookies) {
- assert.lengthOf(cookies, 6);
- assert.deepEqual(toKeyArray(cookies), ['e', 'f', 'c', 'd', 'a', 'b']);
- }
- }
- })
- .addBatch({
- "Changing creation date affects sorting": {
- topic: function () {
- var cookies = [];
- var now = Date.now();
- cookies.push(Cookie.parse("a=0;"));
- cookies.push(Cookie.parse("b=1;"));
- cookies.push(Cookie.parse("c=2;"));
-
- cookies.forEach(function (cookie, idx) {
- cookie.creation = new Date(now - 100 * idx);
- });
-
- return cookies.sort(tough.cookieCompare);
- },
- "got": function (cookies) {
- assert.deepEqual(toKeyArray(cookies), ['c', 'b', 'a']);
- }
- }
- })
- .export(module);