version bump 1.1.0
- pinned devDependencies - added missing tests for dynamic specifiers
This commit is contained in:
parent
045b316b67
commit
d3f373079c
18
README.md
18
README.md
@ -396,12 +396,12 @@ printf("|%-*.*d|", -4, 2, 1); // |01 | width=4 prec=2 value=1 flags='-'
|
||||
A negative precision is discarded:
|
||||
|
||||
```C
|
||||
printf("|%*s|\n", 4, "sheetjs"); // |sheetjs| width=4
|
||||
printf("|%*.*s|\n", 4, 3, "sheetjs"); // | she| width=4 prec=3
|
||||
printf("|%*.*s|\n", 4, 2, "sheetjs"); // | sh| width=4 prec=2
|
||||
printf("|%*.*s|\n", 4, 1, "sheetjs"); // | s| width=4 prec=1
|
||||
printf("|%*.*s|\n", 4, 0, "sheetjs"); // | | width=4 prec=0
|
||||
printf("|%*.*s|\n", 4, -1, "sheetjs"); // |sheetjs| width=4 (prec ignored)
|
||||
printf("|%*s|", 4, "sheetjs"); // |sheetjs| width=4
|
||||
printf("|%*.*s|", 4, 3, "sheetjs"); // | she| width=4 prec=3
|
||||
printf("|%*.*s|", 4, 2, "sheetjs"); // | sh| width=4 prec=2
|
||||
printf("|%*.*s|", 4, 1, "sheetjs"); // | s| width=4 prec=1
|
||||
printf("|%*.*s|", 4, 0, "sheetjs"); // | | width=4 prec=0
|
||||
printf("|%*.*s|", 4, -1, "sheetjs"); // |sheetjs| width=4 (prec ignored)
|
||||
```
|
||||
|
||||
|
||||
@ -544,9 +544,9 @@ When a length specifier implies a certain size (such as `hh` for a single-byte
|
||||
integer), the number will be converted before rendering strings. For example:
|
||||
|
||||
```C
|
||||
printf("%1$02hhx %1$02hx %1$02lx %1$02llx\n", 256); // 00 100 100 100
|
||||
printf("%1$02hhx %1$02hx %1$02lx %1$02llx\n", 4096); // 00 1000 1000 1000
|
||||
printf("%1$02hhx %1$02hx %1$02lx %1$02llx\n", 65536); // 00 00 10000 10000
|
||||
printf("%1$02hhx %1$02hx %1$02lx %1$02llx", 256); // |00 100 100 100|
|
||||
printf("%1$02hhx %1$02hx %1$02lx %1$02llx", 4096); // |00 1000 1000 1000|
|
||||
printf("%1$02hhx %1$02hx %1$02lx %1$02llx", 65536); // |00 00 10000 10000|
|
||||
```
|
||||
|
||||
Values are restricted by first limiting the result to a specified number of
|
||||
|
@ -1 +1 @@
|
||||
PRINTJ.version = '1.0.1';
|
||||
PRINTJ.version = '1.1.0';
|
||||
|
@ -70,6 +70,8 @@ function doit(t/*:ParsedFmt*/, args/*:Array<any>*/)/*:string*/ {
|
||||
#include "54_convmisc.js"
|
||||
}
|
||||
|
||||
if(width < 0) { width = -width; flags += "-"; }
|
||||
|
||||
if(isnum == -1) {
|
||||
#include "60_integer.js"
|
||||
} else if(isnum > 0) {
|
||||
|
@ -23,7 +23,7 @@ var PRINTJ;
|
||||
/*jshint ignore:end */
|
||||
}(function(PRINTJ) {
|
||||
|
||||
PRINTJ.version = '1.0.1';
|
||||
PRINTJ.version = '1.1.0';
|
||||
|
||||
function tokenize(fmt) {
|
||||
var out = [];
|
||||
@ -314,6 +314,8 @@ function doit(t, args) {
|
||||
|
||||
}
|
||||
|
||||
if(width < 0) { width = -width; flags += "-"; }
|
||||
|
||||
if(isnum == -1) {
|
||||
|
||||
Vnum = Number(arg);
|
||||
|
@ -171,4 +171,23 @@ describe('special cases', function() {
|
||||
assert.equal(sprintf("|%1$b|%1$B|%1$d|%1$D|%1$i|%1$o|%1$O|%1$u|%1$U|%1$x|%1$X|", undefined), "|0|0|0|0|0|0|0|0|0|0|0|");
|
||||
assert.equal(sprintf("|%1$b|%1$B|%1$d|%1$D|%1$i|%1$o|%1$O|%1$u|%1$U|%1$x|%1$X|", null), "|0|0|0|0|0|0|0|0|0|0|0|");
|
||||
});
|
||||
it('handles dynamic specifiers', function() {
|
||||
assert.equal(sprintf("|%5s|", "sheetjs"), "|sheetjs|");
|
||||
assert.equal(sprintf("|%*s|", 5, "sheetjs"), "|sheetjs|");
|
||||
assert.equal(sprintf("|%2$*1$s|", 5, "sheetjs", 10), "|sheetjs|");
|
||||
assert.equal(sprintf("|%10s|", "sheetjs"), "| sheetjs|");
|
||||
assert.equal(sprintf("|%2$*3$s|", 5, "sheetjs", 10), "| sheetjs|");
|
||||
assert.equal(sprintf("|%0*.*d|", 4, 2, 1), "| 01|");
|
||||
assert.equal(sprintf("|%1$0*3$.*2$d|", 1, 2, 4), "| 01|");
|
||||
assert.equal(sprintf("|%*.*d|", 4, 2, 1), "| 01|");
|
||||
assert.equal(sprintf("|%-*.*d|", 4, 2, 1), "|01 |");
|
||||
assert.equal(sprintf("|%*.*d|", -4, 2, 1), "|01 |");
|
||||
assert.equal(sprintf("|%-*.*d|", -4, 2, 1), "|01 |");
|
||||
assert.equal(sprintf("|%*s|", 4, "sheetjs"), "|sheetjs|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 3, "sheetjs"), "| she|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 2, "sheetjs"), "| sh|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 1, "sheetjs"), "| s|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 0, "sheetjs"), "| |");
|
||||
assert.equal(sprintf("|%*.*s|", 4, -1, "sheetjs"), "|sheetjs|");
|
||||
});
|
||||
});
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "printj",
|
||||
"version": "1.0.2",
|
||||
"version": "1.1.0",
|
||||
"author": "sheetjs",
|
||||
"description": "Pure-JS printf",
|
||||
"keywords": [ "printf", "sprintf", "format", "string" ],
|
||||
@ -12,9 +12,10 @@
|
||||
"dependencies": {
|
||||
},
|
||||
"devDependencies": {
|
||||
"mocha":"",
|
||||
"@sheetjs/uglify-js":"",
|
||||
"@types/node":"",
|
||||
"mocha":"~2.5.3",
|
||||
"blanket": "~1.2.3",
|
||||
"@sheetjs/uglify-js":"~2.7.3",
|
||||
"@types/node":"^8.0.7",
|
||||
"dtslint": "^0.1.2",
|
||||
"typescript": "2.2.0"
|
||||
},
|
||||
|
@ -25,7 +25,7 @@ var PRINTJ/*:PRINTJModule*/;
|
||||
/*jshint ignore:end */
|
||||
}(function(PRINTJ/*:PRINTJModule*/) {
|
||||
|
||||
PRINTJ.version = '1.0.1';
|
||||
PRINTJ.version = '1.1.0';
|
||||
|
||||
function tokenize(fmt/*:string*/)/*:ParsedFmt*/ {
|
||||
var out/*:ParsedFmt*/ = [];
|
||||
@ -317,6 +317,8 @@ function doit(t/*:ParsedFmt*/, args/*:Array<any>*/)/*:string*/ {
|
||||
|
||||
}
|
||||
|
||||
if(width < 0) { width = -width; flags += "-"; }
|
||||
|
||||
if(isnum == -1) {
|
||||
|
||||
Vnum = Number(arg);
|
||||
|
@ -23,7 +23,7 @@ var PRINTJ;
|
||||
/*jshint ignore:end */
|
||||
}(function(PRINTJ) {
|
||||
|
||||
PRINTJ.version = '1.0.1';
|
||||
PRINTJ.version = '1.1.0';
|
||||
|
||||
function tokenize(fmt) {
|
||||
var out = [];
|
||||
@ -314,6 +314,8 @@ function doit(t, args) {
|
||||
|
||||
}
|
||||
|
||||
if(width < 0) { width = -width; flags += "-"; }
|
||||
|
||||
if(isnum == -1) {
|
||||
|
||||
Vnum = Number(arg);
|
||||
|
19
test.js
19
test.js
@ -171,4 +171,23 @@ describe('special cases', function() {
|
||||
assert.equal(sprintf("|%1$b|%1$B|%1$d|%1$D|%1$i|%1$o|%1$O|%1$u|%1$U|%1$x|%1$X|", undefined), "|0|0|0|0|0|0|0|0|0|0|0|");
|
||||
assert.equal(sprintf("|%1$b|%1$B|%1$d|%1$D|%1$i|%1$o|%1$O|%1$u|%1$U|%1$x|%1$X|", null), "|0|0|0|0|0|0|0|0|0|0|0|");
|
||||
});
|
||||
it('handles dynamic specifiers', function() {
|
||||
assert.equal(sprintf("|%5s|", "sheetjs"), "|sheetjs|");
|
||||
assert.equal(sprintf("|%*s|", 5, "sheetjs"), "|sheetjs|");
|
||||
assert.equal(sprintf("|%2$*1$s|", 5, "sheetjs", 10), "|sheetjs|");
|
||||
assert.equal(sprintf("|%10s|", "sheetjs"), "| sheetjs|");
|
||||
assert.equal(sprintf("|%2$*3$s|", 5, "sheetjs", 10), "| sheetjs|");
|
||||
assert.equal(sprintf("|%0*.*d|", 4, 2, 1), "| 01|");
|
||||
assert.equal(sprintf("|%1$0*3$.*2$d|", 1, 2, 4), "| 01|");
|
||||
assert.equal(sprintf("|%*.*d|", 4, 2, 1), "| 01|");
|
||||
assert.equal(sprintf("|%-*.*d|", 4, 2, 1), "|01 |");
|
||||
assert.equal(sprintf("|%*.*d|", -4, 2, 1), "|01 |");
|
||||
assert.equal(sprintf("|%-*.*d|", -4, 2, 1), "|01 |");
|
||||
assert.equal(sprintf("|%*s|", 4, "sheetjs"), "|sheetjs|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 3, "sheetjs"), "| she|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 2, "sheetjs"), "| sh|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 1, "sheetjs"), "| s|");
|
||||
assert.equal(sprintf("|%*.*s|", 4, 0, "sheetjs"), "| |");
|
||||
assert.equal(sprintf("|%*.*s|", 4, -1, "sheetjs"), "|sheetjs|");
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user