blob: 7c871b7829955617cb0b6fc5bae93759992e89a8 [file] [log] [blame]
// Copyright 2010 The Goma 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 "ioutil.h"
#include <memory>
#include <string>
#include <gtest/gtest.h>
#include "unittest_util.h"
using std::string;
namespace devtools_goma {
#if GTEST_HAS_DEATH_TEST
TEST(IoutilTest, WriteStringToFileOrDieCrash) {
#ifndef _WIN32
string not_exists = "/tmp/you_may_not_have_this_dir/foo/bar/baz";
EXPECT_DEATH(WriteStringToFileOrDie("fuga", not_exists, 0666),
"No such file");
#else
string not_exists = "K:\\tmp\\you_may_not_have_this_dir\\foo\\bar\\baz";
EXPECT_DEATH(WriteStringToFileOrDie("fuga", not_exists, 0666), "");
#endif
}
#endif // GTEST_HAS_DEATH_TEST
TEST(IoutilTest, StringRstrip) {
EXPECT_EQ("abc", StringRstrip("abc"));
EXPECT_EQ("", StringRstrip(""));
EXPECT_EQ("abc", StringRstrip("abc\n"));
EXPECT_EQ("abc", StringRstrip("abc\r\n"));
EXPECT_EQ("abc", StringRstrip("abc\r"));
EXPECT_EQ("abc", StringRstrip("abc \r\n"));
EXPECT_EQ("abc", StringRstrip("abc \r\n\v\f"));
EXPECT_EQ("ab c", StringRstrip("ab c\r\n"));
EXPECT_EQ("ab\nc", StringRstrip("ab\nc\r\n"));
EXPECT_EQ(" abc", StringRstrip(" abc\r\n"));
EXPECT_EQ("", StringStrip("\r\n "));
}
TEST(IoutilTest, StringStrip) {
EXPECT_EQ("abc", StringStrip("abc"));
EXPECT_EQ("", StringStrip(""));
EXPECT_EQ("abc", StringStrip("\nabc\n"));
EXPECT_EQ("abc", StringStrip("\r\nabc\r\n"));
EXPECT_EQ("abc", StringStrip("\rabc\r"));
EXPECT_EQ("abc", StringStrip(" \r\n abc \r\n"));
EXPECT_EQ("abc", StringStrip("\v\f \r\n abc \r\n\v\f"));
EXPECT_EQ("ab c", StringStrip("\r\n ab c\r\n"));
EXPECT_EQ("ab\nc", StringStrip("\r\n ab\nc\r\n"));
EXPECT_EQ("", StringStrip("\r\n "));
}
} // namespace devtools_goma