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 37x 37x 1x 1x 37x 37x     37x 37x     37x 1x 1x 8x 8x 1x 1x 48x 48x 1x 1x 50x 50x 1x 1x 20x 20x 20x 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;
  }
}