From 383b0441ae3373ae3179092cdf383ad05d56b656 Mon Sep 17 00:00:00 2001 From: Codel1417 Date: Tue, 4 Jun 2024 14:28:58 -0400 Subject: [PATCH] test getVersionSemVer and fix bug in it --- lib/Frontend/utils.dart | 4 ++-- test/Frontend/utils_test.dart | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/Frontend/utils.dart b/lib/Frontend/utils.dart index 72304733..03dfc59c 100644 --- a/lib/Frontend/utils.dart +++ b/lib/Frontend/utils.dart @@ -79,8 +79,8 @@ Version getVersionSemVer(String input) { if (split.length > 1 && int.tryParse(split[1]) != null) { minor = split[1]; } - if (split.length > 2 && int.tryParse(split[2]) != null) { - patch = split[2].replaceAll(RegExp(r"\D"), ""); + if (split.length > 2 && int.tryParse(split[2].replaceAll(RegExp(r'[^0-9]'), '')) != null) { + patch = split[2].replaceAll(RegExp(r'[^0-9]'), ''); } return Version(int.parse(major), int.parse(minor), int.parse(patch)); } diff --git a/test/Frontend/utils_test.dart b/test/Frontend/utils_test.dart index 49d61835..db62ce29 100644 --- a/test/Frontend/utils_test.dart +++ b/test/Frontend/utils_test.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:platform/platform.dart'; +import 'package:pub_semver/pub_semver.dart'; import 'package:tail_app/Frontend/utils.dart'; import 'package:tail_app/constants.dart'; import 'package:test/test.dart'; @@ -34,4 +35,13 @@ void main() { color = getTextColor(Color(appColorDefault)); expect(color, Typography.material2021().white.labelLarge!.color!); }); + + test('Get version from string', () { + Version version = getVersionSemVer(""); + expect(version, Version(0, 0, 0)); + version = getVersionSemVer("5.1.3b"); + expect(version, Version(5, 1, 3)); + version = getVersionSemVer("VER 5.2.5"); + expect(version, Version(5, 2, 5)); + }); }