const Gunner = require('./gunner'); const gunner = new Gunner({ name: 'sample tests' }); const a = 1; gunner.test('should automatically pass', expect => expect().done()); gunner.test(`should be equal`, expect => expect(1).equal(1)); gunner.test(`objects are deep equal`, expect => expect({ a: 1 }).deepEqual({ a: 1 })); gunner.test(`objects aren't deeply equal`, expect => expect({a : 1}).deepEqual({ a: 2 })); gunner.test('expression should be true', expect => expect(a === 1).isTrue()); gunner.test('promise must reject', expect => expect(Promise.reject(new Error('Promise Rejected'))).equal('no rejection')); gunner.test('multiple expect', expect => { const a = { }; a.b = 1; a.c = 2; return [ expect(a).hasProp('b'), expect(a).hasPair('c', 3), ]; }); const flamethrower = () => { throw new Error('This burns!'); }; gunner.test('should catch error', expect => { return expect(flamethrower()).equal(5); }); gunner.test('should be a Promise (resolved)', expect => expect(Promise.resolve()).isPromise()); gunner.test('should be a Promise (rejected)', expect => expect(Promise.reject()).isPromise()); gunner.test('should resolve to 5', expect => expect(Promise.resolve(5)).resolvesTo(5)); gunner.test('should not resolve to 5', expect => expect(Promise.resolve()).resolvesTo(5)); gunner.test('file must have hello as content', async expect => { const { readFile } = require('fs').promises; const file = await readFile('./hello.txt', { encoding: 'utf8' }); return [ expect(file).equal('hello'), expect(file.length).equal(5), ]; }); gunner.run({ trace: false });