diff --git a/dev/Sieve/Commands/Controls.js b/dev/Sieve/Commands/Controls.js index 05f61f3a2..20144d457 100644 --- a/dev/Sieve/Commands/Controls.js +++ b/dev/Sieve/Commands/Controls.js @@ -18,9 +18,9 @@ import { */ export class ConditionalCommand extends ControlCommand { - constructor() + constructor(identifier) { - super(); + super(identifier); this.test = null; } diff --git a/dev/Sieve/Extensions/rfc5232.js b/dev/Sieve/Extensions/rfc5232.js index 0206dba06..002ad0b7a 100644 --- a/dev/Sieve/Extensions/rfc5232.js +++ b/dev/Sieve/Extensions/rfc5232.js @@ -23,7 +23,8 @@ class FlagCommand extends ActionCommand toString() { - return this.identifier + ' ' + this._variablename + ' ' + this.list_of_flags + ';'; + let name = this._variablename; + return this.identifier + (name.length ? ' ' + this.variablename : '') + ' ' + this.list_of_flags + ';'; } get variablename() diff --git a/dev/Sieve/Grammar.js b/dev/Sieve/Grammar.js index e776ef081..95a142c11 100644 --- a/dev/Sieve/Grammar.js +++ b/dev/Sieve/Grammar.js @@ -196,7 +196,7 @@ export class GrammarTestList extends Array // return '(\r\n\t' + arrayToString(this, ',\r\n\t') + '\r\n)'; return '(' + this.join(', ') + ')'; } - return this.length ? this[0] : ''; + return this.length ? this[0].toString() : ''; } push(value) @@ -254,7 +254,7 @@ export class GrammarStringList extends Array if (1 < this.length) { return '[' + this.join(',') + ']'; } - return this.length ? this[0] : ''; + return this.length ? this[0].toString() : ''; } push(value)