1<div class="status {{ testStatusClass }}">
2  <div class="count">
3    @if (totalTestCount == 0) {
4      No tests results found
5    } @else if (failingTestCount > 0) {
6      {{ failingTestCount }} of {{ totalTestCount }} test fail
7    } @else if (passingTestCount == totalTestCount) {
8      All tests passed
9    } @else {
10      {{ passingTestCount }} of {{ totalTestCount }} test passed
11    }
12  </div>
13  <div class="spacer"></div>
14  <mat-paginator [hidePageSize]="true" [pageSize]="5"></mat-paginator>
15</div>
16
17<div class="contents">
18  @if (totalTestCount > 0) {
19    <table mat-table [dataSource]="dataSource" [fixedLayout]="true" matSort>
20      <ng-container matColumnDef="select">
21        <th mat-header-cell *matHeaderCellDef></th>
22        <td mat-cell *matCellDef="let golden">
23          <mat-radio-button
24            (click)="$event.stopPropagation()"
25            (change)="goldenSelected($event ? golden : null)"
26            [checked]="selectedGoldenId == golden.id"
27          >
28          </mat-radio-button>
29        </td>
30      </ng-container>
31
32      <ng-container matColumnDef="golden">
33        <th mat-header-cell *matHeaderCellDef>Golden</th>
34        <td mat-cell *matCellDef="let golden">
35          {{ golden.label }}
36        </td>
37      </ng-container>
38
39      <ng-container matColumnDef="status">
40        <th mat-header-cell *matHeaderCellDef mat-sort-header>Result</th>
41        <td mat-cell *matCellDef="let golden">
42          @if (golden.updated) {
43            <span class="tag updated">UPDATED</span>
44          } @else {
45            <span class="tag {{ golden.result }}">{{ golden.result }}</span>
46          }
47        </td>
48      </ng-container>
49
50      <ng-container matColumnDef="testClassName">
51        <th mat-header-cell *matHeaderCellDef mat-sort-header>Test Class</th>
52        <td mat-cell *matCellDef="let element">{{ element.testClassName }}</td>
53      </ng-container>
54
55      <ng-container matColumnDef="testMethodName">
56        <th mat-header-cell *matHeaderCellDef mat-sort-header>Test Method</th>
57        <td mat-cell *matCellDef="let element">{{ element.testMethodName }}</td>
58      </ng-container>
59
60      <ng-container matColumnDef="testTime">
61        <th mat-header-cell *matHeaderCellDef mat-sort-header>Test Time</th>
62        <td mat-cell *matCellDef="let element">{{ element.testTime }}</td>
63      </ng-container>
64
65      <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
66      <tr
67        mat-row
68        (click)="goldenSelected(row)"
69        [class.selected]="selectedGolden == row"
70        *matRowDef="let row; columns: displayedColumns"
71      ></tr>
72
73      <tr class="mat-row" *matNoDataRow>
74        <td class="mat-cell" colspan="*"></td>
75      </tr>
76    </table>
77
78    @if (selectedGolden) {
79      <app-motion-golden [golden]="selectedGolden"></app-motion-golden>
80    }
81  }
82</div>
83