'use strict'; var tape = require('../'); var tap = require('tap'); var concat = require('concat-stream'); var stripFullStack = require('./common').stripFullStack; tap.test('numerics', function (tt) { tt.plan(1); var test = tape.createHarness(); test.createStream().pipe(concat(function (body) { tt.same(stripFullStack(body.toString('utf8')), [ 'TAP version 13', '# numeric strings', 'not ok 1 number equal to string', ' ---', ' operator: equal', ' expected: \'3\'', ' actual: 3', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: number equal to string', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'not ok 2 string equal to number', ' ---', ' operator: equal', ' expected: 3', ' actual: \'3\'', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: string equal to number', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'ok 3 number notEqual to string', 'ok 4 string notEqual to number', 'ok 5 number looseEqual to string', 'ok 6 string looseEqual to number', 'not ok 7 number notLooseEqual to string', ' ---', ' operator: notLooseEqual', ' expected: \'3\'', ' actual: 3', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: number notLooseEqual to string', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'not ok 8 string notLooseEqual to number', ' ---', ' operator: notLooseEqual', ' expected: 3', ' actual: \'3\'', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: string notLooseEqual to number', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'not ok 9 number strictEqual to string', ' ---', ' operator: equal', ' expected: \'3\'', ' actual: 3', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: number strictEqual to string', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'not ok 10 string strictEqual to number', ' ---', ' operator: equal', ' expected: 3', ' actual: \'3\'', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: string strictEqual to number', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'ok 11 number notStrictEqual to string', 'ok 12 string notStrictEqual to number', 'ok 13 number deepLooseEqual to string', 'ok 14 string deepLooseEqual to number', 'not ok 15 number notDeepLooseEqual to string', ' ---', ' operator: notDeepLooseEqual', ' expected: \'3\'', ' actual: 3', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: number notDeepLooseEqual to string', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'not ok 16 string notDeepLooseEqual to number', ' ---', ' operator: notDeepLooseEqual', ' expected: 3', ' actual: \'3\'', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: string notDeepLooseEqual to number', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'not ok 17 number deepEqual to string', ' ---', ' operator: deepEqual', ' expected: \'3\'', ' actual: 3', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: number deepEqual to string', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'not ok 18 string deepEqual to number', ' ---', ' operator: deepEqual', ' expected: 3', ' actual: \'3\'', ' at: Test. ($TEST/numerics.js:$LINE:$COL)', ' stack: |-', ' Error: string deepEqual to number', ' [... stack stripped ...]', ' at Test. ($TEST/numerics.js:$LINE:$COL)', ' [... stack stripped ...]', ' ...', 'ok 19 number notDeepEqual to string', 'ok 20 string notDeepEqual to number', '', '1..20', '# tests 20', '# pass 10', '# fail 10', '' ]); })); test('numeric strings', function (t) { t.equal(3, '3', 'number equal to string'); t.equal('3', 3, 'string equal to number'); t.notEqual(3, '3', 'number notEqual to string'); t.notEqual('3', 3, 'string notEqual to number'); t.looseEqual(3, '3', 'number looseEqual to string'); t.looseEqual('3', 3, 'string looseEqual to number'); t.notLooseEqual(3, '3', 'number notLooseEqual to string'); t.notLooseEqual('3', 3, 'string notLooseEqual to number'); t.strictEqual(3, '3', 'number strictEqual to string'); t.strictEqual('3', 3, 'string strictEqual to number'); t.notStrictEqual(3, '3', 'number notStrictEqual to string'); t.notStrictEqual('3', 3, 'string notStrictEqual to number'); t.deepLooseEqual(3, '3', 'number deepLooseEqual to string'); t.deepLooseEqual('3', 3, 'string deepLooseEqual to number'); t.notDeepLooseEqual(3, '3', 'number notDeepLooseEqual to string'); t.notDeepLooseEqual('3', 3, 'string notDeepLooseEqual to number'); t.deepEqual(3, '3', 'number deepEqual to string'); t.deepEqual('3', 3, 'string deepEqual to number'); t.notDeepEqual(3, '3', 'number notDeepEqual to string'); t.notDeepEqual('3', 3, 'string notDeepEqual to number'); t.end(); }); });