UNPKG

polyfill-service

Version:
39 lines (32 loc) 972 B
/* eslint-env mocha, browser */ /* global proclaim */ it('is named \'values\' or \'ArrayValues\'', function () { // Don't fail tests just because browser doesn't support the Function.name polyfill if ([][Symbol.iterator].name) { try { proclaim.equal([][Symbol.iterator].name, 'values'); } catch (e) { // Chrome 40 implements the Symbol.iterator function for Arrays but has it named ArrayValues. proclaim.equal([][Symbol.iterator].name, 'ArrayValues'); } } }); it('returns a next-able object', function () { var array = ['val1', 'val2']; var iterator = array[Symbol.iterator](); proclaim.isInstanceOf(iterator.next, Function); proclaim.deepEqual(iterator.next(), { value: 'val1', done: false }); }); it('finally returns a done object', function () { var array = ['val1', 'val2']; var iterator = array[Symbol.iterator](); iterator.next(); iterator.next(); proclaim.deepEqual(iterator.next(), { value: undefined, done: true }); });