anchor.diff:    group('forwardRef wraps event handlers properly,', () {
       final isDartComponent = factory is ReactDartComponentFactoryProxy;
   
  -    const dartInside = EventTestHelper.dart('onMouseDown', 'inside forwardRef');
  -    const dart = EventTestHelper.dart('onMouseUp', 'set on forwardRef hoc');
  -    const dartCloned = EventTestHelper.dart('onMouseLeave', 'cloned onto forwardRef hoc');
  -    const jsCloned = EventTestHelper.js('onClick', 'cloned onto forwardRef hoc ');
  -    const helpers = {dartInside, dart, jsCloned, dartCloned};
  +    const dartInside = EventTestCase.dart('onMouseDown', 'inside forwardRef');
  +    const dart = EventTestCase.dart('onMouseUp', 'set on forwardRef hoc');
  +    const dartCloned = EventTestCase.dart('onMouseLeave', 'cloned onto forwardRef hoc');
  +    const jsCloned = EventTestCase.js('onClick', 'cloned onto forwardRef hoc ');
  +    const eventCases = {dartInside, dart, jsCloned, dartCloned};
   
       Element node;
  -    Map<EventTestHelper, dynamic> events;
  +    Map<EventTestCase, dynamic> events;
       Map propsFromDartRender;
   
       setUpAll(() {
  -      expect(helpers.map((h) => h.eventPropKey).toSet(), hasLength(helpers.length),
  +      expect(eventCases.map((h) => h.eventPropKey).toSet(), hasLength(eventCases.length),
             reason: 'test setup: each helper should have a unique event key');
   
         node = null;
  
positive.code:   _typedCallbackRefTests<T>(factory);
  }
  
  class EventTestHelper {
    final String eventPropKey;
    final String description;
    final bool isDart;
  
    const EventTestHelper.dart(this.eventPropKey, String description) : isDart = true, description = 'Dart handler $description';
  
    const EventTestHelper.js(this.eventPropKey, String description) : isDart = false, description = 'JS handler $description';
  
    String get _camelCaseEventName {
      var name = eventPropKey.replaceFirst(RegExp(r'^on'), '');
  
negative.code:     if (isDartComponent) {
        group('in a way that the handlers are callable from within the Dart component:', () {
          setUpAll(() {
            expect(propsFromDartRender, isNotNull,
                reason: 'test setup: component must pass props into props.onDartRender');
          });
  
          final dummyEvent = react.SyntheticMouseEvent(null, null, null, null, null, null, null, null, null, null, null,
              null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
  
          for (var eventCase in eventCases.where((helper) => helper.isDart)) {
            test(eventCase.description, () {
              expect(() => propsFromDartRender[eventCase.eventPropKey](dummyEvent), returnsNormally);
            });
          }
        });
  