anchor.diff:  import 'dart:typed_data';
   import 'dart:ui' as ui;
   
  -import 'package:flutter/foundation.dart';
   import 'package:flutter/painting.dart';
   
   import 'test_async_utils.dart';
  
positive.code:   );
    return completer.future;
  }
  
  /// Web doesn't support [decodeImageFromPixels]. Instead, generate a 1bpp BMP
  /// and just use [instantiateImageCodec].
  // TODO(dnfield): Remove this when https://github.com/flutter/flutter/issues/49244
  // is resolved.
  Future<ui.Image> _webCreateTestImage({
    required int width,
    required int height,
  }) async {
    // See https://en.wikipedia.org/wiki/BMP_file_format for format examples.
    final int bufferSize = 0x36 + (width * height);
    final ByteData bmpData = ByteData(bufferSize);
    // 'BM' header
    bmpData.setUint8(0x00, 0x42);
    bmpData.setUint8(0x01, 0x4D);
    // Size of data
    bmpData.setUint32(0x02, bufferSize, Endian.little);
    // Offset where pixel array begins
    bmpData.setUint32(0x0A, 0x36, Endian.little);
    // Bytes in DIB header
    bmpData.setUint32(0x0E, 0x28, Endian.little);
    // width
    bmpData.setUint32(0x12, width, Endian.little);
    // height
    bmpData.setUint32(0x16, height, Endian.little);
    // Color panes
    bmpData.setUint16(0x1A, 0x01, Endian.little);
    // bpp
    bmpData.setUint16(0x1C, 0x01, Endian.little);
    // no compression
    bmpData.setUint32(0x1E, 0x00, Endian.little);
    // raw bitmap data size
    bmpData.setUint32(0x22, width * height, Endian.little);
    // print DPI width
    bmpData.setUint32(0x26, width, Endian.little);
    // print DPI height
    bmpData.setUint32(0x2A, height, Endian.little);
    // colors in the palette
    bmpData.setUint32(0x2E, 0x00, Endian.little);
    // important colors
    bmpData.setUint32(0x32, 0x00, Endian.little);
    // rest of data is zeroed as black pixels.
  
    final ui.Codec codec = await ui.instantiateImageCodec(
      bmpData.buffer.asUint8List(),
    );
    final ui.FrameInfo frameInfo = await codec.getNextFrame();
    return frameInfo.image;
  }
  
negative.code: });
  
  Future<ui.Image> _createImage(int width, int height) async {
    final Completer<ui.Image> completer = Completer<ui.Image>();
    ui.decodeImageFromPixels(
      Uint8List.fromList(List<int>.filled(width * height * 4, 0, growable: false)),
  