diff --git a/lib/data/model/app/github_id.dart b/lib/data/model/app/github_id.dart index b2f14dcc..757bc1a9 100644 --- a/lib/data/model/app/github_id.dart +++ b/lib/data/model/app/github_id.dart @@ -1,5 +1,5 @@ typedef GhId = String; extension GhIdX on GhId { - String get url => 'https://github.com/$this '; + String get url => 'https://github.com/$this'; } diff --git a/lib/data/model/server/proc.dart b/lib/data/model/server/proc.dart index bd0aa907..6f7006f6 100644 --- a/lib/data/model/server/proc.dart +++ b/lib/data/model/server/proc.dart @@ -115,7 +115,7 @@ class PsResult { }); factory PsResult.parse(String raw, {ProcSortMode sort = ProcSortMode.cpu}) { - final lines = raw.split('\n'); + final lines = raw.split('\n').map((e) => e.trim()).toList(); if (lines.isEmpty) return PsResult(procs: [], error: null); final header = lines[0]; @@ -145,6 +145,7 @@ class PsResult { } catch (e, trace) { err += '$line: $e\n'; _logger.warning(trace); + rethrow; } } diff --git a/test/proc_test.dart b/test/proc_test.dart new file mode 100644 index 00000000..83e983fd --- /dev/null +++ b/test/proc_test.dart @@ -0,0 +1,13 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:toolbox/data/model/server/proc.dart'; + +void main() { + test('parse process', () { + const raw = ''' + PID USER VSZ STAT COMMAND + 1 root 1276 S /sbin/procd +'''; + final psResult = PsResult.parse(raw); + expect(psResult.procs.length, 1); + }); +}