%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; require('../common'); const assert = require('assert'); const stdoutWrite = process.stdout.write; let buf = ''; process.stdout.write = (string) => buf = string; console.count(); assert.strictEqual(buf, 'default: 1\n'); // 'default' and undefined are equivalent console.count('default'); assert.strictEqual(buf, 'default: 2\n'); console.count('a'); assert.strictEqual(buf, 'a: 1\n'); console.count('b'); assert.strictEqual(buf, 'b: 1\n'); console.count('a'); assert.strictEqual(buf, 'a: 2\n'); console.count(); assert.strictEqual(buf, 'default: 3\n'); console.count({}); assert.strictEqual(buf, '[object Object]: 1\n'); console.count(1); assert.strictEqual(buf, '1: 1\n'); console.count(null); assert.strictEqual(buf, 'null: 1\n'); console.count('null'); assert.strictEqual(buf, 'null: 2\n'); console.countReset(); console.count(); assert.strictEqual(buf, 'default: 1\n'); console.countReset('a'); console.count('a'); assert.strictEqual(buf, 'a: 1\n'); // countReset('a') only reset the a counter console.count(); assert.strictEqual(buf, 'default: 2\n'); process.stdout.write = stdoutWrite; // Symbol labels do not work. Only check that the `Error` is a `TypeError`. Do // not check the message because it is different depending on the JavaScript // engine. assert.throws( () => console.count(Symbol('test')), TypeError); assert.throws( () => console.countReset(Symbol('test')), TypeError);