
(in particular defined by macros) to wide string constants. Convert existing locally-defined stringizing to use the shared macros. Unit tests for the shared macros. This also fixes a minor bug in ceee_module_util.cc where I accidentally quoted a string constant I only meant to convert to wide (this caused no bug, but was unintended, so the change in semantics in that file in the current change is intentional). BUG=none TEST=automated tests Review URL: http://codereview.chromium.org/5103001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66579 0039d316-1c4b-4281-b951-d872f2087c98
60 lines
1.9 KiB
C++
60 lines
1.9 KiB
C++
// Copyright (c) 2010 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.
|
|
//
|
|
// Unit tests for stringize_macros.h
|
|
|
|
#include "base/stringize_macros.h"
|
|
|
|
#include "testing/gtest/include/gtest/gtest.h"
|
|
|
|
// Macros as per documentation in header file.
|
|
#define PREPROCESSOR_UTIL_UNITTEST_A FOO
|
|
#define PREPROCESSOR_UTIL_UNITTEST_B(x) myobj->FunctionCall(x)
|
|
#define PREPROCESSOR_UTIL_UNITTEST_C "foo"
|
|
|
|
TEST(StringizeTest, Ansi) {
|
|
EXPECT_STREQ(
|
|
"PREPROCESSOR_UTIL_UNITTEST_A",
|
|
STRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_A));
|
|
EXPECT_STREQ(
|
|
"PREPROCESSOR_UTIL_UNITTEST_B(y)",
|
|
STRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_B(y)));
|
|
EXPECT_STREQ(
|
|
"PREPROCESSOR_UTIL_UNITTEST_C",
|
|
STRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_C));
|
|
|
|
EXPECT_STREQ("FOO", STRINGIZE(PREPROCESSOR_UTIL_UNITTEST_A));
|
|
EXPECT_STREQ("myobj->FunctionCall(y)",
|
|
STRINGIZE(PREPROCESSOR_UTIL_UNITTEST_B(y)));
|
|
EXPECT_STREQ("\"foo\"", STRINGIZE(PREPROCESSOR_UTIL_UNITTEST_C));
|
|
}
|
|
|
|
#if defined(OS_WIN)
|
|
|
|
TEST(StringizeTest, Wide) {
|
|
EXPECT_STREQ(
|
|
L"PREPROCESSOR_UTIL_UNITTEST_A",
|
|
LSTRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_A));
|
|
EXPECT_STREQ(
|
|
L"PREPROCESSOR_UTIL_UNITTEST_B(y)",
|
|
LSTRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_B(y)));
|
|
EXPECT_STREQ(
|
|
L"PREPROCESSOR_UTIL_UNITTEST_C",
|
|
LSTRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_C));
|
|
|
|
EXPECT_STREQ(L"FOO", LSTRINGIZE(PREPROCESSOR_UTIL_UNITTEST_A));
|
|
EXPECT_STREQ(L"myobj->FunctionCall(y)",
|
|
LSTRINGIZE(PREPROCESSOR_UTIL_UNITTEST_B(y)));
|
|
EXPECT_STREQ(L"\"foo\"", LSTRINGIZE(PREPROCESSOR_UTIL_UNITTEST_C));
|
|
}
|
|
|
|
TEST(ToLStringTest, Main) {
|
|
EXPECT_STREQ(L"blat", TO_L_STRING_NO_EXPANSION("blat"));
|
|
|
|
EXPECT_STREQ(L"foo", TO_L_STRING(PREPROCESSOR_UTIL_UNITTEST_C));
|
|
EXPECT_STREQ(L"blat", TO_L_STRING("blat"));
|
|
}
|
|
|
|
#endif // defined(OS_WIN)
|