blob: 815091f33169f27ebf66d247f5a19cbb327695de [file]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:async';
import 'dart:typed_data';
import 'package:flutter/painting.dart';
import 'package:flutter_test/flutter_test.dart';
import '../image_data.dart';
import '../rendering/rendering_tester.dart';
void main() {
TestRenderingFlutterBinding.ensureInitialized();
test("Clearing images while they're pending does not crash", () async {
final Uint8List bytes = Uint8List.fromList(kTransparentImage);
final MemoryImage memoryImage = MemoryImage(bytes);
final ImageStream stream = memoryImage.resolve(ImageConfiguration.empty);
final Completer<void> completer = Completer<void>();
FlutterError.onError = (FlutterErrorDetails error) {
completer.completeError(error.exception, error.stack);
};
stream.addListener(
ImageStreamListener((ImageInfo image, bool synchronousCall) {
completer.complete();
}),
);
imageCache.clearLiveImages();
await completer.future;
});
}