// 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 'package:fake_async/fake_async.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; import 'capture_output.dart'; String? foo; void main() { test('debugPrint', () { expect( captureOutput(() { debugPrintSynchronously('Hello, world'); }), equals(<String>['Hello, world']), ); expect( captureOutput(() { debugPrintSynchronously('Hello, world', wrapWidth: 10); }), equals(<String>['Hello,\nworld']), ); for (int i = 0; i < 14; ++i) { expect( captureOutput(() { debugPrintSynchronously('Hello, world', wrapWidth: i); }), equals(<String>['Hello,\nworld']), ); } expect( captureOutput(() { debugPrintThrottled('Hello, world'); }), equals(<String>['Hello, world']), ); expect( captureOutput(() { debugPrintThrottled('Hello, world', wrapWidth: 10); }), equals(<String>['Hello,', 'world']), ); }); test('debugPrint throttling', () { FakeAsync().run((FakeAsync async) { List<String> log = captureOutput(() { debugPrintThrottled('${'A' * (22 * 1024)}\nB'); }); expect(log.length, 1); async.elapse(const Duration(seconds: 2)); expect(log.length, 2); log = captureOutput(() { debugPrintThrottled('C' * (22 * 1024)); debugPrintThrottled('D'); }); expect(log.length, 1); async.elapse(const Duration(seconds: 2)); expect(log.length, 2); }); }); test('debugPrint can print null', () { expect( captureOutput(() { debugPrintThrottled(null); }), equals(<String>['null']), ); expect( captureOutput(() { debugPrintThrottled(null, wrapWidth: 80); }), equals(<String>['null']), ); }); }