Intial Commit
This commit is contained in:
83
nodered/rootfs/data/node_modules/imap/test/test-parse-bodystructure.js
generated
vendored
Normal file
83
nodered/rootfs/data/node_modules/imap/test/test-parse-bodystructure.js
generated
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
var parseBodyStructure = require('../lib/Parser').parseBodyStructure;
|
||||
|
||||
var assert = require('assert'),
|
||||
inspect = require('util').inspect;
|
||||
|
||||
[
|
||||
{ source: '("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 1152 23)'
|
||||
+ '("TEXT" "PLAIN" ("CHARSET" "US-ASCII" "NAME" "cc.diff")'
|
||||
+ ' "<960723163407.20117h@cac.washington.edu>" "Compiler diff"'
|
||||
+ ' "BASE64" 4554 73)'
|
||||
+ '"MIXED"',
|
||||
expected: [ { type: 'mixed' },
|
||||
[ { partID: '1',
|
||||
type: 'text',
|
||||
subtype: 'plain',
|
||||
params: { charset: 'US-ASCII' },
|
||||
id: null,
|
||||
description: null,
|
||||
encoding: '7BIT',
|
||||
size: 1152,
|
||||
lines: 23
|
||||
}
|
||||
],
|
||||
[ { partID: '2',
|
||||
type: 'text',
|
||||
subtype: 'plain',
|
||||
params: { charset: 'US-ASCII', name: 'cc.diff' },
|
||||
id: '<960723163407.20117h@cac.washington.edu>',
|
||||
description: 'Compiler diff',
|
||||
encoding: 'BASE64',
|
||||
size: 4554,
|
||||
lines: 73
|
||||
}
|
||||
]
|
||||
],
|
||||
what: 'RFC3501 example #1'
|
||||
},
|
||||
{ source: 'NIL NIL ("CHARSET" "GB2312") NIL NIL NIL 176 NIL NIL NIL',
|
||||
expected: [ { type: null,
|
||||
params: null,
|
||||
disposition: null,
|
||||
language: [ 'CHARSET', 'GB2312' ],
|
||||
location: null,
|
||||
extensions: null
|
||||
}
|
||||
],
|
||||
what: 'Issue 477'
|
||||
},
|
||||
{ source: '"TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 3028 92',
|
||||
expected: [ { partID: '1',
|
||||
type: 'text',
|
||||
subtype: 'plain',
|
||||
params: { charset: 'US-ASCII' },
|
||||
id: null,
|
||||
description: null,
|
||||
encoding: '7BIT',
|
||||
size: 3028,
|
||||
lines: 92
|
||||
}
|
||||
],
|
||||
what: 'RFC3501 example #2'
|
||||
},
|
||||
].forEach(function(v) {
|
||||
var result;
|
||||
try {
|
||||
result = parseBodyStructure(v.source);
|
||||
} catch (e) {
|
||||
console.log(makeMsg(v.what, 'JS Exception: ' + e.stack));
|
||||
return;
|
||||
}
|
||||
assert.deepEqual(result,
|
||||
v.expected,
|
||||
makeMsg(v.what,
|
||||
'Result mismatch:'
|
||||
+ '\nParsed: ' + inspect(result, false, 10)
|
||||
+ '\nExpected: ' + inspect(v.expected, false, 10)
|
||||
)
|
||||
);
|
||||
});
|
||||
|
||||
function makeMsg(what, msg) {
|
||||
return '[' + what + ']: ' + msg;
|
||||
}
|
||||
Reference in New Issue
Block a user