@@ -55,12 +55,11 @@ describe('@ngtools/json-schema', () => {
55
55
} ) ;
56
56
57
57
expect ( proto . a instanceof Array ) . toBe ( true ) ;
58
- expect ( proto . a ) . toEqual ( [ undefined , 'v1' , undefined , 'v3' ] ) ;
58
+ expect ( proto . a ) . toEqual ( [ 'v1' , 'v3' ] ) ;
59
59
60
60
// Set it to a string, which is valid.
61
61
proto . a [ 0 ] = 'v2' ;
62
- proto . a [ 1 ] = 'INVALID' ;
63
- expect ( proto . a ) . toEqual ( [ 'v2' , undefined , undefined , 'v3' ] ) ;
62
+ expect ( proto . a ) . toEqual ( [ 'v2' , 'v3' ] ) ;
64
63
} ) ;
65
64
66
65
it ( 'supports default values' , ( ) => {
@@ -72,6 +71,23 @@ describe('@ngtools/json-schema', () => {
72
71
73
72
expect ( schema . children [ 'b' ] . get ( ) ) . toEqual ( 'default' ) ;
74
73
} ) ;
74
+
75
+
76
+ it ( 'should throw error when setting invalid value' , ( ) => {
77
+ const proto : any = Object . create ( null ) ;
78
+ // tslint:disable-next-line
79
+ new RootSchemaTreeNode ( proto , {
80
+ value : valueJson ,
81
+ schema : schemaJson
82
+ } ) ;
83
+
84
+ try {
85
+ proto . a [ 0 ] = 'INVALID' ;
86
+ } catch ( error ) {
87
+ expect ( error . message ) . toBe ( 'Invalid value can only be one of these: v1,v2,v3' ) ;
88
+ }
89
+ } ) ;
90
+
75
91
} ) ;
76
92
77
93
} ) ;
0 commit comments