emailjs-imap-client
Version:
JavaScript IMAP client
42 lines (39 loc) • 4.59 kB
JavaScript
var _specialUse = require("./special-use");
/* eslint-disable no-unused-expressions */
/* eslint-disable no-useless-escape */
describe('checkSpecialUse', () => {
it('should return a matching special use flag', () => {
expect((0, _specialUse.checkSpecialUse)({
flags: ['test', '\\All']
})).to.equal('\\All');
});
it('should fail for non-existent flag', () => {
expect((0, _specialUse.checkSpecialUse)({})).to.be.false;
});
it('should fail for invalid flag', () => {
expect((0, _specialUse.checkSpecialUse)({
flags: ['test']
})).to.be.false;
});
it('should return special use flag if a matching name is found', () => {
expect((0, _specialUse.checkSpecialUse)({
name: 'test'
})).to.be.false;
expect((0, _specialUse.checkSpecialUse)({
name: 'Praht'
})).to.equal('\\Trash');
expect((0, _specialUse.checkSpecialUse)({
flags: ['\HasChildren'],
// not a special use flag
name: 'Praht'
})).to.equal('\\Trash');
});
it('should prefer matching special use flag over a matching name', () => {
expect((0, _specialUse.checkSpecialUse)({
flags: ['\\All'],
name: 'Praht'
})).to.equal('\\All');
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcGVjaWFsLXVzZS11bml0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJmbGFncyIsInRvIiwiZXF1YWwiLCJiZSIsImZhbHNlIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7QUFHQTs7QUFIQTs7QUFDQTtBQUlBQSxRQUFRLENBQUMsaUJBQUQsRUFBb0IsTUFBTTtBQUNoQ0MsRUFBQUEsRUFBRSxDQUFDLDJDQUFELEVBQThDLE1BQU07QUFDcERDLElBQUFBLE1BQU0sQ0FBQyxpQ0FBZ0I7QUFDckJDLE1BQUFBLEtBQUssRUFBRSxDQUFDLE1BQUQsRUFBUyxPQUFUO0FBRGMsS0FBaEIsQ0FBRCxDQUFOLENBRUlDLEVBRkosQ0FFT0MsS0FGUCxDQUVhLE9BRmI7QUFHRCxHQUpDLENBQUY7QUFNQUosRUFBQUEsRUFBRSxDQUFDLG1DQUFELEVBQXNDLE1BQU07QUFDNUNDLElBQUFBLE1BQU0sQ0FBQyxpQ0FBZ0IsRUFBaEIsQ0FBRCxDQUFOLENBQTRCRSxFQUE1QixDQUErQkUsRUFBL0IsQ0FBa0NDLEtBQWxDO0FBQ0QsR0FGQyxDQUFGO0FBSUFOLEVBQUFBLEVBQUUsQ0FBQyw4QkFBRCxFQUFpQyxNQUFNO0FBQ3ZDQyxJQUFBQSxNQUFNLENBQUMsaUNBQWdCO0FBQ3JCQyxNQUFBQSxLQUFLLEVBQUUsQ0FBQyxNQUFEO0FBRGMsS0FBaEIsQ0FBRCxDQUFOLENBRUlDLEVBRkosQ0FFT0UsRUFGUCxDQUVVQyxLQUZWO0FBR0QsR0FKQyxDQUFGO0FBTUFOLEVBQUFBLEVBQUUsQ0FBQyw0REFBRCxFQUErRCxNQUFNO0FBQ3JFQyxJQUFBQSxNQUFNLENBQUMsaUNBQWdCO0FBQ3JCTSxNQUFBQSxJQUFJLEVBQUU7QUFEZSxLQUFoQixDQUFELENBQU4sQ0FFSUosRUFGSixDQUVPRSxFQUZQLENBRVVDLEtBRlY7QUFHQUwsSUFBQUEsTUFBTSxDQUFDLGlDQUFnQjtBQUNyQk0sTUFBQUEsSUFBSSxFQUFFO0FBRGUsS0FBaEIsQ0FBRCxDQUFOLENBRUlKLEVBRkosQ0FFT0MsS0FGUCxDQUVhLFNBRmI7QUFHQUgsSUFBQUEsTUFBTSxDQUFDLGlDQUFnQjtBQUNyQkMsTUFBQUEsS0FBSyxFQUFFLENBQUMsY0FBRCxDQURjO0FBQ0k7QUFDekJLLE1BQUFBLElBQUksRUFBRTtBQUZlLEtBQWhCLENBQUQsQ0FBTixDQUdJSixFQUhKLENBR09DLEtBSFAsQ0FHYSxTQUhiO0FBSUQsR0FYQyxDQUFGO0FBYUFKLEVBQUFBLEVBQUUsQ0FBQyw4REFBRCxFQUFpRSxNQUFNO0FBQ3ZFQyxJQUFBQSxNQUFNLENBQUMsaUNBQWdCO0FBQ3JCQyxNQUFBQSxLQUFLLEVBQUUsQ0FBQyxPQUFELENBRGM7QUFFckJLLE1BQUFBLElBQUksRUFBRTtBQUZlLEtBQWhCLENBQUQsQ0FBTixDQUdJSixFQUhKLENBR09DLEtBSFAsQ0FHYSxPQUhiO0FBSUQsR0FMQyxDQUFGO0FBTUQsQ0FwQ08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC1leHByZXNzaW9ucyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlbGVzcy1lc2NhcGUgKi9cblxuaW1wb3J0IHsgY2hlY2tTcGVjaWFsVXNlIH0gZnJvbSAnLi9zcGVjaWFsLXVzZSdcblxuZGVzY3JpYmUoJ2NoZWNrU3BlY2lhbFVzZScsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCByZXR1cm4gYSBtYXRjaGluZyBzcGVjaWFsIHVzZSBmbGFnJywgKCkgPT4ge1xuICAgIGV4cGVjdChjaGVja1NwZWNpYWxVc2Uoe1xuICAgICAgZmxhZ3M6IFsndGVzdCcsICdcXFxcQWxsJ11cbiAgICB9KSkudG8uZXF1YWwoJ1xcXFxBbGwnKVxuICB9KVxuXG4gIGl0KCdzaG91bGQgZmFpbCBmb3Igbm9uLWV4aXN0ZW50IGZsYWcnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNoZWNrU3BlY2lhbFVzZSh7fSkpLnRvLmJlLmZhbHNlXG4gIH0pXG5cbiAgaXQoJ3Nob3VsZCBmYWlsIGZvciBpbnZhbGlkIGZsYWcnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNoZWNrU3BlY2lhbFVzZSh7XG4gICAgICBmbGFnczogWyd0ZXN0J11cbiAgICB9KSkudG8uYmUuZmFsc2VcbiAgfSlcblxuICBpdCgnc2hvdWxkIHJldHVybiBzcGVjaWFsIHVzZSBmbGFnIGlmIGEgbWF0Y2hpbmcgbmFtZSBpcyBmb3VuZCcsICgpID0+IHtcbiAgICBleHBlY3QoY2hlY2tTcGVjaWFsVXNlKHtcbiAgICAgIG5hbWU6ICd0ZXN0J1xuICAgIH0pKS50by5iZS5mYWxzZVxuICAgIGV4cGVjdChjaGVja1NwZWNpYWxVc2Uoe1xuICAgICAgbmFtZTogJ1ByYWh0J1xuICAgIH0pKS50by5lcXVhbCgnXFxcXFRyYXNoJylcbiAgICBleHBlY3QoY2hlY2tTcGVjaWFsVXNlKHtcbiAgICAgIGZsYWdzOiBbJ1xcSGFzQ2hpbGRyZW4nXSwgLy8gbm90IGEgc3BlY2lhbCB1c2UgZmxhZ1xuICAgICAgbmFtZTogJ1ByYWh0J1xuICAgIH0pKS50by5lcXVhbCgnXFxcXFRyYXNoJylcbiAgfSlcblxuICBpdCgnc2hvdWxkIHByZWZlciBtYXRjaGluZyBzcGVjaWFsIHVzZSBmbGFnIG92ZXIgYSBtYXRjaGluZyBuYW1lJywgKCkgPT4ge1xuICAgIGV4cGVjdChjaGVja1NwZWNpYWxVc2Uoe1xuICAgICAgZmxhZ3M6IFsnXFxcXEFsbCddLFxuICAgICAgbmFtZTogJ1ByYWh0J1xuICAgIH0pKS50by5lcXVhbCgnXFxcXEFsbCcpXG4gIH0pXG59KVxuIl19
;