anchor.diff:  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);
  +      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);
  +      if (widget.data != null) return widget.data!.contains(text);
       }
       return false;
     });
  
positive.code:     return find.byWidgetPredicate((widget) =>
          widget is SelectableText &&
          ((widget.data?.contains(text) ?? false) ||
              (widget.textSpan?.toPlainText()?.contains(text) ?? false)));
    }
  }
  
  
negative.code:   SystemChannels.navigation
        .setMockMethodCallHandler((MethodCall methodCall) async {});
  
    ServicesBinding.instance!.defaultBinaryMessenger
        .setMockMessageHandler('flutter/assets', (ByteData? message) async {
      assert(message != null);
      String key = utf8.decode(message!.buffer.asUint8List());
      File asset = File(path.join(assetFolderPath!, key));
  
      if (!asset.existsSync()) {
        // For tests in package, it will load assets with its own package prefix.
  