You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.3 KiB

'use strict';
const assert = require('assert');
const format = require('../');
// const symbol = Symbol('foo');
// assert.equal(format([]), '');
// assert.equal(format(['']), '');
// assert.equal(format([[]]), '[]');
// assert.equal(format([{}]), '{}');
// assert.equal(format([null]), 'null');
// assert.equal(format([true]), 'true');
// assert.equal(format([false]), 'false');
// assert.equal(format(['test']), 'test');
// // // CHECKME this is for console.log() compatibility - but is it *right*?
// assert.equal(format(['foo', 'bar', 'baz']), 'foo bar baz');
// // ES6 Symbol handling
// // assert.equal(format([symbol]), 'Symbol(foo)');
// // assert.equal(format(['foo', symbol]), 'foo Symbol(foo)');
// // assert.equal(format(['%s', symbol]), 'Symbol(foo)');
// // assert.equal(format(['%j', symbol]), 'undefined');
// // assert.throws(function() {
// // format(['%d', symbol]);
// // }, TypeError);
// assert.equal(format(['%d', 42.0]), '42');
// assert.equal(format(['%d', 42]), '42');
// assert.equal(format(['%s', 42]), '42');
// assert.equal(format(['%j', 42]), '42');
assert.equal(format(['%d', undefined]), '%d');
assert.equal(format(['%s', undefined]), 'undefined');
assert.equal(format(['%j', undefined]), '%j');
assert.equal(format(['%d', null]), '%d');
assert.equal(format(['%s', null]), 'null');
assert.equal(format(['%j', null]), 'null');
// assert.equal(format(['%d', '42.0']), '42');
// assert.equal(format(['%d', '42']), '42');
// assert.equal(format(['%s', '42']), '42');
// assert.equal(format(['%j', '42']), '"42"');
// assert.equal(format(['%%s%s', 'foo']), '%sfoo');
// assert.equal(format(['%s']), '%s');
// assert.equal(format(['%s', undefined]), 'undefined');
// assert.equal(format(['%s', 'foo']), 'foo');
assert.equal(format(['%s', '\"quoted\"']), '\"quoted\"');
assert.equal(format(['%j', { s: '\"quoted\"' }]), '{\"s\":\"\\"quoted\\"\"}');
// assert.equal(format(['%s:%s']), '%s:%s');
// assert.equal(format(['%s:%s', undefined]), 'undefined:%s');
// assert.equal(format(['%s:%s', 'foo']), 'foo:%s');
// assert.equal(format(['%s:%s', 'foo', 'bar']), 'foo:bar');
// assert.equal(format(['%s:%s', 'foo', 'bar', 'baz']), 'foo:bar baz');
// // assert.equal(format(['%%%s%%', 'hi']), '%hi%');
// // assert.equal(format(['%%%s%%%%', 'hi']), '%hi%%');
// (function() {
// var o = {};
// o.o = o;
// assert.equal(format(['%j', o]), '[Circular]');
// })();