1// Copyright 2016 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5import 'package:flutter/foundation.dart'; 6import 'package:flutter_test/flutter_test.dart'; 7 8void main() { 9 test('stack manipulation: reportExpectCall', () { 10 try { 11 expect(false, isTrue); 12 throw 'unexpectedly did not throw'; 13 } catch (e, stack) { 14 final List<DiagnosticsNode> information = <DiagnosticsNode>[]; 15 expect(reportExpectCall(stack, information), 4); 16 final TextTreeRenderer renderer = TextTreeRenderer(); 17 final List<String> lines = information.map((DiagnosticsNode node) => renderer.render(node).trimRight()).join('\n').split('\n'); 18 expect(lines[0], 'This was caught by the test expectation on the following line:'); 19 expect(lines[1], matches(r'^ .*stack_manipulation_test.dart line [0-9]+$')); 20 } 21 22 try { 23 throw null; 24 } catch (e, stack) { 25 final List<DiagnosticsNode> information = <DiagnosticsNode>[]; 26 expect(reportExpectCall(stack, information), 0); 27 expect(information, isEmpty); 28 } 29 }); 30} 31