当前位置: 首页>>代码示例>>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;未经允许,请勿转载。