summaryrefslogtreecommitdiff
path: root/chromium/base/version_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/version_unittest.cc')
-rw-r--r--chromium/base/version_unittest.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/chromium/base/version_unittest.cc b/chromium/base/version_unittest.cc
index 12b806399d0..4d04083801e 100644
--- a/chromium/base/version_unittest.cc
+++ b/chromium/base/version_unittest.cc
@@ -196,4 +196,28 @@ TEST(VersionTest, IsValidWildcardString) {
}
}
+TEST(VersionTest, LeadingZeros) {
+ {
+ // Leading zeros in the first component are not allowed.
+ base::Version v("01.1");
+ EXPECT_FALSE(v.IsValid());
+ }
+
+ {
+ // Leading zeros in subsequent components are allowed (and this behavior is
+ // now important for compatibility with existing modules, like extensions),
+ // but are ignored because the value is parsed as an integer...
+ base::Version v1("1.01");
+ EXPECT_TRUE(v1.IsValid());
+ // ...and as a result, v1.01 == v1.1.
+ EXPECT_EQ("1.1", v1.GetString());
+ base::Version v2("1.1");
+ EXPECT_EQ(v1, v2);
+ }
+
+ // Similarly, since leading zeros are ignored, v1.02 > v1.1 (because
+ // v1.02 is translated to 1.2).
+ EXPECT_GT(base::Version("1.02"), base::Version("1.1"));
+}
+
} // namespace