All files / src/abap/types message.ts

94.73% Statements 36/38
90% Branches 9/10
100% Functions 5/5
94.73% Lines 36/38

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 381x 1x 1x 1x 1x 1x 1x 46x 46x 2x 2x 46x 46x     46x 46x 1x 1x 46x 1x 1x 9x 9x 1x 1x 61x 61x 1x 1x 72x 72x 1x 1x 21x 21x 21x 1x
export class Message {
  private readonly number: string;
  // the actual text,
  private readonly message: string;
  private readonly className: string;
 
  public constructor(number: string, message: string, className: string) {
    this.number = number;
    if (this.number === undefined) {
      this.number = "";
    }
    this.message = message;
    if (this.message === undefined) {
      this.message = "";
    }
    this.className = className;
    if (this.className === undefined) {
      this.className = "";
    }
  }
 
  public getMessageClass(): string {
    return this.className;
  }
 
  public getNumber(): string {
    return this.number;
  }
 
  public getMessage(): string {
    return this.message;
  }
 
  public getPlaceholderCount(): number {
    const escaped = (this.getMessage().match(/&&/g) || []).length;
    return (this.getMessage().match(/&/g) || []).length - escaped * 2;
  }
}