diff --git a/lib/src/stack_trace.dart b/lib/src/stack_trace.dart index ef8ce6218b..d1175d6921 100644 --- a/lib/src/stack_trace.dart +++ b/lib/src/stack_trace.dart @@ -24,7 +24,7 @@ List> encodeStackTrace(dynamic stackTrace) { frames.addAll(chain.traces[t].frames.map(encodeStackTraceFrame)); if (t < chain.traces.length - 1) frames.add(asynchronousGapFrameJson); } - return frames; + return frames.reversed.toList(); } Map encodeStackTraceFrame(Frame frame) { diff --git a/test/sentry_test.dart b/test/sentry_test.dart index 2e1529c462..afc4426a71 100644 --- a/test/sentry_test.dart +++ b/test/sentry_test.dart @@ -93,7 +93,8 @@ void main() { expect(stacktrace['frames'], const isInstanceOf()); expect(stacktrace['frames'], isNotEmpty); - final Map topFrame = stacktrace['frames'].first; + final Map topFrame = + (stacktrace['frames'] as Iterable).last; expect(topFrame.keys, ['abs_path', 'function', 'lineno', 'in_app', 'filename']); expect(topFrame['abs_path'], 'sentry_test.dart'); diff --git a/test/stack_trace_test.dart b/test/stack_trace_test.dart index eb5ab06f85..3523f5c91c 100644 --- a/test/stack_trace_test.dart +++ b/test/stack_trace_test.dart @@ -34,18 +34,18 @@ void main() { '''), [ { 'abs_path': 'test.dart', - 'function': 'baz', - 'lineno': 50, + 'function': 'bar', + 'lineno': 46, 'in_app': true, 'filename': 'test.dart' }, { 'abs_path': 'test.dart', - 'function': 'bar', - 'lineno': 46, + 'function': 'baz', + 'lineno': 50, 'in_app': true, 'filename': 'test.dart' - } + }, ]); }); @@ -57,8 +57,8 @@ void main() { '''), [ { 'abs_path': 'test.dart', - 'function': 'baz', - 'lineno': 50, + 'function': 'bar', + 'lineno': 46, 'in_app': true, 'filename': 'test.dart' }, @@ -67,11 +67,11 @@ void main() { }, { 'abs_path': 'test.dart', - 'function': 'bar', - 'lineno': 46, + 'function': 'baz', + 'lineno': 50, 'in_app': true, 'filename': 'test.dart' - } + }, ]); }); });