OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library frame_test; | 5 library frame_test; |
6 | 6 |
7 import 'dart:io'; | 7 import 'dart:io'; |
8 import 'dart:uri'; | |
9 | 8 |
10 import 'package:pathos/path.dart' as path; | 9 import 'package:pathos/path.dart' as path; |
11 import 'package:stack_trace/src/utils.dart'; | 10 import 'package:stack_trace/src/utils.dart'; |
12 import 'package:stack_trace/stack_trace.dart'; | 11 import 'package:stack_trace/stack_trace.dart'; |
13 import 'package:unittest/unittest.dart'; | 12 import 'package:unittest/unittest.dart'; |
14 | 13 |
15 String getStackFrame() { | 14 String getStackFrame() { |
16 try { | 15 try { |
17 throw ''; | 16 throw ''; |
18 } catch (_, stackTrace) { | 17 } catch (_, stackTrace) { |
(...skipping 16 matching lines...) Expand all Loading... |
35 expect(frame.line, equals(42)); | 34 expect(frame.line, equals(42)); |
36 expect(frame.column, equals(21)); | 35 expect(frame.column, equals(21)); |
37 expect(frame.member, equals('Foo._bar')); | 36 expect(frame.member, equals('Foo._bar')); |
38 }); | 37 }); |
39 | 38 |
40 test('parses a real stack frame correctly', () { | 39 test('parses a real stack frame correctly', () { |
41 var frame = new Frame.parse(getStackFrame()); | 40 var frame = new Frame.parse(getStackFrame()); |
42 // TODO(nweiz): use URL-style paths when such a thing exists. | 41 // TODO(nweiz): use URL-style paths when such a thing exists. |
43 var builder = new path.Builder(style: path.Style.posix); | 42 var builder = new path.Builder(style: path.Style.posix); |
44 expect(builder.basename(frame.uri.path), equals('frame_test.dart')); | 43 expect(builder.basename(frame.uri.path), equals('frame_test.dart')); |
45 expect(frame.line, equals(17)); | 44 expect(frame.line, equals(16)); |
46 expect(frame.column, equals(5)); | 45 expect(frame.column, equals(5)); |
47 expect(frame.member, equals('getStackFrame')); | 46 expect(frame.member, equals('getStackFrame')); |
48 }); | 47 }); |
49 | 48 |
50 test('converts "<anonymous closure>" to "<fn>"', () { | 49 test('converts "<anonymous closure>" to "<fn>"', () { |
51 String parsedMember(String member) => | 50 String parsedMember(String member) => |
52 new Frame.parse('#0 $member (foo:0:0)').member; | 51 new Frame.parse('#0 $member (foo:0:0)').member; |
53 | 52 |
54 expect(parsedMember('Foo.<anonymous closure>'), equals('Foo.<fn>')); | 53 expect(parsedMember('Foo.<anonymous closure>'), equals('Foo.<fn>')); |
55 expect(parsedMember('<anonymous closure>.<anonymous closure>.bar'), | 54 expect(parsedMember('<anonymous closure>.<anonymous closure>.bar'), |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 equals('dart:core in Foo')); | 166 equals('dart:core in Foo')); |
168 }); | 167 }); |
169 | 168 |
170 test('converts "<anonymous closure>" to "<fn>"', () { | 169 test('converts "<anonymous closure>" to "<fn>"', () { |
171 expect(new Frame.parse('#0 Foo.<anonymous closure> (dart:core:5:10)') | 170 expect(new Frame.parse('#0 Foo.<anonymous closure> (dart:core:5:10)') |
172 .toString(), | 171 .toString(), |
173 equals('dart:core in Foo.<fn>')); | 172 equals('dart:core in Foo.<fn>')); |
174 }); | 173 }); |
175 }); | 174 }); |
176 } | 175 } |
OLD | NEW |