All files / src/abap/types message.ts

89.47% Statements 34/38
80% Branches 8/10
100% Functions 5/5
89.47% Lines 34/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 38x 38x 1x 1x 38x 38x     38x 38x     38x 1x 1x 9x 9x 1x 1x 51x 51x 1x 1x 61x 61x 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;
  }
}