當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript database-types.Reference類代碼示例

本文整理匯總了TypeScript中@firebase/database-types.Reference的典型用法代碼示例。如果您正苦於以下問題:TypeScript Reference類的具體用法?TypeScript Reference怎麽用?TypeScript Reference使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Reference類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: describe

describe('FirebaseObjectObservable', () => {

  let O: FirebaseObjectObservable<any>;
  let ref: Reference;
  let app: FBApp;
  let db: AngularFireDatabase;

  beforeEach(() => {
    TestBed.configureTestingModule({
      imports: [
        AngularFireModule.initializeApp(COMMON_CONFIG),
        AngularFireDatabaseModule
      ]
    });
    inject([FirebaseApp, AngularFireDatabase], (_app: FBApp, _db: AngularFireDatabase) => {
      app = _app;
      db = _db;
      ref = app.database().ref();
      O = new FirebaseObjectObservable((observer: Observer<any>) => {
      }, ref);
    })();
  });

  afterEach(done => {
    ref.off();
    ref.remove();
    app.delete().then(done, done.fail);
  });

  it('should return an instance of FirebaseObservable when calling operators', () => {
    let O = new FirebaseObjectObservable((observer: Observer<any>) => { });
    expect(map.call(O, noop) instanceof FirebaseObjectObservable).toBe(true);
  });

  describe('$ref', () => {
    it('should match the database path passed in the constructor', () => {
      expect(O.$ref!.toString()).toEqual(ref.toString());
    });
  });

  describe('set', () => {

    it('should call set on the underlying ref', (done: any) => {
      let setSpy = spyOn(ref, 'set');

      O.subscribe();
      O.set(1);
      expect(setSpy).toHaveBeenCalledWith(1);
      done();
    });

    it('should throw an exception if set when not subscribed', () => {
      O = new FirebaseObjectObservable((observer: Observer<any>) => { });

      expect(() => {
        O.set('foo');
      }).toThrowError('No ref specified for this Observable!')
    });

    it('should accept any type of value without compilation error', () => {
      O.set('foo');
    });


    it('should resolve returned thenable when successful', (done: any) => {
      O.set('foo').then(done, done.fail);
    });

  });

  describe('update', () => {
    const updateObject = { hot: 'firebae' };
    it('should call update on the underlying ref', () => {
      let updateSpy = spyOn(ref, 'update');

      O.subscribe();
      O.update(updateObject);
      expect(updateSpy).toHaveBeenCalledWith(updateObject);
    });

    it('should throw an exception if updated when not subscribed', () => {
      O = new FirebaseObjectObservable((observer: Observer<any>) => { });

      expect(() => {
        O.update(updateObject);
      }).toThrowError('No ref specified for this Observable!')
    });

    it('should accept any type of value without compilation error', () => {
      O.update(updateObject);
    });

    it('should resolve returned thenable when successful', (done: any) => {
      O.update(updateObject).then(done, done.fail);
    });

  });

  describe('remove', () => {

//.........這裏部分代碼省略.........
開發者ID:acipher,項目名稱:angularfire2,代碼行數:101,代碼來源:firebase_object_observable.spec.ts

示例2: describe

describe('angularfire', () => {
  let subscription:Subscription;
  let app: FirebaseApp;
  let rootRef: Reference;
  let questionsRef: Reference;
  let listOfQuestionsRef: Reference;
  let defaultPlatform: PlatformRef;

  const APP_NAME = 'super-awesome-test-firebase-app-name';

  beforeEach(() => {

    TestBed.configureTestingModule({
      imports: [AngularFireModule.initializeApp(COMMON_CONFIG, APP_NAME)]
    });

    inject([FirebaseApp, PlatformRef], (_app: FirebaseApp, _platform: PlatformRef) => {
      app = _app;
      rootRef = app.database!().ref();
      questionsRef = rootRef.child('questions');
      listOfQuestionsRef = rootRef.child('list-of-questions');
      defaultPlatform = _platform;
    })();

  });

  afterEach((done) => {
    rootRef.remove()
    if(subscription && !subscription.closed) {
      subscription.unsubscribe();
    }
    app.delete().then(done, done.fail);
  });

  describe('FirebaseApp', () => {
    it('should provide a FirebaseApp for the FirebaseApp binding', () => {
      expect(typeof app.delete).toBe('function');
    });
    it('should have the provided name', () => {
      expect(app.name).toBe(APP_NAME);
    })
    it('should use an already intialized firebase app if it exists', done => {
      @NgModule({
        imports: [
          AngularFireModule.initializeApp(COMMON_CONFIG, APP_NAME),
          BrowserModule
        ]})
      class MyModule {
        ngDoBootstrap() {}
      }

      const compilerFactory: CompilerFactory =
          defaultPlatform.injector.get(CompilerFactory, null);
      const moduleFactory = compilerFactory.createCompiler().compileModuleSync(MyModule);

      defaultPlatform.bootstrapModuleFactory(moduleFactory)
        .then(moduleRef => {
          const ref = moduleRef.injector.get(FirebaseApp);
          expect(ref.name).toEqual(app.name);
        }).then(done, e => {
          fail(e);
          done()
        });
    })
  });
});
開發者ID:acipher,項目名稱:angularfire2,代碼行數:66,代碼來源:angularfire2.spec.ts

示例3: inject

 inject([FirebaseApp, PlatformRef], (_app: FirebaseApp, _platform: PlatformRef) => {
   app = _app;
   rootRef = app.database!().ref();
   questionsRef = rootRef.child('questions');
   listOfQuestionsRef = rootRef.child('list-of-questions');
   defaultPlatform = _platform;
 })();
開發者ID:acipher,項目名稱:angularfire2,代碼行數:7,代碼來源:angularfire2.spec.ts

示例4: afterEach

 afterEach((done) => {
   rootRef.remove()
   if(subscription && !subscription.closed) {
     subscription.unsubscribe();
   }
   app.delete().then(done, done.fail);
 });
開發者ID:acipher,項目名稱:angularfire2,代碼行數:7,代碼來源:angularfire2.spec.ts

示例5: it

 it('should match the database path passed in the constructor', () => {
   expect(O.$ref!.toString()).toEqual(ref.toString());
 });
開發者ID:acipher,項目名稱:angularfire2,代碼行數:3,代碼來源:firebase_object_observable.spec.ts

示例6: afterEach

 afterEach(done => {
   ref.off();
   ref.remove();
   app.delete().then(done, done.fail);
 });
開發者ID:acipher,項目名稱:angularfire2,代碼行數:5,代碼來源:firebase_object_observable.spec.ts

示例7: Error

 remove(): Promise<void> {
   if(!this.$ref) {
     throw new Error('No ref specified for this Observable!');
   }
   return this.$ref.remove();
 }
開發者ID:acipher,項目名稱:angularfire2,代碼行數:6,代碼來源:firebase_object_observable.ts


注:本文中的@firebase/database-types.Reference類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。