Add namespace parsing tests
parent
46258a961d
commit
36e3a1743c
@ -0,0 +1,54 @@
|
||||
var assert = require('assert');
|
||||
|
||||
var parseNamespaces = require('../lib/imap.parsers').parseNamespaces;
|
||||
|
||||
var tests = {
|
||||
simple: [
|
||||
['', {}],
|
||||
|
||||
['(("" "/")) NIL NIL',
|
||||
{ personal: [ { prefix: '', delim: '/' } ] }],
|
||||
|
||||
['(("INBOX." ".")) NIL NIL',
|
||||
{ personal: [ { prefix: 'INBOX.', delim: '.' } ] }],
|
||||
|
||||
['NIL NIL (("" "."))',
|
||||
{ shared: [ { prefix: '', delim: '.' } ] }],
|
||||
|
||||
['(("" "/")) NIL (("Public Folders/" "/"))',
|
||||
{ personal: [ { prefix: '', delim: '/' } ],
|
||||
shared: [ { prefix: 'Public Folders/', delim: '/' } ] }
|
||||
],
|
||||
|
||||
['(("" "/")) (("~" "/")) (("#shared/" "/")("#public/" "/")("#ftp/" "/")("#news." "."))',
|
||||
{ personal: [ { prefix: '', delim: '/' } ],
|
||||
other: [ { prefix: '~', delim: '/' } ],
|
||||
shared:
|
||||
[ { prefix: '#shared/', delim: '/' },
|
||||
{ prefix: '#public/', delim: '/' },
|
||||
{ prefix: '#ftp/', delim: '/' },
|
||||
{ prefix: '#news.', delim: '.' }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
['(("" "/")("#mh/" "/" "X-PARAM" ("FLAG1" "FLAG2"))) NIL NIL',
|
||||
{ personal:
|
||||
[ { prefix: '', delim: '/' },
|
||||
{ prefix: '#mh/',
|
||||
delim: '/',
|
||||
extensions: [ { name: 'X-PARAM', flags: [ 'FLAG1', 'FLAG2' ] } ]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
};
|
||||
|
||||
var result;
|
||||
|
||||
for (var i=0,len=tests.simple.length; i<len; ++i) {
|
||||
result = {};
|
||||
parseNamespaces(tests.simple[i][0], result);
|
||||
assert.deepEqual(tests.simple[i][1], result);
|
||||
}
|
Loading…
Reference in New Issue