@@ -19,7 +19,7 @@ import { expect } from 'chai';
1919import { stub } from 'sinon' ;
2020import '../test/setup' ;
2121import { createTestComponent , TestService } from '../test/util' ;
22- import { initializeApp , getApps , deleteApp } from './api' ;
22+ import { initializeApp , initializeServerApp , getApps , deleteApp } from './api' ;
2323import { FirebaseAppImpl } from './firebaseApp' ;
2424import {
2525 _addComponent ,
@@ -28,9 +28,11 @@ import {
2828 _components ,
2929 _clearComponents ,
3030 _getProvider ,
31- _removeServiceInstance
31+ _removeServiceInstance ,
32+ _isFirebaseServerApp
3233} from './internal' ;
3334import { logger } from './logger' ;
35+ import { isBrowser } from '@firebase/util' ;
3436
3537declare module '@firebase/component' {
3638 interface NameServiceMapping {
@@ -161,4 +163,25 @@ describe('Internal API tests', () => {
161163 expect ( instance1 ) . to . not . equal ( instance2 ) ;
162164 } ) ;
163165 } ) ;
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+ } ) ;
164187} ) ;
0 commit comments