@@ -10,6 +10,7 @@ import {map} from 'rxjs/operators/map';
10
10
import {
11
11
getTableDuplicateColumnNameError ,
12
12
getTableMissingMatchingRowDefError ,
13
+ getTableMissingRowDefsError ,
13
14
getTableMultipleDefaultRowDefsError ,
14
15
getTableUnknownColumnError
15
16
} from './table-errors' ;
@@ -39,6 +40,7 @@ describe('CdkTable', () => {
39
40
WhenRowCdkTableApp ,
40
41
WhenRowWithoutDefaultCdkTableApp ,
41
42
WhenRowMultipleDefaultsCdkTableApp ,
43
+ MissingRowDefsCdkTableApp ,
42
44
BooleanRowCdkTableApp
43
45
] ,
44
46
} ) . compileComponents ( ) ;
@@ -158,6 +160,11 @@ describe('CdkTable', () => {
158
160
. toThrowError ( getTableUnknownColumnError ( 'column_a' ) . message ) ;
159
161
} ) ;
160
162
163
+ it ( 'should throw an error if the row definitions are missing' , ( ) => {
164
+ expect ( ( ) => TestBed . createComponent ( MissingRowDefsCdkTableApp ) . detectChanges ( ) )
165
+ . toThrowError ( getTableMissingRowDefsError ( ) . message ) ;
166
+ } ) ;
167
+
161
168
it ( 'should not throw an error if columns are undefined on initialization' , ( ) => {
162
169
const undefinedColumnsFixture = TestBed . createComponent ( UndefinedColumnsCdkTableApp ) ;
163
170
undefinedColumnsFixture . detectChanges ( ) ;
@@ -998,6 +1005,20 @@ class MissingColumnDefCdkTableApp {
998
1005
dataSource : FakeDataSource = new FakeDataSource ( ) ;
999
1006
}
1000
1007
1008
+ @Component ( {
1009
+ template : `
1010
+ <cdk-table [dataSource]="dataSource">
1011
+ <ng-container cdkColumnDef="column_a">
1012
+ <cdk-header-cell *cdkHeaderCellDef> Column A</cdk-header-cell>
1013
+ <cdk-cell *cdkCellDef="let row"> {{row.a}}</cdk-cell>
1014
+ </ng-container>
1015
+ </cdk-table>
1016
+ `
1017
+ } )
1018
+ class MissingRowDefsCdkTableApp {
1019
+ dataSource : FakeDataSource = new FakeDataSource ( ) ;
1020
+ }
1021
+
1001
1022
@Component ( {
1002
1023
template : `
1003
1024
<cdk-table [dataSource]="dataSource">
0 commit comments