Skip to content

Commit 2613c64

Browse files
committed
10.5.22 release
1 parent 4274a59 commit 2613c64

28 files changed

+5899
-5912
lines changed

ChangeLog.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11

22
ChangeLog for jsrsasign
33

4+
DERBitString, KeyUsage and tsp PKIFailureInfo critical bug fix
5+
* Changes from 10.5.21 to 10.5.22 (2022-May-24)
6+
- src/asn1.js
7+
- DERBitString critical bugfix
8+
- src/asn1tsp.js
9+
- PKIFailureInfo critical bugfix
10+
- src/asn1x509.js
11+
- KeyUsage critical bugfix
12+
- src/base64.x
13+
- namearraytobinstr critical bugfix
14+
- test/qunit-do-{asn1,asn1tsp,asn1x509,base64x}.html
15+
- add and fix some test cases for above
16+
417
DERBitString, KeyUsage and tsp PKIFailureInfo fix
5-
* Changes from 10.5.20 to 10.5.21 (2022-May-23)
18+
* Changes from 10.5.20 to 10.5.21 (2022-May-23) *RELEASE RESIGNED*
619
- src/asn1x509.js
720
- KeyUsage bugfix, refactoring
821
- src/asn1tsp.js

api/files.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ <h2><a href="symbols/src/asn1-1.0.js.html">asn1-1.0.js</a></h2>
529529

530530

531531
<dt class="heading">Version:</dt>
532-
<dd>jsrsasign 10.5.21 asn1 1.0.25 (2022-May-23)</dd>
532+
<dd>jsrsasign 10.5.22 asn1 1.0.26 (2022-May-24)</dd>
533533

534534

535535

@@ -643,7 +643,7 @@ <h2><a href="symbols/src/asn1tsp-1.0.js.html">asn1tsp-1.0.js</a></h2>
643643

644644

645645
<dt class="heading">Version:</dt>
646-
<dd>jsrsasign 10.5.21 asn1tsp 2.0.8 (2022-May-23)</dd>
646+
<dd>jsrsasign 10.5.22 asn1tsp 2.0.9 (2022-May-24)</dd>
647647

648648

649649

@@ -662,7 +662,7 @@ <h2><a href="symbols/src/asn1x509-1.0.js.html">asn1x509-1.0.js</a></h2>
662662

663663

664664
<dt class="heading">Version:</dt>
665-
<dd>jsrsasign 10.5.21 asn1x509 2.1.15 (2022-May-23)</dd>
665+
<dd>jsrsasign 10.5.22 asn1x509 2.1.16 (2022-May-24)</dd>
666666

667667

668668

@@ -681,7 +681,7 @@ <h2><a href="symbols/src/base64x-1.1.js.html">base64x-1.1.js</a></h2>
681681

682682

683683
<dt class="heading">Version:</dt>
684-
<dd>jsrsasign 10.5.21 base64x 1.1.27 (2022-May-23)</dd>
684+
<dd>jsrsasign 10.5.22 base64x 1.1.28 (2022-May-24)</dd>
685685

686686

687687

api/symbols/global__.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3395,8 +3395,8 @@ <h1 class="classTitle">
33953395

33963396

33973397
<pre class="code">db = { a: 0, b: 3, c: 8, d: 9, e: 17, f: 19 };
3398-
namearraytobinstr(['a', 'c', 'd'], db) &rarr: '1100000001'
3399-
namearraytobinstr(['c', 'b'], db) &rarr: '100001000'</pre>
3398+
namearraytobinstr(['a', 'c', 'd'], db) &rarr: '1000000011'
3399+
namearraytobinstr(['c', 'b'], db) &rarr: '000100001'</pre>
34003400

34013401

34023402

api/symbols/src/asn1-1.0.js.html

Lines changed: 867 additions & 866 deletions
Large diffs are not rendered by default.

api/symbols/src/asn1tsp-1.0.js.html

Lines changed: 760 additions & 756 deletions
Large diffs are not rendered by default.

api/symbols/src/asn1x509-1.0.js.html

Lines changed: 4107 additions & 4136 deletions
Large diffs are not rendered by default.

api/symbols/src/base64x-1.1.js.html

Lines changed: 51 additions & 45 deletions
Large diffs are not rendered by default.

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "kjur-jsrsasign",
3-
"version": "10.5.21",
3+
"version": "10.5.22",
44
"main": "jsrsasign-all-min.js",
55
"description": "The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp, CAdES, JWS and JWT in pure JavaScript.",
66
"license": "MIT",

jsrsasign-all-min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jsrsasign-jwths-min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jsrsasign-rsa-min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

min/asn1-1.0.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

min/asn1tsp-1.0.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

min/asn1x509-1.0.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

min/base64x-1.1.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

npm/lib/jsrsasign-all-min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

npm/lib/jsrsasign-jwths-min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

npm/lib/jsrsasign-rsa-min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

npm/lib/jsrsasign.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

npm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jsrsasign",
3-
"version": "10.5.21",
3+
"version": "10.5.22",
44
"description": "opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp and CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK).",
55
"main": "lib/jsrsasign.js",
66
"scripts": {

src/asn1-1.0.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* asn1-1.0.25.js (c) 2013-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
1+
/* asn1-1.0.26.js (c) 2013-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
22
*/
33
/*
44
* asn1.js - ASN.1 DER encoder classes
@@ -16,7 +16,7 @@
1616
* @fileOverview
1717
* @name asn1-1.0.js
1818
* @author Kenji Urushima [email protected]
19-
* @version jsrsasign 10.5.21 asn1 1.0.25 (2022-May-23)
19+
* @version jsrsasign 10.5.22 asn1 1.0.26 (2022-May-24)
2020
* @since jsrsasign 2.1
2121
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
2222
*/
@@ -974,6 +974,7 @@ extendClass(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);
974974
* NOTE1: 'params' can be omitted.<br/>
975975
* NOTE2: 'obj' parameter have been supported since
976976
* asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).<br/>
977+
*
977978
* @example
978979
* // default constructor
979980
* o = new KJUR.asn1.DERBitString();
@@ -1048,7 +1049,7 @@ KJUR.asn1.DERBitString = function(params) {
10481049
* o.setByBinaryString("001"); // leading zeros ignored
10491050
*/
10501051
this.setByBinaryString = function(binaryString) {
1051-
binaryString = binaryString.replace(/^0+/, '');
1052+
binaryString = binaryString.replace(/0+$/, '');
10521053
var unusedBits = 8 - binaryString.length % 8;
10531054
if (unusedBits == 8) unusedBits = 0;
10541055

src/asn1tsp-1.0.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* asn1tsp-2.0.8.js (c) 2014-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
1+
/* asn1tsp-2.0.9.js (c) 2014-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
22
*/
33
/*
44
* asn1tsp.js - ASN.1 DER encoder classes for RFC 3161 Time Stamp Protocol
@@ -16,7 +16,7 @@
1616
* @fileOverview
1717
* @name asn1tsp-1.0.js
1818
* @author Kenji Urushima [email protected]
19-
* @version jsrsasign 10.5.21 asn1tsp 2.0.8 (2022-May-23)
19+
* @version jsrsasign 10.5.22 asn1tsp 2.0.9 (2022-May-24)
2020
* @since jsrsasign 4.5.1
2121
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
2222
*/
@@ -860,6 +860,10 @@ KJUR.asn1.tsp.PKIFailureInfo = function(params) {
860860
if (typeof params == "number" &&
861861
0 <= params && params <= 25) {
862862
d |= 1 << params;
863+
var s = d.toString(2);
864+
var r = "";
865+
for (var i = s.length - 1; i >= 0; i--) r += s[i];
866+
return r;
863867
} else if (typeof params == "string" &&
864868
_nameValue[params] != undefined) {
865869
return namearraytobinstr([params], _nameValue);
@@ -870,7 +874,7 @@ KJUR.asn1.tsp.PKIFailureInfo = function(params) {
870874
throw new _Error("wrong params");
871875
}
872876

873-
return d.toString(2);
877+
return
874878
};
875879

876880
this.tohex = function() {

src/asn1x509-1.0.js

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* asn1x509-2.1.15.js (c) 2013-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
1+
/* asn1x509-2.1.16.js (c) 2013-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
22
*/
33
/*
44
* asn1x509.js - ASN.1 DER encoder classes for X.509 certificate
@@ -16,7 +16,7 @@
1616
* @fileOverview
1717
* @name asn1x509-1.0.js
1818
* @author Kenji Urushima [email protected]
19-
* @version jsrsasign 10.5.21 asn1x509 2.1.15 (2022-May-23)
19+
* @version jsrsasign 10.5.22 asn1x509 2.1.16 (2022-May-24)
2020
* @since jsrsasign 2.1
2121
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
2222
*/
@@ -638,35 +638,6 @@ KJUR.asn1.x509.KeyUsage = function(params) {
638638
this.oid = "2.5.29.15";
639639
if (params !== undefined) this.params = params;
640640
};
641-
KJUR.asn1.x509.KeyUsage_bak = function(params) {
642-
KJUR.asn1.x509.KeyUsage.superclass.constructor.call(this, params);
643-
var _KEYUSAGE_NAME = X509.KEYUSAGE_NAME;
644-
645-
this.getExtnValueHex = function() {
646-
return this.asn1ExtnValue.tohex();
647-
};
648-
649-
this.oid = "2.5.29.15";
650-
if (params !== undefined) {
651-
if (params.bin !== undefined) {
652-
this.asn1ExtnValue = new KJUR.asn1.DERBitString(params);
653-
}
654-
if (params.names !== undefined &&
655-
params.names.length !== undefined) {
656-
var names = params.names;
657-
var s = "000000000";
658-
for (var i = 0; i < names.length; i++) {
659-
for (var j = 0; j < _KEYUSAGE_NAME.length; j++) {
660-
if (names[i] === _KEYUSAGE_NAME[j]) {
661-
s = s.substring(0, j) + '1' +
662-
s.substring(j + 1, s.length);
663-
}
664-
}
665-
}
666-
this.asn1ExtnValue = new KJUR.asn1.DERBitString({bin: s});
667-
}
668-
}
669-
};
670641
extendClass(KJUR.asn1.x509.KeyUsage, KJUR.asn1.x509.Extension);
671642

672643
/**

src/base64x-1.1.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* base64x-1.1.27 (c) 2012-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
1+
/* base64x-1.1.28 (c) 2012-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
22
*/
33
/*
44
* base64x.js - Base64url and supplementary functions for Tom Wu's base64.js library
@@ -16,7 +16,7 @@
1616
* @fileOverview
1717
* @name base64x-1.1.js
1818
* @author Kenji Urushima [email protected]
19-
* @version jsrsasign 10.5.21 base64x 1.1.27 (2022-May-23)
19+
* @version jsrsasign 10.5.22 base64x 1.1.28 (2022-May-24)
2020
* @since jsrsasign 2.1
2121
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
2222
*/
@@ -1799,15 +1799,21 @@ function binstrtobitstr(s) {
17991799
*
18001800
* @example
18011801
* db = { a: 0, b: 3, c: 8, d: 9, e: 17, f: 19 };
1802-
* namearraytobinstr(['a', 'c', 'd'], db) &rarr: '1100000001'
1803-
* namearraytobinstr(['c', 'b'], db) &rarr: '100001000'
1802+
* namearraytobinstr(['a', 'c', 'd'], db) &rarr: '1000000011'
1803+
* namearraytobinstr(['c', 'b'], db) &rarr: '000100001'
18041804
*/
18051805
function namearraytobinstr (namearray, namedb) {
18061806
var d = 0;
18071807
for (var i = 0; i < namearray.length; i++) {
18081808
d |= 1 << namedb[namearray[i]];
18091809
}
1810-
return d.toString(2);
1810+
1811+
var s = d.toString(2);
1812+
var r = "";
1813+
for (var i = s.length - 1; i >=0; i--) {
1814+
r += s[i];
1815+
}
1816+
return r;
18111817
}
18121818

18131819
// =======================================================

test/qunit-do-asn1.html

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,12 @@
7777

7878
d.setByBinaryString("1");
7979
equal(d.tohex(), "03020780", "1 unused=7");
80-
d.setByBinaryString("100");
81-
equal(d.tohex(), "03020580", "100 unused=5");
80+
d.setByBinaryString("001");
81+
equal(d.tohex(), "03020520", "001 unused=5");
8282
d.setByBinaryString('1011');
8383
equal(d.tohex(), "030204b0", "1011 > ub=4, b0");
84-
d.setByBinaryString('1011000');
85-
equal(d.tohex(), "030201b0", "1011000 > ub=1, b0");
84+
d.setByBinaryString('01011');
85+
equal(d.tohex(), "03020358", "01011 > ub=3, b0");
8686
d.setByBinaryString('11111111');
8787
equal(d.tohex(), "030200ff", "11111111 > ub=0, ff");
8888
d.setByBinaryString('111111111');
@@ -96,23 +96,24 @@
9696
d.setUnusedBitsAndHexValue(5, "bad0");
9797
equal(d.tohex(), "030305bad0", "setUnusedBitsAndHexValue > ub=5, bad0");
9898

99-
d.setByBooleanArray([true, false, true, true, false]);
100-
equal(d.tohex(), "030203b0", "setByBooleanArray([t,f,t,t,f]) > ub=3, b0");
99+
d.setByBooleanArray([true, false, false, true, true]);
100+
equal(d.tohex(), "03020398", "setByBooleanArray([t,f,f,t,t]) 10011 > ub=3, b0");
101+
102+
d = new KJUR.asn1.DERBitString({"hex":"04bac0"});
103+
equal(d.tohex(), "030304bac0", "constructor hex 04bac0");
104+
105+
d = new KJUR.asn1.DERBitString({"bin":"1011"});
106+
equal(d.tohex(), "030204b0", "constructor bin 1011");
107+
d = new KJUR.asn1.DERBitString({"bin":"0000011"});
108+
equal(d.tohex(), "03020106", "constructor bin 0000011");
109+
101110

102-
var d2 = new KJUR.asn1.DERBitString({"hex":"04bac0"});
103-
equal(d2.tohex(), "030304bac0", "constructor hex 04bac0");
104-
var d3 = new KJUR.asn1.DERBitString({"bin":"1011"});
105-
equal(d3.tohex(), "030204b0", "constructor bin 1011");
106111
var d4 = new KJUR.asn1.DERBitString({"array": [true,false,true,true]});
107112
equal(d4.tohex(), "030204b0", "constructor array [t,f,t,t]");
108113
var d5 = new KJUR.asn1.DERBitString({obj:{seq: [{int: 3},{prnstr: {str: "aaa"}}]}});
109114
equal(d5.tohex(), "030b0030080201031303616161", "constructor params asn1");
110115
});
111116

112-
113-
114-
115-
116117
test("OctetString Test", function() {
117118
var d = new KJUR.asn1.DEROctetString();
118119
d.setString('aaa');

test/qunit-do-asn1tsp.html

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -332,31 +332,33 @@
332332
o = new KJUR.asn1.tsp.PKIFailureInfo(0);
333333
equal(o.getEncodedHex(), "03020780", "0");
334334
o = new KJUR.asn1.tsp.PKIFailureInfo(2);
335-
equal(o.getEncodedHex(), "03020580", "2");
335+
equal(o.getEncodedHex(), "03020520", "2");
336336
o = new KJUR.asn1.tsp.PKIFailureInfo(25);
337-
equal(o.getEncodedHex(), "03050680000000", "25");
337+
equal(o.getEncodedHex(), "03050600000040", "25");
338338
o = new KJUR.asn1.tsp.PKIFailureInfo('badAlg');
339339
equal(o.getEncodedHex(), "03020780", "badAlg");
340340
o = new KJUR.asn1.tsp.PKIFailureInfo('badRequest');
341-
equal(o.getEncodedHex(), "03020580", "badRequest");
341+
equal(o.getEncodedHex(), "03020520", "badRequest");
342342
o = new KJUR.asn1.tsp.PKIFailureInfo('systemFailure');
343-
equal(o.getEncodedHex(), "03050680000000", "systemFailure");
343+
equal(o.getEncodedHex(), "03050600000040", "systemFailure");
344344
o = new KJUR.asn1.tsp.PKIFailureInfo(['badAlg','badRequest']);
345345
equal(o.getEncodedHex(), "030205a0", "[badAlg,badRequest]");
346+
o = new KJUR.asn1.tsp.PKIFailureInfo(['badAlg','badRequest','systemFailure']);
347+
equal(o.getEncodedHex(), "030506a0000040", "[badAlg,badRequest,systemFailure]");
346348
});
347349

348350
test("PKIFailureInfo.getBinValue test", function() {
349351
var o;
350352
o = new KJUR.asn1.tsp.PKIFailureInfo(0);
351353
equal(o.getBinValue(), "1", "0");
352354
o = new KJUR.asn1.tsp.PKIFailureInfo(2);
353-
equal(o.getBinValue(), "100", "2");
355+
equal(o.getBinValue(), "001", "2");
354356
o = new KJUR.asn1.tsp.PKIFailureInfo(25);
355-
equal(o.getBinValue(), "10000000000000000000000000", "25");
357+
equal(o.getBinValue(), "00000000000000000000000001", "25");
356358
o = new KJUR.asn1.tsp.PKIFailureInfo('timeNotAvailable');
357-
equal(o.getBinValue(), "100000000000000", "timeNotAvailable");
359+
equal(o.getBinValue(), "000000000000001", "timeNotAvailable");
358360
o = new KJUR.asn1.tsp.PKIFailureInfo(['badAlg','systemFailure','badRequest']);
359-
equal(o.getBinValue(), "10000000000000000000000101", "[badAlg,systemFailure,badRequest]");
361+
equal(o.getBinValue(), "10100000000000000000000001", "[badAlg,systemFailure,badRequest]");
360362
});
361363

362364
test("TimeStampReq", function() {

test/qunit-do-asn1x509.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -682,12 +682,18 @@
682682
equal(o.tohex(), "300e0603551d0f0101ff0404030206c0", "bin 11 critical getEncodedHex");
683683
o = new KJUR.asn1.x509.KeyUsage({'names': ['digitalSignature', 'nonRepudiation']});
684684
equal(o.tohex(), "300b0603551d0f0404030206c0", "name [digitalSignature, nonRepudiation]");
685-
o = new KJUR.asn1.x509.KeyUsage({'bin':'11000000000'});
686-
equal(o.tohex(), "300c0603551d0f0405030305c000", "bin 110000000");
685+
o = new KJUR.asn1.x509.KeyUsage({'bin':'000000011'});
686+
equal(o.tohex(), "300c0603551d0f04050303070180", "bin 000000011");
687687
o = new KJUR.asn1.x509.KeyUsage({'names': ['encipherOnly', 'decipherOnly']});
688-
equal(o.tohex(), "300c0603551d0f0405030307c000", "name [encipherOnly, decipherOnly]");
688+
equal(o.tohex(), "300c0603551d0f04050303070180", "name [encipherOnly, decipherOnly]");
689+
o = new KJUR.asn1.x509.KeyUsage({'bin':'1000011'});
690+
equal(o.tohex(), "300b0603551d0f040403020186", "bin 1000011");
689691
o = new KJUR.asn1.x509.KeyUsage({'names': ['digitalSignature','keyCertSign','cRLSign']});
690-
equal(o.tohex(), "300b0603551d0f0404030201c2", "name [dsig,certsign,crlsign]");
692+
equal(o.tohex(), "300b0603551d0f040403020186", "name [dsig,certsign,crlsign]");
693+
o = new KJUR.asn1.x509.KeyUsage({'bin':'0000011'});
694+
equal(o.tohex(), "300b0603551d0f040403020106", "bin 0000011");
695+
o = new KJUR.asn1.x509.KeyUsage({'names': ['keyCertSign','cRLSign']});
696+
equal(o.tohex(), "300b0603551d0f040403020106", "name [certsign,crlsign]");
691697
});
692698

693699
// CRLDP

test/qunit-do-base64x.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -420,12 +420,13 @@
420420
var db = {
421421
apple: 0,
422422
banana: 3,
423+
mango: 4,
423424
kiwi: 8,
424425
orange: 9
425426
};
426-
equal(namearraytobitstr(['apple'], db), '1', '> 1');
427-
equal(namearraytobitstr(['apple','banana'], db), '1001', '> 1001');
428-
equal(namearraytobitstr(['banana','kiwi','orange'], db), '1100001000', '> 1100001000');
427+
equal(namearraytobinstr(['apple'], db), '1', '> 1');
428+
equal(namearraytobinstr(['apple','banana','mango'], db), '10011', '> 10011');
429+
equal(namearraytobinstr(['banana','kiwi','orange'], db), '0001000011', '> 0001000011');
429430
});
430431

431432
});

0 commit comments

Comments
 (0)