Home | History | Annotate | Download | only in source
      1 /*
      2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
      3  *
      4  *  Use of this source code is governed by a BSD-style license
      5  *  that can be found in the LICENSE file in the root of the source
      6  *  tree. An additional intellectual property rights grant can be found
      7  *  in the file PATENTS.  All contributing project authors may
      8  *  be found in the AUTHORS file in the root of the source tree.
      9  */
     10 
     11 #include "webrtc/system_wrappers/include/stringize_macros.h"
     12 
     13 #include "testing/gtest/include/gtest/gtest.h"
     14 
     15 // Macros as per documentation in header file.
     16 #define PREPROCESSOR_UTIL_UNITTEST_A FOO
     17 #define PREPROCESSOR_UTIL_UNITTEST_B(x) myobj->FunctionCall(x)
     18 #define PREPROCESSOR_UTIL_UNITTEST_C "foo"
     19 
     20 TEST(StringizeTest, Ansi) {
     21   EXPECT_STREQ(
     22       "PREPROCESSOR_UTIL_UNITTEST_A",
     23       STRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_A));
     24   EXPECT_STREQ(
     25       "PREPROCESSOR_UTIL_UNITTEST_B(y)",
     26       STRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_B(y)));
     27   EXPECT_STREQ(
     28       "PREPROCESSOR_UTIL_UNITTEST_C",
     29       STRINGIZE_NO_EXPANSION(PREPROCESSOR_UTIL_UNITTEST_C));
     30 
     31   EXPECT_STREQ("FOO", STRINGIZE(PREPROCESSOR_UTIL_UNITTEST_A));
     32   EXPECT_STREQ("myobj->FunctionCall(y)",
     33                STRINGIZE(PREPROCESSOR_UTIL_UNITTEST_B(y)));
     34   EXPECT_STREQ("\"foo\"", STRINGIZE(PREPROCESSOR_UTIL_UNITTEST_C));
     35 }
     36