@@ -19,7 +19,7 @@ import { expect } from 'chai';
19
19
import { stub } from 'sinon' ;
20
20
import '../test/setup' ;
21
21
import { createTestComponent , TestService } from '../test/util' ;
22
- import { initializeApp , getApps , deleteApp } from './api' ;
22
+ import { initializeApp , initializeServerApp , getApps , deleteApp } from './api' ;
23
23
import { FirebaseAppImpl } from './firebaseApp' ;
24
24
import {
25
25
_addComponent ,
@@ -28,9 +28,11 @@ import {
28
28
_components ,
29
29
_clearComponents ,
30
30
_getProvider ,
31
- _removeServiceInstance
31
+ _removeServiceInstance ,
32
+ _isFirebaseServerApp
32
33
} from './internal' ;
33
34
import { logger } from './logger' ;
35
+ import { isBrowser } from '@firebase/util' ;
34
36
35
37
declare module '@firebase/component' {
36
38
interface NameServiceMapping {
@@ -161,4 +163,25 @@ describe('Internal API tests', () => {
161
163
expect ( instance1 ) . to . not . equal ( instance2 ) ;
162
164
} ) ;
163
165
} ) ;
166
+
167
+ describe ( '_isFirebaseServerApp' , ( ) => {
168
+ it ( 'detects a valid FirebaseServerApp' , ( ) => {
169
+ if ( ! isBrowser ( ) ) {
170
+ // FirebaseServerApp isn't supported for execution in browser environments.
171
+ const app = initializeServerApp ( { } , { } ) ;
172
+ expect ( _isFirebaseServerApp ( app ) ) . to . be . true ;
173
+ }
174
+ } ) ;
175
+ it ( 'a standard FirebaseApp returns false' , ( ) => {
176
+ const app = initializeApp ( { } ) ;
177
+ expect ( _isFirebaseServerApp ( app ) ) . to . be . false ;
178
+ } ) ;
179
+ it ( 'a null object returns false' , ( ) => {
180
+ expect ( _isFirebaseServerApp ( null ) ) . to . be . false ;
181
+ } ) ;
182
+ it ( 'undefined returns false' , ( ) => {
183
+ let app : undefined ;
184
+ expect ( _isFirebaseServerApp ( app ) ) . to . be . false ;
185
+ } ) ;
186
+ } ) ;
164
187
} ) ;
0 commit comments