@@ -27,21 +27,51 @@ assert.throws(function() {
27
27
util . format ( '%d' , symbol ) ;
28
28
} , / ^ T y p e E r r o r : C a n n o t c o n v e r t a S y m b o l v a l u e t o a n u m b e r $ / ) ;
29
29
30
+ // Number format specifier
31
+ assert . strictEqual ( util . format ( '%d' ) , '%d' ) ;
30
32
assert . strictEqual ( util . format ( '%d' , 42.0 ) , '42' ) ;
31
33
assert . strictEqual ( util . format ( '%d' , 42 ) , '42' ) ;
32
- assert . strictEqual ( util . format ( '%s' , 42 ) , '42' ) ;
33
- assert . strictEqual ( util . format ( '%j' , 42 ) , '42' ) ;
34
-
35
- assert . strictEqual ( util . format ( '%d' , '42.0' ) , '42' ) ;
36
34
assert . strictEqual ( util . format ( '%d' , '42' ) , '42' ) ;
37
- assert . strictEqual ( util . format ( '%s' , '42' ) , '42' ) ;
38
- assert . strictEqual ( util . format ( '%j' , '42' ) , '"42"' ) ;
35
+ assert . strictEqual ( util . format ( '%d' , '42.0' ) , '42' ) ;
36
+ assert . strictEqual ( util . format ( '%d' , 1.5 ) , '1.5' ) ;
37
+ assert . strictEqual ( util . format ( '%d' , - 0.5 ) , '-0.5' ) ;
38
+ assert . strictEqual ( util . format ( '%d' , '' ) , '0' ) ;
39
39
40
- assert . strictEqual ( util . format ( '%%s%s' , 'foo' ) , '%sfoo' ) ;
40
+ // Integer format specifier
41
+ assert . strictEqual ( util . format ( '%i' ) , '%i' ) ;
42
+ assert . strictEqual ( util . format ( '%i' , 42.0 ) , '42' ) ;
43
+ assert . strictEqual ( util . format ( '%i' , 42 ) , '42' ) ;
44
+ assert . strictEqual ( util . format ( '%i' , '42' ) , '42' ) ;
45
+ assert . strictEqual ( util . format ( '%i' , '42.0' ) , '42' ) ;
46
+ assert . strictEqual ( util . format ( '%i' , 1.5 ) , '1' ) ;
47
+ assert . strictEqual ( util . format ( '%i' , - 0.5 ) , '0' ) ;
48
+ assert . strictEqual ( util . format ( '%i' , '' ) , 'NaN' ) ;
49
+
50
+ // Float format specifier
51
+ assert . strictEqual ( util . format ( '%f' ) , '%f' ) ;
52
+ assert . strictEqual ( util . format ( '%f' , 42.0 ) , '42' ) ;
53
+ assert . strictEqual ( util . format ( '%f' , 42 ) , '42' ) ;
54
+ assert . strictEqual ( util . format ( '%f' , '42' ) , '42' ) ;
55
+ assert . strictEqual ( util . format ( '%f' , '42.0' ) , '42' ) ;
56
+ assert . strictEqual ( util . format ( '%f' , 1.5 ) , '1.5' ) ;
57
+ assert . strictEqual ( util . format ( '%f' , - 0.5 ) , '-0.5' ) ;
58
+ assert . strictEqual ( util . format ( '%f' , Math . PI ) , '3.141592653589793' ) ;
59
+ assert . strictEqual ( util . format ( '%f' , '' ) , 'NaN' ) ;
41
60
61
+ // String format specifier
42
62
assert . strictEqual ( util . format ( '%s' ) , '%s' ) ;
43
63
assert . strictEqual ( util . format ( '%s' , undefined ) , 'undefined' ) ;
44
64
assert . strictEqual ( util . format ( '%s' , 'foo' ) , 'foo' ) ;
65
+ assert . strictEqual ( util . format ( '%s' , 42 ) , '42' ) ;
66
+ assert . strictEqual ( util . format ( '%s' , '42' ) , '42' ) ;
67
+
68
+ // JSON format specifier
69
+ assert . strictEqual ( util . format ( '%j' ) , '%j' ) ;
70
+ assert . strictEqual ( util . format ( '%j' , 42 ) , '42' ) ;
71
+ assert . strictEqual ( util . format ( '%j' , '42' ) , '"42"' ) ;
72
+
73
+ // Various format specifiers
74
+ assert . strictEqual ( util . format ( '%%s%s' , 'foo' ) , '%sfoo' ) ;
45
75
assert . strictEqual ( util . format ( '%s:%s' ) , '%s:%s' ) ;
46
76
assert . strictEqual ( util . format ( '%s:%s' , undefined ) , 'undefined:%s' ) ;
47
77
assert . strictEqual ( util . format ( '%s:%s' , 'foo' ) , 'foo:%s' ) ;
@@ -50,11 +80,9 @@ assert.strictEqual(util.format('%s:%s', 'foo', 'bar', 'baz'), 'foo:bar baz');
50
80
assert . strictEqual ( util . format ( '%%%s%%' , 'hi' ) , '%hi%' ) ;
51
81
assert . strictEqual ( util . format ( '%%%s%%%%' , 'hi' ) , '%hi%%' ) ;
52
82
assert . strictEqual ( util . format ( '%sbc%%def' , 'a' ) , 'abc%def' ) ;
53
-
54
83
assert . strictEqual ( util . format ( '%d:%d' , 12 , 30 ) , '12:30' ) ;
55
84
assert . strictEqual ( util . format ( '%d:%d' , 12 ) , '12:%d' ) ;
56
85
assert . strictEqual ( util . format ( '%d:%d' ) , '%d:%d' ) ;
57
-
58
86
assert . strictEqual ( util . format ( 'o: %j, a: %j' , { } , [ ] ) , 'o: {}, a: []' ) ;
59
87
assert . strictEqual ( util . format ( 'o: %j, a: %j' , { } ) , 'o: {}, a: %j' ) ;
60
88
assert . strictEqual ( util . format ( 'o: %j, a: %j' ) , 'o: %j, a: %j' ) ;
0 commit comments