summaryrefslogtreecommitdiffstats
path: root/base/version_unittest.cc
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-25 22:19:04 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-25 22:19:04 +0000
commit26931bcf7aae254adf95cd5e8a104127a1cf7af8 (patch)
tree61287245d95f5889c54a304b5822b6c5d977c2c7 /base/version_unittest.cc
parentceb47118d6c222d6b90f52dcbf9a77d38faf65eb (diff)
downloadchromium_src-26931bcf7aae254adf95cd5e8a104127a1cf7af8.zip
chromium_src-26931bcf7aae254adf95cd5e8a104127a1cf7af8.tar.gz
chromium_src-26931bcf7aae254adf95cd5e8a104127a1cf7af8.tar.bz2
Fixed bug where an empty version string is considered valid.
Made default constructor public, but DCHECK() on any use of a default-constructed object. BUG=none TEST=unittests Review URL: http://codereview.chromium.org/1364002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42681 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/version_unittest.cc')
-rw-r--r--base/version_unittest.cc25
1 files changed, 19 insertions, 6 deletions
diff --git a/base/version_unittest.cc b/base/version_unittest.cc
index d2cf98b..2e3c2ca 100644
--- a/base/version_unittest.cc
+++ b/base/version_unittest.cc
@@ -6,14 +6,27 @@
#include "base/version.h"
#include "testing/gtest/include/gtest/gtest.h"
-namespace {
+class VersionTest : public testing::Test {
+};
-TEST(Version, GetVersionFromString) {
+TEST_F(VersionTest, DefaultConstructor) {
+ Version v;
+ EXPECT_FALSE(v.is_valid_);
+}
+
+TEST_F(VersionTest, GetVersionFromString) {
static const struct version_string {
const char* input;
size_t parts;
bool success;
} cases[] = {
+ {"", 0, false},
+ {" ", 0, false},
+ {"\t", 0, false},
+ {"\n", 0, false},
+ {" ", 0, false},
+ {".", 0, false},
+ {" . ", 0, false},
{"0", 1, true},
{"0.0", 2, true},
{"65537.0", 0, false},
@@ -29,12 +42,14 @@ TEST(Version, GetVersionFromString) {
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
scoped_ptr<Version> vers(Version::GetVersionFromString(cases[i].input));
EXPECT_EQ(cases[i].success, vers.get() != NULL);
- if (cases[i].success)
+ if (cases[i].success) {
+ EXPECT_TRUE(vers->is_valid_);
EXPECT_EQ(cases[i].parts, vers->components().size());
+ }
}
}
-TEST(Version, Compare) {
+TEST_F(VersionTest, Compare) {
static const struct version_compare {
const char* lhs;
const char* rhs;
@@ -58,5 +73,3 @@ TEST(Version, Compare) {
cases[i].lhs << " ? " << cases[i].rhs;
}
}
-
-}