UNPKG

parser-combinator

Version:
94 lines (77 loc) 3.6 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _index = require('../../lib/stream/index'); var _index2 = _interopRequireDefault(_index); var _charsBundle = require('../../lib/parsec/chars-bundle'); var _charsBundle2 = _interopRequireDefault(_charsBundle); var _numbersBundle = require('../../lib/parsec/numbers-bundle'); var _numbersBundle2 = _interopRequireDefault(_numbersBundle); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* ======== A Handy Little Nodeunit Reference ======== https://github.com/caolan/nodeunit Test methods: test.expect(numAssertions) test.done() Test assertions: test.ok(value, [message]) test.equal(actual, expected, [message]) test.notEqual(actual, expected, [message]) test.deepEqual(actual, expected, [message]) test.notDeepEqual(actual, expected, [message]) test.strictEqual(actual, expected, [message]) test.notStrictEqual(actual, expected, [message]) test.throws(block, [error], [message]) test.doesNotThrow(block, [error], [message]) test.ifError(value) */ exports.default = { setUp: function setUp(done) { done(); }, 'endOfStream for empty stream': function endOfStreamForEmptyStream(test) { test.expect(1); // tests here var p = _charsBundle2.default.char(' ').optrep().thenRight(_numbersBundle2.default.numberLiteral); test.ok(_index2.default.ofParser(p, _index2.default.ofString('')).endOfStream(0), 'should be endOfStream.'); test.done(); }, 'endOfStream for non empty stream': function endOfStreamForNonEmptyStream(test) { test.expect(1); // tests here var p = _charsBundle2.default.char(' ').optrep().thenRight(_numbersBundle2.default.numberLiteral); test.ok(_index2.default.ofParser(p, _index2.default.ofString('1')).endOfStream(1), 'should be endOfStream.'); test.done(); }, 'no endOfStream for non empty stream': function noEndOfStreamForNonEmptyStream(test) { test.expect(1); // tests here var p = _charsBundle2.default.char(' ').optrep().thenRight(_numbersBundle2.default.numberLiteral); test.equal(_index2.default.ofParser(p, _index2.default.ofString('1')).endOfStream(0), false, 'should be endOfStream.'); test.done(); }, 'get from stream': function getFromStream(test) { test.expect(1); // tests here var p = _charsBundle2.default.char(' ').optrep().thenRight(_numbersBundle2.default.numberLiteral); test.equal(_index2.default.ofParser(p, _index2.default.ofString('1')).get(0).isSuccess(), true, 'should be a success.'); test.done(); }, 'do not get from empty stream': function doNotGetFromEmptyStream(test) { test.expect(1); // tests here var p = _charsBundle2.default.char(' ').optrep().thenRight(_numbersBundle2.default.numberLiteral); test.equal(_index2.default.ofParser(p, _index2.default.ofString('1')).get(1).isSuccess(), false, 'should be a failure.'); test.done(); }, 'get from stream numberLiteral 123': function getFromStreamNumberLiteral123(test) { test.expect(1); // tests here var p = _charsBundle2.default.char(' ').optrep().thenRight(_numbersBundle2.default.numberLiteral); test.equal(_index2.default.ofParser(p, _index2.default.ofString('123')).get(0).success(), 123, 'should be a 123.'); test.done(); } }; //# sourceMappingURL=parser_stream_test.js.map