@@ -48,21 +48,51 @@ assert.throws(function() {
48
48
util . format ( '%d' , symbol ) ;
49
49
} , TypeError ) ;
50
50
51
+ // Number format specifier
52
+ assert . strictEqual ( util . format ( '%d' ) , '%d' ) ;
51
53
assert . strictEqual ( util . format ( '%d' , 42.0 ) , '42' ) ;
52
54
assert . strictEqual ( util . format ( '%d' , 42 ) , '42' ) ;
53
- assert . strictEqual ( util . format ( '%s' , 42 ) , '42' ) ;
54
- assert . strictEqual ( util . format ( '%j' , 42 ) , '42' ) ;
55
-
56
- assert . strictEqual ( util . format ( '%d' , '42.0' ) , '42' ) ;
57
55
assert . strictEqual ( util . format ( '%d' , '42' ) , '42' ) ;
58
- assert . strictEqual ( util . format ( '%s' , '42' ) , '42' ) ;
59
- assert . strictEqual ( util . format ( '%j' , '42' ) , '"42"' ) ;
56
+ assert . strictEqual ( util . format ( '%d' , '42.0' ) , '42' ) ;
57
+ assert . strictEqual ( util . format ( '%d' , 1.5 ) , '1.5' ) ;
58
+ assert . strictEqual ( util . format ( '%d' , - 0.5 ) , '-0.5' ) ;
59
+ assert . strictEqual ( util . format ( '%d' , '' ) , '0' ) ;
60
60
61
- assert . strictEqual ( util . format ( '%%s%s' , 'foo' ) , '%sfoo' ) ;
61
+ // Integer format specifier
62
+ assert . strictEqual ( util . format ( '%i' ) , '%i' ) ;
63
+ assert . strictEqual ( util . format ( '%i' , 42.0 ) , '42' ) ;
64
+ assert . strictEqual ( util . format ( '%i' , 42 ) , '42' ) ;
65
+ assert . strictEqual ( util . format ( '%i' , '42' ) , '42' ) ;
66
+ assert . strictEqual ( util . format ( '%i' , '42.0' ) , '42' ) ;
67
+ assert . strictEqual ( util . format ( '%i' , 1.5 ) , '1' ) ;
68
+ assert . strictEqual ( util . format ( '%i' , - 0.5 ) , '0' ) ;
69
+ assert . strictEqual ( util . format ( '%i' , '' ) , 'NaN' ) ;
70
+
71
+ // Float format specifier
72
+ assert . strictEqual ( util . format ( '%f' ) , '%f' ) ;
73
+ assert . strictEqual ( util . format ( '%f' , 42.0 ) , '42' ) ;
74
+ assert . strictEqual ( util . format ( '%f' , 42 ) , '42' ) ;
75
+ assert . strictEqual ( util . format ( '%f' , '42' ) , '42' ) ;
76
+ assert . strictEqual ( util . format ( '%f' , '42.0' ) , '42' ) ;
77
+ assert . strictEqual ( util . format ( '%f' , 1.5 ) , '1.5' ) ;
78
+ assert . strictEqual ( util . format ( '%f' , - 0.5 ) , '-0.5' ) ;
79
+ assert . strictEqual ( util . format ( '%f' , Math . PI ) , '3.141592653589793' ) ;
80
+ assert . strictEqual ( util . format ( '%f' , '' ) , 'NaN' ) ;
62
81
82
+ // String format specifier
63
83
assert . strictEqual ( util . format ( '%s' ) , '%s' ) ;
64
84
assert . strictEqual ( util . format ( '%s' , undefined ) , 'undefined' ) ;
65
85
assert . strictEqual ( util . format ( '%s' , 'foo' ) , 'foo' ) ;
86
+ assert . strictEqual ( util . format ( '%s' , 42 ) , '42' ) ;
87
+ assert . strictEqual ( util . format ( '%s' , '42' ) , '42' ) ;
88
+
89
+ // JSON format specifier
90
+ assert . strictEqual ( util . format ( '%j' ) , '%j' ) ;
91
+ assert . strictEqual ( util . format ( '%j' , 42 ) , '42' ) ;
92
+ assert . strictEqual ( util . format ( '%j' , '42' ) , '"42"' ) ;
93
+
94
+ // Various format specifiers
95
+ assert . strictEqual ( util . format ( '%%s%s' , 'foo' ) , '%sfoo' ) ;
66
96
assert . strictEqual ( util . format ( '%s:%s' ) , '%s:%s' ) ;
67
97
assert . strictEqual ( util . format ( '%s:%s' , undefined ) , 'undefined:%s' ) ;
68
98
assert . strictEqual ( util . format ( '%s:%s' , 'foo' ) , 'foo:%s' ) ;
@@ -71,11 +101,9 @@ assert.strictEqual(util.format('%s:%s', 'foo', 'bar', 'baz'), 'foo:bar baz');
71
101
assert . strictEqual ( util . format ( '%%%s%%' , 'hi' ) , '%hi%' ) ;
72
102
assert . strictEqual ( util . format ( '%%%s%%%%' , 'hi' ) , '%hi%%' ) ;
73
103
assert . strictEqual ( util . format ( '%sbc%%def' , 'a' ) , 'abc%def' ) ;
74
-
75
104
assert . strictEqual ( util . format ( '%d:%d' , 12 , 30 ) , '12:30' ) ;
76
105
assert . strictEqual ( util . format ( '%d:%d' , 12 ) , '12:%d' ) ;
77
106
assert . strictEqual ( util . format ( '%d:%d' ) , '%d:%d' ) ;
78
-
79
107
assert . strictEqual ( util . format ( 'o: %j, a: %j' , { } , [ ] ) , 'o: {}, a: []' ) ;
80
108
assert . strictEqual ( util . format ( 'o: %j, a: %j' , { } ) , 'o: {}, a: %j' ) ;
81
109
assert . strictEqual ( util . format ( 'o: %j, a: %j' ) , 'o: %j, a: %j' ) ;
0 commit comments