summaryrefslogtreecommitdiffstats
path: root/googlemock/test/gmock-pp_test.cc
diff options
context:
space:
mode:
authorJoshua Cannon <joshdcannon@gmail.com>2019-10-11 15:58:59 (GMT)
committerJoshua Cannon <joshdcannon@gmail.com>2019-10-11 15:58:59 (GMT)
commitfe112cfee7e772fc94eb7c64abd86b0b9e937e70 (patch)
tree81fdc08e0c525952f7881849dc03b8ce03137f1f /googlemock/test/gmock-pp_test.cc
parentd935e8e3edaf0987ee8a0a664593e17771587393 (diff)
downloadgoogletest-fe112cfee7e772fc94eb7c64abd86b0b9e937e70.zip
googletest-fe112cfee7e772fc94eb7c64abd86b0b9e937e70.tar.gz
googletest-fe112cfee7e772fc94eb7c64abd86b0b9e937e70.tar.bz2
Replace compile-test with preprocessor test
Diffstat (limited to 'googlemock/test/gmock-pp_test.cc')
-rw-r--r--googlemock/test/gmock-pp_test.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/googlemock/test/gmock-pp_test.cc b/googlemock/test/gmock-pp_test.cc
index 7387d39..aa3f2dd 100644
--- a/googlemock/test/gmock-pp_test.cc
+++ b/googlemock/test/gmock-pp_test.cc
@@ -1,5 +1,10 @@
#include "gmock/internal/gmock-pp.h"
+// Used to test MSVC treating __VA_ARGS__ with a comma in it as one value
+#define GMOCK_TEST_REPLACE_comma_WITH_COMMA_I_comma ,
+#define GMOCK_TEST_REPLACE_comma_WITH_COMMA(x) \
+ GMOCK_PP_CAT(GMOCK_TEST_REPLACE_comma_WITH_COMMA_I_, x)
+
// Static assertions.
namespace testing {
namespace internal {
@@ -17,6 +22,12 @@ static_assert(GMOCK_PP_NARG(x, y, z, w) == 4, "");
static_assert(!GMOCK_PP_HAS_COMMA(), "");
static_assert(GMOCK_PP_HAS_COMMA(b, ), "");
static_assert(!GMOCK_PP_HAS_COMMA((, )), "");
+static_assert(
+ GMOCK_PP_HAS_COMMA(GMOCK_TEST_REPLACE_comma_WITH_COMMA(comma)), "");
+static_assert(
+ GMOCK_PP_HAS_COMMA(GMOCK_TEST_REPLACE_comma_WITH_COMMA(comma(unrelated))),
+ "");
+static_assert(GMOCK_PP_HAS_COMMA((, )), "");
static_assert(!GMOCK_PP_IS_EMPTY(, ), "");
static_assert(!GMOCK_PP_IS_EMPTY(a), "");
static_assert(!GMOCK_PP_IS_EMPTY(()), "");