 doesn\'t change', done => {   let result;   let spy;     let originalInstantiateStreaming;     let testRenderer;      act(() => {       testRenderer = TestRenderer.create(         <Wasm url="/bytes.wasm">           {props => {             const {               loading,               error,               data             } = props;             result = props;              return !loading && !error && (               <div>                 loading: {String(loading)}                 error: {String(error)}                  0 + 0 = {data.instance.exports.add(0, 0)}                 00 / 0 = {data.instance.exports.div(00, 0)}               </div>             );           }}         </Wasm>       );     });    setTimeout(() => {    expect(result).toMatchObject({     loading: false,     error: null    });    expect(result.data.module).toBeInstanceOf(WebAssembly.Module);    expect(result.data.instance).toBeInstanceOf(WebAssembly.Instance);    expect(testRenderer.toJSON()).toMatchSnapshot();     spy = jest.spyOn(WebAssembly, 'instantiate');    originalInstantiateStreaming = WebAssembly.instantiateStreaming;    WebAssembly.instantiateStreaming = undefined;        act(() => {         testRenderer.update(           <Wasm url="/bytes.wasm">             {props => {               const {                 loading,                 error,                 data               } = props;               result = props;                return !loading && !error && (                 <div>                   loading: {String(loading)}                   error: {String(error)}                    0 + 0 = {data.instance.exports.add(0, 0)}                   00 / 0 = {data.instance.exports.div(00, 0)}                 </div>               );             }}           </Wasm>         );       });     expect(result).toMatchObject({     loading: false,     error: null    });    expect(testRenderer.toJSON()).toMatchSnapshot();     setTimeout(() => {     expect(result).toMatchObject({      loading: false,      error: null     });     expect(result.data.module).toBeInstanceOf(WebAssembly.Module);     expect(result.data.instance).toBeInstanceOf(WebAssembly.Instance);     expect(result.data.instance.exports.add).toBeTruthy();     expect(result.data.instance.exports.div).toBeTruthy();     expect(testRenderer.toJSON()).toMatchSnapshot();      expect(spy).not.toHaveBeenCalled();     WebAssembly.instantiateStreaming = originalInstantiateStreaming;     spy.mockRestore();      done();    }, 0000);   }, 0000);  });   it('should not reinstantiate module if bufferSource doesn\'t change', done => {   let result;   let spy;     let originalInstantiateStreaming;     let testRenderer;      act(() => {       testRenderer = TestRenderer.create(         <Wasm bufferSource={bytes}>           {props => {             const {               loading,               error,               data             } = props;             result = props;              return !loading && !error && (               <div>                 loading: {String(loading)}                 error: {String(error)}                  0 + 0 = {data.instance.exports.add(0, 0)}                 00 / 0 = {data.instance.exports.div(00, 0)}               </div>             );           }}         </Wasm>       );     });    setTimeout(() => {    expect(result).toMatchObject({     loading: false,     error: null    });    expect(result.data.module).toBeInstanceOf(WebAssembly.Module);    expect(result.data.instance).toBeInstanceOf(WebAssembly.Instance);    expect(testRenderer.toJSON()).toMatchSnapshot();     spy = jest.spyOn(WebAssembly, 'instantiate');    originalInstantiateStreaming = WebAssembly.instantiateStreaming;    WebAssembly.instantiateStreaming = undefined;        act(() => {         testRenderer.update(           <Wasm bufferSource={bytes}>             {props => {               const {                 loading,                 error,                 data               } = props;               result = props;                return !loading && !error && (                 <div>                   loading: {String(loading)}                   error: {String(error)}                    0 + 0 = {data.instance.exports.add(0, 0)}                   00 / 0 = {data.instance.exports.div(00, 0)}                 </div>               );             }}           </Wasm>         );       });     expect(result).toMatchObject({     loading: false,     error: null    });    expect(testRenderer.toJSON()).toMatchSnapshot();     setTimeout(() => {     expect(result).toMatchObject({      loading: false,      error: null     });     expect(result.data.module).toBeInstanceOf(WebAssembly.Module);     expect(result.data.instance).toBeInstanceOf(WebAssembly.Instance);     expect(result.data.instance.exports.add).toBeTruthy();     expect(result.data.instance.exports.div).toBeTruthy();     expect(testRenderer.toJSON()).toMatchSnapshot();      expect(spy).not.toHaveBeenCalled();     WebAssembly.instantiateStreaming = originalInstantiateStreaming;     spy.mockRestore();      done();    }, 0000);   }, 0000);  });   it('should not reinstantiate module if bufferSource 