// 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:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { test('stack manipulation: reportExpectCall', () { try { expect(false, isTrue); fail('unexpectedly did not throw'); } catch (e, stack) { final List<DiagnosticsNode> information = <DiagnosticsNode>[]; expect(reportExpectCall(stack, information), 4); final TextTreeRenderer renderer = TextTreeRenderer(); final List<String> lines = information.map((DiagnosticsNode node) => renderer.render(node).trimRight()).join('\n').split('\n'); expect(lines[0], 'This was caught by the test expectation on the following line:'); expect(lines[1], matches(r'^ .*stack_manipulation_test.dart line [0-9]+$')); } final List<DiagnosticsNode> information = <DiagnosticsNode>[]; expect(reportExpectCall(StackTrace.current, information), 0); expect(information, isEmpty); }); }