@@ -149,13 +149,35 @@ describe('Database Tests', () => {
149149 expect ( db2 . ref ( ) . toString ( ) ) . to . equal ( 'https://foo2.bar.com/' ) ;
150150 } ) ;
151151
152+ it ( 'Different instances for different URLs (with FIREBASE_DATABASE_EMULATOR_HOST)' , ( ) => {
153+ process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] = 'localhost:9000' ;
154+ const db1 = defaultApp . database ( 'http://foo1.bar.com' ) ;
155+ const db2 = defaultApp . database ( 'http://foo2.bar.com' ) ;
156+ expect ( db1 . repo_ . repoInfo_ . toURLString ( ) ) . to . equal (
157+ 'http://localhost:9000/?ns=foo1'
158+ ) ;
159+ expect ( db2 . repo_ . repoInfo_ . toURLString ( ) ) . to . equal (
160+ 'http://localhost:9000/?ns=foo2'
161+ ) ;
162+ delete process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] ;
163+ } ) ;
164+
152165 it ( 'Cannot use same URL twice' , ( ) => {
153166 defaultApp . database ( 'http://foo.bar.com' ) ;
154167 expect ( ( ) => {
155168 defaultApp . database ( 'http://foo.bar.com/' ) ;
156169 } ) . to . throw ( / D a t a b a s e i n i t i a l i z e d m u l t i p l e t i m e s / i) ;
157170 } ) ;
158171
172+ it ( 'Cannot use same URL twice (with FIREBASE_DATABASE_EMULATOR_HOST)' , ( ) => {
173+ process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] = 'localhost:9000' ;
174+ defaultApp . database ( 'http://foo.bar.com' ) ;
175+ expect ( ( ) => {
176+ defaultApp . database ( 'http://foo.bar.com/' ) ;
177+ } ) . to . throw ( / D a t a b a s e i n i t i a l i z e d m u l t i p l e t i m e s / i) ;
178+ delete process . env [ 'FIREBASE_DATABASE_EMULATOR_HOST' ] ;
179+ } ) ;
180+
159181 it ( 'Databases with legacy domain' , ( ) => {
160182 expect ( ( ) => {
161183 defaultApp . database ( 'http://foo.firebase.com/' ) ;
0 commit comments