@@ -6,7 +6,11 @@ import {
66 Property ,
77 Event ,
88 HostBinding ,
9- HostListener
9+ HostListener ,
10+ ContentChildren ,
11+ ContentChildrenMetadata ,
12+ ViewChildren ,
13+ ViewChildrenMetadata
1014} from 'angular2/src/core/metadata' ;
1115
1216@Directive ( { selector : 'someDirective' } )
@@ -64,6 +68,17 @@ class SomeDirectiveWithHostListeners {
6468 }
6569}
6670
71+ @Directive ( { selector : 'someDirective' , queries : { "cs" : new ContentChildren ( "c" ) } } )
72+ class SomeDirectiveWithContentChildren {
73+ @ContentChildren ( "a" ) as : any ;
74+ c ;
75+ }
76+
77+ @Directive ( { selector : 'someDirective' , queries : { "cs" : new ViewChildren ( "c" ) } } )
78+ class SomeDirectiveWithViewChildren {
79+ @ViewChildren ( "a" ) as : any ;
80+ c ;
81+ }
6782
6883class SomeDirectiveWithoutMetadata { }
6984
@@ -77,7 +92,7 @@ export function main() {
7792 var directiveMetadata = resolver . resolve ( SomeDirective ) ;
7893 expect ( directiveMetadata )
7994 . toEqual ( new DirectiveMetadata (
80- { selector : 'someDirective' , properties : [ ] , events : [ ] , host : { } } ) ) ;
95+ { selector : 'someDirective' , properties : [ ] , events : [ ] , host : { } , queries : { } } ) ) ;
8196 } ) ;
8297
8398 it ( 'should throw if not matching metadata is found' , ( ) => {
@@ -89,7 +104,7 @@ export function main() {
89104 var directiveMetadata = resolver . resolve ( SomeChildDirective ) ;
90105 expect ( directiveMetadata )
91106 . toEqual ( new DirectiveMetadata (
92- { selector : 'someChildDirective' , properties : [ ] , events : [ ] , host : { } } ) ) ;
107+ { selector : 'someChildDirective' , properties : [ ] , events : [ ] , host : { } , queries : { } } ) ) ;
93108 } ) ;
94109
95110 describe ( 'properties' , ( ) => {
@@ -128,5 +143,19 @@ export function main() {
128143 . toEqual ( { '(c)' : 'onC()' , '(a)' : 'onA()' , '(b)' : 'onB($event.value)' } ) ;
129144 } ) ;
130145 } ) ;
146+
147+ describe ( 'queries' , ( ) => {
148+ it ( 'should append ContentChildren' , ( ) => {
149+ var directiveMetadata = resolver . resolve ( SomeDirectiveWithContentChildren ) ;
150+ expect ( directiveMetadata . queries )
151+ . toEqual ( { "cs" : new ContentChildren ( "c" ) , "as" : new ContentChildren ( "a" ) } ) ;
152+ } ) ;
153+
154+ it ( 'should append ViewChildren' , ( ) => {
155+ var directiveMetadata = resolver . resolve ( SomeDirectiveWithViewChildren ) ;
156+ expect ( directiveMetadata . queries )
157+ . toEqual ( { "cs" : new ViewChildren ( "c" ) , "as" : new ViewChildren ( "a" ) } ) ;
158+ } ) ;
159+ } ) ;
131160 } ) ;
132161}
0 commit comments