hunk.code_window:           await Promise.all([p1, p2])
           },
         })
         await advanceUntilIdle()
         // Since we call `update` twice, frames are generated!
         expect(getFrames(ctrl)).toMatchSnapshot()
  
hunk.labels: keep keep keep keep replace keep keep keep
hunk.after_edit:       await Promise.all([advanceUntilIdle(), promise])
         expect(ctrl.idle).toBeTruthy()
  
hunk.file_path: packages/core/src/Controller.test.ts
hunk.type: replace
file: import * as React from 'react';
  import { assert, test, _ } from 'spec.ts';
  import { animated, Trail } from '../..';
  import { SpringValues } from 'core';
  
  const View = animated('div');
  
  declare const items: number[];
  
  test('basic usage', () => (
    <Trail items={items} from={{ opacity: 0 }} to={{ opacity: 1, color: 'blue' }}>
      {(item) => (props) => {
        assert(item, _ as unknown); // FIXME: should be "number"
        assert(props, _ as SpringValues); // FIXME: should include "opacity" and "color"
        return <View style={props}>{String(item)}</View>;
      }}
    </Trail>
  ));
  