| Index: chrome/browser/chromeos/system_logs/lsb_release_log_source_unittest.cc
|
| diff --git a/chrome/browser/chromeos/system_logs/lsb_release_log_source_unittest.cc b/chrome/browser/chromeos/system_logs/lsb_release_log_source_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..66c1fed73e3db1c1ae39e76324c6ee02b3112f7a
|
| --- /dev/null
|
| +++ b/chrome/browser/chromeos/system_logs/lsb_release_log_source_unittest.cc
|
| @@ -0,0 +1,59 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/chromeos/system_logs/lsb_release_log_source.h"
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace chromeos {
|
| +
|
| +TEST(LSBReleaseLogSource, BasicFunctionality) {
|
| + std::string data("key=value\nkey2 = value2 ");
|
| + SystemLogsResponse response;
|
| + LsbReleaseLogSource::ParseLSBRelease(data, &response);
|
| + EXPECT_EQ(2U, response.size());
|
| + EXPECT_EQ("value", response["key"]);
|
| +
|
| + // Make sure extra white space is removed correctly. First from the key and
|
| + // then from the value.
|
| + EXPECT_EQ(1U, response.count("key2"));
|
| + EXPECT_EQ("value2", response["key2"]);
|
| +}
|
| +
|
| +TEST(LSBReleaseLogSource, ValueMissing) {
|
| + std::string data("key=value\nkey2=\nkey3");
|
| + SystemLogsResponse response;
|
| + LsbReleaseLogSource::ParseLSBRelease(data, &response);
|
| + EXPECT_EQ(2U, response.size());
|
| + EXPECT_EQ("value", response["key"]);
|
| + EXPECT_EQ("<no value>", response["key2"]);
|
| + EXPECT_EQ(0U, response.count("key3"));
|
| +}
|
| +
|
| +TEST(LSBReleaseLogSource, BrokenUTF8) {
|
| + std::string data("key=value\nkey2=\nkey3=\xFCts\nkey4=value4\nkey5\xFC=foo");
|
| + SystemLogsResponse response;
|
| + LsbReleaseLogSource::ParseLSBRelease(data, &response);
|
| + EXPECT_EQ("<invalid characters in log entry>", response["key3"]);
|
| + EXPECT_EQ("value4", response["key4"]);
|
| + EXPECT_EQ(0U, response.count("key5"));
|
| +}
|
| +
|
| +TEST(LSBReleasLogSource, NoKeyValuePair) {
|
| + SystemLogsResponse response;
|
| +
|
| + std::string contents1("random text without a meaning");
|
| + LsbReleaseLogSource::ParseLSBRelease(contents1, &response);
|
| + EXPECT_TRUE(response.empty());
|
| +}
|
| +
|
| +TEST(LSBReleasLogSource, EmptyInput) {
|
| + SystemLogsResponse response;
|
| + std::string contents2("");
|
| + LsbReleaseLogSource::ParseLSBRelease(contents2, &response);
|
| + EXPECT_TRUE(response.empty());
|
| +}
|
| +
|
| +} // namespace chromeos
|
|
|