it('should unsubscribe from the previous "swap" observable when unsubscribed from', () => {
        const obs = new ObservableWithSubscriptionSpies();
        swapViewsSpy.and.returnValue(obs);

        const renderObservable = docViewer.render({contents: 'Hello, world!', id: 'foo'});
        const subscription = renderObservable.subscribe();

        expect(obs.subscribeSpy).toHaveBeenCalledTimes(1);
        expect(obs.unsubscribeSpies[0]).not.toHaveBeenCalled();

        subscription.unsubscribe();

        expect(obs.subscribeSpy).toHaveBeenCalledTimes(1);
        expect(obs.unsubscribeSpies[0]).toHaveBeenCalledTimes(1);
      });
 const doRender = (contents: string | null, id = 'foo') =>
   docViewer.render({contents, id}).toPromise();
 it('should return an `Observable`', () => {
   expect(docViewer.render({contents: '', id: ''})).toEqual(jasmine.any(Observable));
 });
 new Promise<void>((resolve, reject) =>
   docViewer.render({contents, id}).subscribe(resolve, reject));