@@ -15,10 +15,10 @@ import {MockTemplateResolver} from 'angular2/src/mock/template_resolver_mock';
1515import { Injector } from 'angular2/di' ;
1616
1717import { Component , Decorator , Template } from 'angular2/core' ;
18- import { ControlGroupDirective , ControlNameDirective ,
19- ControlDirective , NewControlGroupDirective ,
20- Control , ControlGroup , ControlValueAccessor ,
21- RequiredValidatorDirective } from 'angular2/forms' ;
18+ import { ControlGroupDirective , ControlDirective , Control , ControlGroup ,
19+ ControlValueAccessor , RequiredValidatorDirective } from 'angular2/forms' ;
20+
21+ import * as validators from 'angular2/src/ forms/validators ' ;
2222
2323export function main ( ) {
2424 function detectChanges ( view ) {
@@ -42,8 +42,7 @@ export function main() {
4242
4343 tplResolver . setTemplate ( componentType , new Template ( {
4444 inline : template ,
45- directives : [ ControlGroupDirective , ControlNameDirective , ControlDirective ,
46- NewControlGroupDirective , WrappedValue ]
45+ directives : [ ControlGroupDirective , ControlDirective , WrappedValue ]
4746 } ) ) ;
4847
4948 compiler . compile ( componentType ) . then ( ( pv ) => {
@@ -61,7 +60,7 @@ export function main() {
6160 } ) ) ;
6261
6362 var t = `<div [control-group]="form">
64- <input type="text" control-name ="login">
63+ <input type="text" control="login">
6564 </div>` ;
6665
6766 compile ( MyComp , t , ctx , ( view ) => {
@@ -78,7 +77,7 @@ export function main() {
7877 var ctx = new MyComp ( form ) ;
7978
8079 var t = `<div [control-group]="form">
81- <input type="text" control-name ="login">
80+ <input type="text" control="login">
8281 </div>` ;
8382
8483 compile ( MyComp , t , ctx , ( view ) => {
@@ -99,7 +98,7 @@ export function main() {
9998 var ctx = new MyComp ( form ) ;
10099
101100 var t = `<div [control-group]="form">
102- <input type="text" control-name ="login">
101+ <input type="text" control="login">
103102 </div>` ;
104103
105104 compile ( MyComp , t , ctx , ( view ) => {
@@ -121,7 +120,7 @@ export function main() {
121120 } ) , "one" ) ;
122121
123122 var t = `<div [control-group]="form">
124- <input type="text" [control-name ]="name">
123+ <input type="text" [control]="name">
125124 </div>` ;
126125
127126 compile ( MyComp , t , ctx , ( view ) => {
@@ -141,7 +140,7 @@ export function main() {
141140 var ctx = new MyComp ( new ControlGroup ( { "checkbox" : new Control ( true ) } ) ) ;
142141
143142 var t = `<div [control-group]="form">
144- <input type="checkbox" control-name ="checkbox">
143+ <input type="checkbox" control="checkbox">
145144 </div>` ;
146145
147146 compile ( MyComp , t , ctx , ( view ) => {
@@ -160,7 +159,7 @@ export function main() {
160159 var ctx = new MyComp ( new ControlGroup ( { "name" : new Control ( "aa" ) } ) ) ;
161160
162161 var t = `<div [control-group]="form">
163- <input type="text" control-name ="name" wrapped-value>
162+ <input type="text" control="name" wrapped-value>
164163 </div>` ;
165164
166165 compile ( MyComp , t , ctx , ( view ) => {
@@ -176,48 +175,37 @@ export function main() {
176175 } ) ;
177176 } ) ;
178177
179- describe ( "declarative forms" , ( ) => {
180- it ( "should initialize dom elements" , ( done ) => {
181- var t = `<div [new-control-group]="{'login': 'loginValue', 'password':'passValue'}">
182- <input type="text" id="login" control="login">
183- <input type="password" id="password" control="password">
184- </div>` ;
185-
186- compile ( MyComp , t , new MyComp ( ) , ( view ) => {
187- var loginInput = queryView ( view , "#login" )
188- expect ( loginInput . value ) . toEqual ( "loginValue" ) ;
178+ describe ( "validations" , ( ) => {
179+ it ( "should use validators defined in html" , ( done ) => {
180+ var form = new ControlGroup ( { "login" : new Control ( "aa" ) } ) ;
181+ var ctx = new MyComp ( form ) ;
189182
190- var passInput = queryView ( view , "#password" )
191- expect ( passInput . value ) . toEqual ( "passValue" ) ;
192-
193- done ( ) ;
194- } ) ;
195- } ) ;
183+ var t = `<div [control-group]="form">
184+ <input type="text" control="login" required>
185+ </div>` ;
196186
197- it ( "should update the control group values on DOM change" , ( done ) => {
198- var t = `<div #form [new-control-group]="{'login': 'loginValue'}">
199- <input type="text" control="login">
200- </div>` ;
187+ compile ( MyComp , t , ctx , ( view ) => {
188+ expect ( form . valid ) . toEqual ( true ) ;
201189
202- compile ( MyComp , t , new MyComp ( ) , ( view ) => {
203- var input = queryView ( view , "input" )
190+ var input = queryView ( view , "input" ) ;
204191
205- input . value = "updatedValue " ;
192+ input . value = "" ;
206193 dispatchEvent ( input , "change" ) ;
207194
208- var form = view . contextWithLocals . get ( "form" ) ;
209- expect ( form . value ) . toEqual ( { 'login' : 'updatedValue' } ) ;
195+ expect ( form . valid ) . toEqual ( false ) ;
210196 done ( ) ;
211197 } ) ;
212198 } ) ;
213199
214- it ( "should support validators" , ( done ) => {
215- var t = `<div #form [new-control-group]="{'login': 'loginValue'}">
216- <input type="text" control="login" required>
217- </div>` ;
200+ it ( "should use validators defined in the model" , ( done ) => {
201+ var form = new ControlGroup ( { "login" : new Control ( "aa" , validators . required ) } ) ;
202+ var ctx = new MyComp ( form ) ;
203+
204+ var t = `<div [control-group]="form">
205+ <input type="text" control="login">
206+ </div>` ;
218207
219- compile ( MyComp , t , new MyComp ( ) , ( view ) => {
220- var form = view . contextWithLocals . get ( "form" ) ;
208+ compile ( MyComp , t , ctx , ( view ) => {
221209 expect ( form . valid ) . toEqual ( true ) ;
222210
223211 var input = queryView ( view , "input" ) ;
@@ -236,12 +224,6 @@ export function main() {
236224@Component ( {
237225 selector : "my-comp"
238226} )
239- @Template ( {
240- inline : "" ,
241- directives : [ ControlGroupDirective , ControlNameDirective ,
242- ControlDirective , NewControlGroupDirective , RequiredValidatorDirective ,
243- WrappedValue ]
244- } )
245227class MyComp {
246228 form :ControlGroup ;
247229 name :string ;
@@ -266,7 +248,7 @@ class WrappedValueAccessor extends ControlValueAccessor {
266248 selector :'[wrapped-value]'
267249} )
268250class WrappedValue {
269- constructor ( cd :ControlNameDirective ) {
251+ constructor ( cd :ControlDirective ) {
270252 cd . valueAccessor = new WrappedValueAccessor ( ) ;
271253 }
272254}
0 commit comments