- (#62)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d3fbd4e..b0dccb6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+
+# 6.0.1
+
+* Fix for MemoryUsageEvent constructor.
+
# 6.0.0
* Fix typo in public API.
diff --git a/lib/src/usage_tracking/model.dart b/lib/src/usage_tracking/model.dart
index f10a6ee..515246a 100644
--- a/lib/src/usage_tracking/model.dart
+++ b/lib/src/usage_tracking/model.dart
@@ -31,7 +31,9 @@
required this.rss,
DateTime? timestamp,
}) : timestamp = timestamp ?? DateTime.now() {
- if (previousEventTime != null) {
+ if (previousEventTime == null) {
+ period = null;
+ } else {
period = this.timestamp.difference(previousEventTime);
}
}
diff --git a/pubspec.yaml b/pubspec.yaml
index ede2ce0..638c9dd 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: leak_tracker
-version: 6.0.0
+version: 6.0.1
description: A framework for memory leak tracking for Dart and Flutter applications.
repository: https://github.com/dart-lang/leak_tracker
diff --git a/test/dart/usage_tracking/_snapshot_test.dart b/test/dart/usage_tracking/_snapshot_test.dart
index 9b869a9..b795bef 100644
--- a/test/dart/usage_tracking/_snapshot_test.dart
+++ b/test/dart/usage_tracking/_snapshot_test.dart
@@ -8,7 +8,7 @@
import 'package:test/test.dart';
void main() {
- test('test', () {
+ test('saveSnapshot invokes snapshotter', () {
late String actualFileName;
final returnedFileName = saveSnapshot(
diff --git a/test/dart/usage_tracking/model_test.dart b/test/dart/usage_tracking/model_test.dart
new file mode 100644
index 0000000..96bcd9e
--- /dev/null
+++ b/test/dart/usage_tracking/model_test.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:leak_tracker/src/usage_tracking/model.dart';
+import 'package:test/test.dart';
+
+void main() {
+ test('$MemoryUsageEvent initial', () {
+ final event =
+ MemoryUsageEvent(rss: 100, delta: null, previousEventTime: null);
+
+ expect(event.delta, null);
+ expect(event.period, null);
+ expect(event.rss, 100);
+ });
+
+ test('$MemoryUsageEvent delta', () {
+ final event = MemoryUsageEvent(
+ rss: 200,
+ delta: 100,
+ previousEventTime: DateTime(2022),
+ timestamp: DateTime(2023),
+ );
+
+ expect(event.delta, 100);
+ expect(event.period, const Duration(days: 365));
+ expect(event.rss, 200);
+ });
+}