aboutsummaryrefslogtreecommitdiff
path: root/test/std/localization/locales/locale/locale.operators/eq.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/localization/locales/locale/locale.operators/eq.pass.cpp')
-rw-r--r--test/std/localization/locales/locale/locale.operators/eq.pass.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/test/std/localization/locales/locale/locale.operators/eq.pass.cpp b/test/std/localization/locales/locale/locale.operators/eq.pass.cpp
new file mode 100644
index 000000000000..ec118e07ff27
--- /dev/null
+++ b/test/std/localization/locales/locale/locale.operators/eq.pass.cpp
@@ -0,0 +1,84 @@
+//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <locale>
+
+// basic_string<char> name() const;
+
+#include <locale>
+#include <cassert>
+
+#include "platform_support.h" // locale name macros
+
+int main()
+{
+ std::locale cloc;
+ std::locale copy(cloc);
+ std::locale n1(LOCALE_en_US_UTF_8);
+ std::locale n2(LOCALE_en_US_UTF_8);
+ std::locale noname1 = n1.combine<std::ctype<char> >(cloc);
+ std::locale nonamec = noname1;
+ std::locale noname2 = n1.combine<std::ctype<char> >(cloc);
+
+ assert(cloc == cloc);
+ assert(cloc == copy);
+ assert(cloc != n1);
+ assert(cloc != n2);
+ assert(cloc != noname1);
+ assert(cloc != nonamec);
+ assert(cloc != noname2);
+
+ assert(copy == cloc);
+ assert(copy == copy);
+ assert(copy != n1);
+ assert(copy != n2);
+ assert(copy != noname1);
+ assert(copy != nonamec);
+ assert(copy != noname2);
+
+ assert(n1 != cloc);
+ assert(n1 != copy);
+ assert(n1 == n1);
+ assert(n1 == n2);
+ assert(n1 != noname1);
+ assert(n1 != nonamec);
+ assert(n1 != noname2);
+
+ assert(n2 != cloc);
+ assert(n2 != copy);
+ assert(n2 == n1);
+ assert(n2 == n2);
+ assert(n2 != noname1);
+ assert(n2 != nonamec);
+ assert(n2 != noname2);
+
+ assert(noname1 != cloc);
+ assert(noname1 != copy);
+ assert(noname1 != n1);
+ assert(noname1 != n2);
+ assert(noname1 == noname1);
+ assert(noname1 == nonamec);
+ assert(noname1 != noname2);
+
+ assert(nonamec != cloc);
+ assert(nonamec != copy);
+ assert(nonamec != n1);
+ assert(nonamec != n2);
+ assert(nonamec == noname1);
+ assert(nonamec == nonamec);
+ assert(nonamec != noname2);
+
+ assert(noname2 != cloc);
+ assert(noname2 != copy);
+ assert(noname2 != n1);
+ assert(noname2 != n2);
+ assert(noname2 != noname1);
+ assert(noname2 != nonamec);
+ assert(noname2 == noname2);
+}