1 var common = require('../common');
2 var multipartParser = require(common.lib + '/multipart_parser'),
3 MultipartParser = multipartParser.MultipartParser,
4 events = require('events'),
5 Buffer = require('buffer').Buffer,
9 parser = new MultipartParser();
13 test(function constructor() {
14 assert.equal(parser.boundary, null);
15 assert.equal(parser.state, 0);
16 assert.equal(parser.flags, 0);
17 assert.equal(parser.boundaryChars, null);
18 assert.equal(parser.index, null);
19 assert.equal(parser.lookbehind, null);
20 assert.equal(parser.constructor.name, 'MultipartParser');
23 test(function initWithBoundary() {
25 parser.initWithBoundary(boundary);
26 assert.deepEqual(Array.prototype.slice.call(parser.boundary), [13, 10, 45, 45, 97, 98, 99]);
27 assert.equal(parser.state, multipartParser.START);
29 assert.deepEqual(parser.boundaryChars, {10: true, 13: true, 45: true, 97: true, 98: true, 99: true});
32 test(function parserError() {
34 buffer = new Buffer(5);
36 parser.initWithBoundary(boundary);
37 buffer.write('--ad', 'ascii', 0);
38 assert.equal(parser.write(buffer), 3);
42 (function testError() {
43 assert.equal(parser.end().message, 'MultipartParser.end(): stream ended unexpectedly: ' + parser.explain());
46 (function testRegular() {
47 parser.state = multipartParser.END;
48 assert.strictEqual(parser.end(), undefined);