diff --git a/test/test-parse-namespaces.js b/test/test-parse-namespaces.js new file mode 100644 index 0000000..2840577 --- /dev/null +++ b/test/test-parse-namespaces.js @@ -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