blob: b29f32328654e45401a401bfeaff38bf6f8bff10 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/on_device_translation/features.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace on_device_translation {
namespace {
TEST(IsValidTranslateKitVersionTest, InvalidEmptyVersion) {
EXPECT_FALSE(IsValidTranslateKitVersion(""));
}
TEST(IsValidTranslateKitVersionTest, InvalidZeroVersion) {
EXPECT_FALSE(IsValidTranslateKitVersion("0.0.0.0"));
}
TEST(IsValidTranslateKitVersionTest, InvalidWildcardVersion) {
EXPECT_FALSE(IsValidTranslateKitVersion("*"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.*"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1.*"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1.10.*"));
}
TEST(IsValidTranslateKitVersionTest, InvalidTruncatedVersion) {
EXPECT_FALSE(IsValidTranslateKitVersion("0.0.0"));
EXPECT_FALSE(IsValidTranslateKitVersion("2024.1.1"));
EXPECT_FALSE(IsValidTranslateKitVersion("2"));
EXPECT_FALSE(IsValidTranslateKitVersion("2024"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1.1"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1.10"));
EXPECT_FALSE(IsValidTranslateKitVersion("2026"));
}
TEST(IsValidTranslateKitVersionTest, InvalidLowerThanMinimumVersion) {
EXPECT_FALSE(IsValidTranslateKitVersion("2024.1.1.1"));
EXPECT_FALSE(IsValidTranslateKitVersion("2024.9.9.9"));
EXPECT_FALSE(IsValidTranslateKitVersion("2024.10.10.10"));
EXPECT_FALSE(IsValidTranslateKitVersion("2024.11.11.11"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1.1.1"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1.9.9"));
EXPECT_FALSE(IsValidTranslateKitVersion("2025.1.9.10"));
}
TEST(IsValidTranslateKitVersionTest, MinimumVersion) {
EXPECT_TRUE(IsValidTranslateKitVersion("2025.1.10.0"));
}
TEST(IsValidTranslateKitVersionTest, GreaterThanMinimumVersion) {
EXPECT_TRUE(IsValidTranslateKitVersion("3025.1.1.0"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.1.1.1"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.1.1.10"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.1.10.0"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.1.10.1"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.1.10.10"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.10.1.0"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.10.1.1"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.10.1.10"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.10.10.0"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.10.10.1"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.10.10.10"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.12.1.0"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.12.1.1"));
EXPECT_TRUE(IsValidTranslateKitVersion("3025.12.1.10"));
}
} // namespace
} // namespace on_device_translation