Skip to content

Commit 4d1ac36

Browse files
committed
change to static function
1 parent 3a3d303 commit 4d1ac36

File tree

3 files changed

+14
-31
lines changed

3 files changed

+14
-31
lines changed

dart/lib/src/sentry_exception_factory.dart

+1-2
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,11 @@ class SentryExceptionFactory {
5858
}
5959
}
6060

61-
final stackTraceUtils = StackTraceUtils(throwable.toString());
6261
// if --obfuscate feature is enabled, 'type' won't be human readable.
6362
// https://flutter.dev/docs/deployment/obfuscate#caveat
6463
return SentryException(
6564
type: (throwable.runtimeType).toString(),
66-
value: stackTraceUtils.removeStackStraceLines(),
65+
value: StackTraceUtils.removeStackStraceLines(throwable.toString()),
6766
mechanism: mechanism,
6867
stackTrace: sentryStackTrace,
6968
throwable: throwable,

dart/lib/src/utils/stack_trace_utils.dart

+5-9
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,15 @@ import 'package:meta/meta.dart';
22

33
@internal
44
class StackTraceUtils {
5-
StackTraceUtils(this.input);
6-
7-
final String input;
8-
9-
late final _stackStackTrace =
5+
static final _stackStackTrace =
106
RegExp(r'^#\d+.*\.dart:\d+:\d+\)$', multiLine: true);
11-
late final _flutterStackTrace =
7+
static final _flutterStackTrace =
128
RegExp(r'^flutter:\s#\d+.*\.dart:\d+:\d+\)$', multiLine: true);
13-
late final _obfuscatedStackTrace =
9+
static final _obfuscatedStackTrace =
1410
RegExp(r'^#\d+.*\+0x\w+$', multiLine: true);
15-
late final _multipleNewlines = RegExp(r'\n+');
11+
static final _multipleNewlines = RegExp(r'\n+');
1612

17-
String removeStackStraceLines() {
13+
static String removeStackStraceLines(String input) {
1814
return input
1915
.replaceAll(_stackStackTrace, '')
2016
.replaceAll(_flutterStackTrace, '')

dart/test/utils/stack_trace_utils_test.dart

+8-20
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,6 @@ import 'package:sentry/src/utils/stack_trace_utils.dart';
22
import 'package:test/test.dart';
33

44
void main() {
5-
late Fixture fixture;
6-
7-
setUp(() {
8-
fixture = Fixture();
9-
});
10-
115
final dartStackTrace = '''
126
randomPrefix
137
#0 main (file:///Users/denis/Repos/other/dart-stacktrace/main.dart:2:20)
@@ -53,28 +47,22 @@ randomSuffix
5347
final cleanedUp = 'randomPrefix\nrandomSuffix';
5448

5549
test('removes dart stack trace', () {
56-
final sut = fixture.getSut(dartStackTrace);
57-
expect(sut.removeStackStraceLines(), cleanedUp);
50+
expect(StackTraceUtils.removeStackStraceLines(dartStackTrace), cleanedUp);
5851
});
5952

6053
test('removes flutter stack trace', () {
61-
final sut = fixture.getSut(flutterStackTrace);
62-
expect(sut.removeStackStraceLines(), cleanedUp);
54+
expect(
55+
StackTraceUtils.removeStackStraceLines(flutterStackTrace), cleanedUp);
6356
});
6457

6558
test('removes flutter obfuscated stack trace', () {
66-
final sut = fixture.getSut(flutterObfuscatedStackTrace);
67-
expect(sut.removeStackStraceLines(), cleanedUp);
59+
expect(StackTraceUtils.removeStackStraceLines(flutterObfuscatedStackTrace),
60+
cleanedUp);
6861
});
6962

7063
test('removes stack trace with asynchronous suspension', () {
71-
final sut = fixture.getSut(stackTraceWithAsyncSuspension);
72-
expect(sut.removeStackStraceLines(), cleanedUp);
64+
expect(
65+
StackTraceUtils.removeStackStraceLines(stackTraceWithAsyncSuspension),
66+
cleanedUp);
7367
});
7468
}
75-
76-
class Fixture {
77-
StackTraceUtils getSut(String input) {
78-
return StackTraceUtils(input);
79-
}
80-
}

0 commit comments

Comments
 (0)