Address codereview comments: - Update variable names. - Add test case for column-free stack frame. Review URL: https://codereview.chromium.org//24395014 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/stack_trace@27852 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkgs/stack_trace/lib/src/frame.dart b/pkgs/stack_trace/lib/src/frame.dart index b7937f7..6325f37 100644 --- a/pkgs/stack_trace/lib/src/frame.dart +++ b/pkgs/stack_trace/lib/src/frame.dart
@@ -114,10 +114,10 @@ var member = match[1].replaceAll("<anonymous closure>", "<fn>"); var uri = Uri.parse(match[2]); var line = int.parse(match[3]); - var col = null; - var col_match = match[4]; - if (col_match != null) { - col = int.parse(col_match); + var column = null; + var columnMatch = match[4]; + if (columnMatch != null) { + col = int.parse(columnMatch); } return new Frame(uri, line, col, member); }
diff --git a/pkgs/stack_trace/test/frame_test.dart b/pkgs/stack_trace/test/frame_test.dart index 9cbff14..62cfd2e 100644 --- a/pkgs/stack_trace/test/frame_test.dart +++ b/pkgs/stack_trace/test/frame_test.dart
@@ -10,7 +10,7 @@ void main() { group('.parseVM', () { - test('parses a stack frame correctly', () { + test('parses a stack frame with column correctly', () { var frame = new Frame.parseVM("#1 Foo._bar " "(file:///home/nweiz/code/stuff.dart:42:21)"); expect(frame.uri, @@ -20,6 +20,16 @@ expect(frame.member, equals('Foo._bar')); }); + test('parses a stack frame without column correctly', () { + var frame = new Frame.parseVM("#1 Foo._bar " + "(file:///home/nweiz/code/stuff.dart:24)"); + expect(frame.uri, + equals(Uri.parse("file:///home/nweiz/code/stuff.dart"))); + expect(frame.line, equals(24)); + expect(frame.column, null); + expect(frame.member, equals('Foo._bar')); + }); + test('converts "<anonymous closure>" to "<fn>"', () { String parsedMember(String member) => new Frame.parseVM('#0 $member (foo:0:0)').member;