From 631b5853ec562f5ed743b9711a46f9a2fcd721eb Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 24 Feb 2010 13:18:50 -0500 Subject: [PATCH] Added unit tests for preprocessor's macro concat operator. These fail at the moment. --- .../preprocessor/output/concat-operator-basic.correct | 1 + .../preprocessor/output/concat-operator-define-override | 6 ++++++ .../output/concat-operator-define-override.correct | 1 + unit_tests/preprocessor/output/concat-operator-multiple | 4 ++++ .../preprocessor/output/concat-operator-multiple.correct | 1 + .../preprocessor/output/concat-operator-stacked-override | 7 +++++++ .../output/concat-operator-stacked-override.correct | 1 + 7 files changed, 21 insertions(+) create mode 100644 unit_tests/preprocessor/output/concat-operator-basic.correct create mode 100644 unit_tests/preprocessor/output/concat-operator-define-override create mode 100644 unit_tests/preprocessor/output/concat-operator-define-override.correct create mode 100644 unit_tests/preprocessor/output/concat-operator-multiple create mode 100644 unit_tests/preprocessor/output/concat-operator-multiple.correct create mode 100644 unit_tests/preprocessor/output/concat-operator-stacked-override create mode 100644 unit_tests/preprocessor/output/concat-operator-stacked-override.correct diff --git a/unit_tests/preprocessor/output/concat-operator-basic.correct b/unit_tests/preprocessor/output/concat-operator-basic.correct new file mode 100644 index 00000000..459b9a37 --- /dev/null +++ b/unit_tests/preprocessor/output/concat-operator-basic.correct @@ -0,0 +1 @@ +RIGHT \ No newline at end of file diff --git a/unit_tests/preprocessor/output/concat-operator-define-override b/unit_tests/preprocessor/output/concat-operator-define-override new file mode 100644 index 00000000..016c6458 --- /dev/null +++ b/unit_tests/preprocessor/output/concat-operator-define-override @@ -0,0 +1,6 @@ +// This should produce "RIGHT" and not "WRONG" +#define RI WR +#define GHT ONG +#define REPLACE(RI, GHT) RI##GHT +REPLACE(RI, GHT) + diff --git a/unit_tests/preprocessor/output/concat-operator-define-override.correct b/unit_tests/preprocessor/output/concat-operator-define-override.correct new file mode 100644 index 00000000..459b9a37 --- /dev/null +++ b/unit_tests/preprocessor/output/concat-operator-define-override.correct @@ -0,0 +1 @@ +RIGHT \ No newline at end of file diff --git a/unit_tests/preprocessor/output/concat-operator-multiple b/unit_tests/preprocessor/output/concat-operator-multiple new file mode 100644 index 00000000..a669cea1 --- /dev/null +++ b/unit_tests/preprocessor/output/concat-operator-multiple @@ -0,0 +1,4 @@ +/* This should produce "RIGHT" instead of "RI ## G ## HT" */ +#define x(a,b) a##G##b +x(RI, HT) + diff --git a/unit_tests/preprocessor/output/concat-operator-multiple.correct b/unit_tests/preprocessor/output/concat-operator-multiple.correct new file mode 100644 index 00000000..459b9a37 --- /dev/null +++ b/unit_tests/preprocessor/output/concat-operator-multiple.correct @@ -0,0 +1 @@ +RIGHT \ No newline at end of file diff --git a/unit_tests/preprocessor/output/concat-operator-stacked-override b/unit_tests/preprocessor/output/concat-operator-stacked-override new file mode 100644 index 00000000..298b5aa2 --- /dev/null +++ b/unit_tests/preprocessor/output/concat-operator-stacked-override @@ -0,0 +1,7 @@ +// This should produce "RIGHT" and not "WRONG" +#define WR RI +#define ONG GHT +#define REPLACE(WR, ONG) WR##ONG +#define REPLACE2(WR, ONG) REPLACE(WR, ONG) +REPLACE2(WR, ONG) + diff --git a/unit_tests/preprocessor/output/concat-operator-stacked-override.correct b/unit_tests/preprocessor/output/concat-operator-stacked-override.correct new file mode 100644 index 00000000..459b9a37 --- /dev/null +++ b/unit_tests/preprocessor/output/concat-operator-stacked-override.correct @@ -0,0 +1 @@ +RIGHT \ No newline at end of file