compare method

  1. @override
Future<bool> compare(
  1. Uint8List imageBytes,
  2. Uri golden
)
override

Copy of LocalFileComparator's compare method, except for the fact that it checks if the ComparisonResult.diffPercent is not greater than threshold to decide whether this test is successful or a failure.

Implementation

@override
Future<bool> compare(Uint8List imageBytes, Uri golden) async {
  final result = await GoldenFileComparator.compareLists(
    imageBytes,
    await getGoldenBytes(golden),
  );

  if (!result.passed && result.diffPercent <= threshold) {
    log(
      'A difference of ${result.diffPercent * 100}% was found, but it is '
      'acceptable since it is not greater than the threshold of '
      '${threshold * 100}%',
    );

    return true;
  }

  if (!result.passed) {
    final error = await generateFailureOutput(result, golden, basedir);
    throw FlutterError(error);
  }
  return result.passed;
}