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


TypeScript update.SwUpdate類代碼示例

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


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

示例1: async_it

    async_it('detects an actual update', async() => {
      const update = new SwUpdate(comm);
      scope.updateServerState(serverUpdate);

      const gotUpdateNotice =
          (async() => { const notice = await obsToSinglePromise(update.available); })();

      await update.checkForUpdate();
      await gotUpdateNotice;
    });
開發者ID:zackarychapple,項目名稱:angular,代碼行數:10,代碼來源:integration_spec.ts

示例2: describe

 describe('SwUpdate', () => {
   let update: SwUpdate;
   beforeEach(() => {
     update = new SwUpdate(comm);
     mock.setupSw();
   });
   it('processes update availability notifications when sent', done => {
     update.available.subscribe(event => {
       expect(event.current).toEqual({hash: 'A'});
       expect(event.available).toEqual({hash: 'B'});
       expect(event.type).toEqual('UPDATE_AVAILABLE');
       done();
     });
     mock.sendMessage({
       type: 'UPDATE_AVAILABLE',
       current: {
         hash: 'A',
       },
       available: {
         hash: 'B',
       },
     });
   });
   it('processes update activation notifications when sent', done => {
     update.activated.subscribe(event => {
       expect(event.previous).toEqual({hash: 'A'});
       expect(event.current).toEqual({hash: 'B'});
       expect(event.type).toEqual('UPDATE_ACTIVATED');
       done();
     });
     mock.sendMessage({
       type: 'UPDATE_ACTIVATED',
       previous: {
         hash: 'A',
       },
       current: {
         hash: 'B',
       },
     });
   });
   it('activates updates when requested', done => {
     mock.messages.subscribe((msg: {action: string, statusNonce: number}) => {
       expect(msg.action).toEqual('ACTIVATE_UPDATE');
       mock.sendMessage({
         type: 'STATUS',
         nonce: msg.statusNonce,
         status: true,
       });
     });
     return update.activateUpdate().then(() => done()).catch(err => done.fail(err));
   });
   it('reports activation failure when requested', done => {
     mock.messages.subscribe((msg: {action: string, statusNonce: number}) => {
       expect(msg.action).toEqual('ACTIVATE_UPDATE');
       mock.sendMessage({
         type: 'STATUS',
         nonce: msg.statusNonce,
         status: false,
         error: 'Failed to activate',
       });
     });
     return update.activateUpdate()
         .catch(err => { expect(err.message).toEqual('Failed to activate'); })
         .then(() => done())
         .catch(err => done.fail(err));
   });
   it('is injectable', () => {
     TestBed.configureTestingModule({
       providers: [
         SwUpdate,
         {provide: NgswCommChannel, useValue: comm},
       ]
     });
     expect(() => TestBed.get(SwUpdate)).not.toThrow();
   });
   describe('with no SW', () => {
     beforeEach(() => { comm = new NgswCommChannel(undefined); });
     it('can be instantiated', () => { update = new SwUpdate(comm); });
     it('does not crash on subscription to observables', () => {
       update = new SwUpdate(comm);
       update.available.toPromise().catch(err => fail(err));
       update.activated.toPromise().catch(err => fail(err));
     });
     it('gives an error when checking for updates', done => {
       update = new SwUpdate(comm);
       update.checkForUpdate().catch(err => { done(); });
     });
     it('gives an error when activating updates', done => {
       update = new SwUpdate(comm);
       update.activateUpdate().catch(err => { done(); });
     });
   });
 });
開發者ID:Cammisuli,項目名稱:angular,代碼行數:93,代碼來源:comm_spec.ts

示例3: it

 it('activates updates when requested', done => {
   mock.messages.subscribe((msg: {action: string, statusNonce: number}) => {
     expect(msg.action).toEqual('ACTIVATE_UPDATE');
     mock.sendMessage({
       type: 'STATUS',
       nonce: msg.statusNonce,
       status: true,
     });
   });
   return update.activateUpdate().then(() => done()).catch(err => done.fail(err));
 });
開發者ID:Cammisuli,項目名稱:angular,代碼行數:11,代碼來源:comm_spec.ts


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