anchor.diff:          react_dom.render(LifecycleTest(newProps), mountNode);
   
           List calls = [
  -          isComponent2 ? matchCall('getDerivedStateFromProps') : null,
  +          isComponent2 ? matchCall('getDerivedStateFromProps', args: [newPropsWithDefaults, expectedState]) : null,
             isComponent2
                 ? null
                 : matchCall('componentWillReceiveProps', args: [newPropsWithDefaults], props: initialPropsWithDefaults),
  
positive.code:       expect(
            component.lifecycleCalls,
            equals([
              isComponent2 ? matchCall('getDerivedStateFromProps') : null,
              skipLegacyContextTests
                  ? matchCall('shouldComponentUpdate', args: [expectedProps, newState, newContext], state: initialState)
                  : matchCall('shouldComponentUpdateWithContext',
  
negative.code: 
        group('getDerivedStateFromProps returns', () {
          test('derived state, resulting in an updated instance state value', () {
            const Map initialDerivedState = const {
              'initialDerivedState': 'initial',
            };
  
            final Map initialProps = unmodifiableMap({'getDerivedStateFromProps': (_, __, ___) => initialDerivedState});
  
            LifecycleTestHelper component = getDartComponent(render(components2.LifecycleTest(initialProps)));
  
            expect(
                component.lifecycleCalls,
                equals([
                  matchCall('getInitialState'),
                  matchCall('getDerivedStateFromProps'),
                  matchCall('render', state: initialDerivedState),
                  matchCall('componentDidMount', state: initialDerivedState),
                ].where((matcher) => matcher != null).toList()));
          });
  
  