form-urlencoded
Advanced tools
Comparing version 1.1.8 to 1.1.9
// Filename: formurlencoded.js | ||
// Timestamp: 2016.01.17-14:47:59 (last modified) | ||
// Timestamp: 2016.01.18-15:36:37 (last modified) | ||
// Author(s): Bumblehead (www.bumblehead.com), JBlashill (james@blashill.com) | ||
@@ -16,3 +16,3 @@ // | ||
.replace(/[!'()~\*]/g, function (ch) { | ||
return '%' + (0 + ch.charCodeAt().toString(16)).slice(-2).toUpperCase(); | ||
return '%' + ch.charCodeAt().toString(16).slice(-2).toUpperCase(); | ||
}); | ||
@@ -19,0 +19,0 @@ } |
{ | ||
"name": "form-urlencoded", | ||
"main": "form-urlencoded", | ||
"version": "1.1.8", | ||
"version": "1.1.9", | ||
"description": "Return an object as an `x-www-form-urlencoded` string", | ||
@@ -31,5 +31,3 @@ "author": "Chris <chris@bumblehead.com>", | ||
"devDependencies" : { | ||
"jasmine-node" : ">=1.3.0", | ||
"qs" : "0.6.5", | ||
"compareobj" : ">=0.0.3" | ||
"jasmine-node" : ">=1.3.0" | ||
}, | ||
@@ -36,0 +34,0 @@ "scripts" : { |
// Filename: form-urlencoded.spec.js | ||
// Timestamp: 2016.01.14-00:05:09 (last modified) | ||
// Timestamp: 2016.01.18-16:00:25 (last modified) | ||
// Author(s): bumblehead <chris@bumblehead.com> | ||
var formurlencoded = require('../form-urlencoded'), | ||
compareObj = require('compareobj'), | ||
qs = require('qs'); | ||
var formurlencoded = require('../'); | ||
// tests assume behaviour not given in ecmascript specification | ||
// object properties need to be accessed in 'order' | ||
// tests assume behaviour not given in ecmascript specification, | ||
// object properties accessed in 'order' | ||
@@ -15,41 +13,35 @@ describe("formurlencoded.encode", function () { | ||
it("should return encoded data", function () { | ||
var begin = { | ||
propStr1 : 'str1', | ||
propStr2 : 'str2' | ||
}, | ||
result = formurlencoded(begin).split('&'), | ||
resultExpected = qs.stringify(begin).split('&'); | ||
expect( compareObj.isSameMembersDefined(result, resultExpected) ).toBe( true ); | ||
expect( | ||
formurlencoded({ | ||
propStr1 : 'str1', | ||
propStr2 : 'str2' | ||
}), { sorted : true } | ||
).toBe( 'propStr1=str1&propStr2=str2' ); | ||
}); | ||
it("should return encoded data, with array properties", function () { | ||
var begin = { | ||
propStr1 : 'str1', | ||
propStr2 : 'str2', | ||
propArr1 : ['arrStr1', 'arrStr2'] | ||
}, | ||
result = formurlencoded(begin), | ||
resultExpected = 'propStr1=str1&propStr2=str2&propArr1%5B%5D=arrStr1&propArr1%5B%5D=arrStr2'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({ | ||
propStr1 : 'str1', | ||
propStr2 : 'str2', | ||
propArr1 : ['arrStr1', 'arrStr2'] | ||
}) | ||
).toBe( 'propStr1=str1&propStr2=str2&propArr1%5B%5D=arrStr1&propArr1%5B%5D=arrStr2' ); | ||
}); | ||
it("should return encoded data, with object properties", function () { | ||
var begin = { | ||
propStr1 : 'str1', | ||
propStr2 : 'str2', | ||
propObj1 : { | ||
objPropStr1 : 'objStr1', | ||
objPropStr2 : 'objStr2' | ||
} | ||
}, | ||
result = formurlencoded(begin), | ||
resultExpected = 'propStr1=str1&propStr2=str2&propObj1%5BobjPropStr1%5D=objStr1&propObj1%5BobjPropStr2%5D=objStr2'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({ | ||
propStr1 : 'str1', | ||
propStr2 : 'str2', | ||
propObj1 : { | ||
objPropStr1 : 'objStr1', | ||
objPropStr2 : 'objStr2' | ||
} | ||
}) | ||
).toBe( 'propStr1=str1&propStr2=str2&propObj1%5BobjPropStr1%5D=objStr1&propObj1%5BobjPropStr2%5D=objStr2' ); | ||
}); | ||
it("should return encoded data, with mixed object and array properties", function () { | ||
var begin = { | ||
expect( formurlencoded({ | ||
propStr1 : 'str1', | ||
@@ -69,53 +61,30 @@ propStr2 : 'str2', | ||
} | ||
}, | ||
result = formurlencoded(begin), | ||
resultExpected = 'propStr1=str1&propStr2=str2&propObj1%5BobjPropStr1%5D=objStr1&propObj1%5BobjPropStr2%5D=objStr2&propObj1%5BobjPropObj1%5D%5BpropObj1Str1%5D=obj1Str1&propObj1%5BobjPropArr1%5D%5B%5D%5BpropArr1Obj1Str1%5D=obj1Str1&propObj1%5BobjPropArr1%5D%5B%5D%5BpropArr1Obj2Str1%5D=obj2Str1'; | ||
expect( result ).toBe( resultExpected ); | ||
}) ).toBe( 'propStr1=str1&propStr2=str2&propObj1%5BobjPropStr1%5D=objStr1&propObj1%5BobjPropStr2%5D=objStr2&propObj1%5BobjPropObj1%5D%5BpropObj1Str1%5D=obj1Str1&propObj1%5BobjPropArr1%5D%5B%5D%5BpropArr1Obj1Str1%5D=obj1Str1&propObj1%5BobjPropArr1%5D%5B%5D%5BpropArr1Obj2Str1%5D=obj2Str1' ); | ||
}); | ||
it("should return encoded data, with numbers", function () { | ||
var begin = { | ||
propArr1 : [1, 2, 3] | ||
}, | ||
result = formurlencoded(begin), | ||
resultExpected = 'propArr1%5B%5D=1&propArr1%5B%5D=2&propArr1%5B%5D=3'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({ propArr1 : [1, 2, 3] }) | ||
).toBe( 'propArr1%5B%5D=1&propArr1%5B%5D=2&propArr1%5B%5D=3' ); | ||
}); | ||
it("should return encoded data, with booleans", function () { | ||
var begin = { | ||
propArr1 : [true, false, true] | ||
}, | ||
result = formurlencoded(begin), | ||
resultExpected = 'propArr1%5B%5D=true&propArr1%5B%5D=false&propArr1%5B%5D=true'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({propArr1 : [true, false, true]}) | ||
).toBe( 'propArr1%5B%5D=true&propArr1%5B%5D=false&propArr1%5B%5D=true' ); | ||
}); | ||
it("should return encoded data, with null", function () { | ||
var begin = { | ||
propNull1 : null, | ||
propStr1 : 'str1' | ||
}, | ||
result = formurlencoded(begin), | ||
resultExpected = 'propNull1=null&propStr1=str1'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({ | ||
propNull1 : null, | ||
propStr1 : 'str1' | ||
}) | ||
).toBe( 'propNull1=null&propStr1=str1' ); | ||
}); | ||
it("should return encoded data, with properties sorted", function () { | ||
var begin = { | ||
c: 4, | ||
b: { | ||
z: 3, | ||
y: 2 | ||
}, | ||
a: 1 | ||
}, | ||
result = formurlencoded(begin, { sorted: true }), | ||
resultExpected = 'a=1&b%5By%5D=2&b%5Bz%5D=3&c=4'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({c : 4, b : { z : 3, y : 2 }, a : 1}, { sorted: true }) | ||
).toBe( 'a=1&b%5By%5D=2&b%5Bz%5D=3&c=4' ); | ||
}); | ||
@@ -129,21 +98,15 @@ | ||
var begin = { | ||
test: testCharEncodingString | ||
}, | ||
result = formurlencoded(begin, { sorted: true }), | ||
resultExpected = 'test=%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F+%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E%7F%C2%80%C2%81%C2%82%C2%83%C2%84%C2%85%C2%86%C2%87%C2%88%C2%89%C2%8A%C2%8B%C2%8C%C2%8D%C2%8E%C2%8F%C2%90%C2%91%C2%92%C2%93%C2%94%C2%95%C2%96%C2%97%C2%98%C2%99%C2%9A%C2%9B%C2%9C%C2%9D%C2%9E%C2%9F%C2%A0%C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC%C2%AD%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3%C2%B4%C2%B5%C2%B6%C2%B7%C2%B8%C2%B9%C2%BA%C2%BB%C2%BC%C2%BD%C2%BE%C2%BF%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9E%C3%9F%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B7%C3%B8%C3%B9%C3%BA%C3%BB%C3%BC%C3%BD%C3%BE%C3%BF'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({ | ||
test : testCharEncodingString | ||
}) | ||
).toBe( | ||
'test=%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F+%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E%7F%C2%80%C2%81%C2%82%C2%83%C2%84%C2%85%C2%86%C2%87%C2%88%C2%89%C2%8A%C2%8B%C2%8C%C2%8D%C2%8E%C2%8F%C2%90%C2%91%C2%92%C2%93%C2%94%C2%95%C2%96%C2%97%C2%98%C2%99%C2%9A%C2%9B%C2%9C%C2%9D%C2%9E%C2%9F%C2%A0%C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC%C2%AD%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3%C2%B4%C2%B5%C2%B6%C2%B7%C2%B8%C2%B9%C2%BA%C2%BB%C2%BC%C2%BD%C2%BE%C2%BF%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9E%C3%9F%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B7%C3%B8%C3%B9%C3%BA%C3%BB%C3%BC%C3%BD%C3%BE%C3%BF' | ||
); | ||
}); | ||
it("should return encoded data, without null", function () { | ||
var begin = { | ||
propArr1 : [null, null, 1] | ||
}, | ||
result = formurlencoded(begin, { | ||
ignorenull : true | ||
}), | ||
resultExpected = 'propArr1%5B%5D=1'; | ||
expect( result ).toBe( resultExpected ); | ||
expect( | ||
formurlencoded({propArr1 : [null, null, 1]}, {ignorenull : true}) | ||
).toBe( 'propArr1%5B%5D=1' ); | ||
}); | ||
@@ -150,0 +113,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1
11273
167