anchor.diff:  ///
   /// Tests that `listener` has actually been invoked.
   Future<void> addListenerScope({
  -  @required dynamic listenable,
  -  @required Function listener,
  -  @required Function callback,
  +  required dynamic listenable,
  +  required Function listener,
  +  required Function callback,
   }) async {
     bool listenerCalled = false;
     final listenerWrapped = () {
  
positive.code: // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  // @dart=2.9
  
  import 'dart:async';
  import 'dart:convert';
  
negative.code: Finder findSubstring(Widget widget, String text) {
    return find.byWidgetPredicate((widget) {
      if (widget is Text) {
        if (widget.data != null) return widget.data!.contains(text);
        return widget.textSpan!.toPlainText().contains(text);
      } else if (widget is RichText) {
        return widget.text.toPlainText().contains(text);
      } else if (widget is SelectableText) {
        if (widget.data != null) return widget.data!.contains(text);
      }
      return false;
    });
  