@@ -17,13 +17,18 @@ import {EventEmitter, ObservableWrapper} from 'angular2/src/facade/async';
1717import  { 
1818  BaseRequestOptions , 
1919  ConnectionBackend , 
20-   Http , 
2120  Request , 
2221  RequestMethods , 
2322  RequestOptions , 
2423  Response , 
2524  ResponseOptions , 
26-   URLSearchParams 
25+   URLSearchParams , 
26+   JSONP_BINDINGS , 
27+   HTTP_BINDINGS , 
28+   XHRBackend , 
29+   JSONPBackend , 
30+   Http , 
31+   Jsonp 
2732}  from  'http/http' ; 
2833
2934class  SpyObserver  extends  SpyObject  { 
@@ -39,6 +44,59 @@ class SpyObserver extends SpyObject {
3944} 
4045
4146export  function  main ( )  { 
47+   describe ( 'injectables' ,  ( )  =>  { 
48+     var  url  =  'http://foo.bar' ; 
49+     var  http : Http ; 
50+     var  parentInjector : Injector ; 
51+     var  childInjector : Injector ; 
52+     var  jsonpBackend : MockBackend ; 
53+     var  xhrBackend : MockBackend ; 
54+     var  jsonp : Jsonp ; 
55+     var  http : Http ; 
56+ 
57+     it ( 'should allow using jsonpInjectables and httpInjectables in same injector' , 
58+        inject ( [ AsyncTestCompleter ] ,  ( async )  =>  { 
59+          parentInjector  =  Injector . resolveAndCreate ( 
60+              [ bind ( XHRBackend ) . toClass ( MockBackend ) ,  bind ( JSONPBackend ) . toClass ( MockBackend ) ] ) ; 
61+ 
62+          childInjector  =  parentInjector . resolveAndCreateChild ( [ 
63+            HTTP_BINDINGS , 
64+            JSONP_BINDINGS , 
65+            bind ( XHRBackend ) . toClass ( MockBackend ) , 
66+            bind ( JSONPBackend ) . toClass ( MockBackend ) 
67+          ] ) ; 
68+ 
69+          http  =  childInjector . get ( Http ) ; 
70+          jsonp  =  childInjector . get ( Jsonp ) ; 
71+          jsonpBackend  =  childInjector . get ( JSONPBackend ) ; 
72+          xhrBackend  =  childInjector . get ( XHRBackend ) ; 
73+ 
74+          var  xhrCreatedConnections  =  0 ; 
75+          var  jsonpCreatedConnections  =  0 ; 
76+ 
77+ 
78+          ObservableWrapper . subscribe ( xhrBackend . connections ,  ( )  =>  { 
79+            xhrCreatedConnections ++ ; 
80+            expect ( xhrCreatedConnections ) . toEqual ( 1 ) ; 
81+            if  ( jsonpCreatedConnections )  { 
82+              async . done ( ) ; 
83+            } 
84+          } ) ; 
85+ 
86+          ObservableWrapper . subscribe ( http . get ( url ) ,  ( )  =>  { } ) ; 
87+ 
88+          ObservableWrapper . subscribe ( jsonpBackend . connections ,  ( )  =>  { 
89+            jsonpCreatedConnections ++ ; 
90+            expect ( jsonpCreatedConnections ) . toEqual ( 1 ) ; 
91+            if  ( xhrCreatedConnections )  { 
92+              async . done ( ) ; 
93+            } 
94+          } ) ; 
95+ 
96+          ObservableWrapper . subscribe ( jsonp . request ( url ) ,  ( )  =>  { } ) ; 
97+        } ) ) ; 
98+   } ) ; 
99+ 
42100  describe ( 'http' ,  ( )  =>  { 
43101    var  url  =  'http://foo.bar' ; 
44102    var  http : Http ; 
0 commit comments