[libcxx] r292943 - A couple more tests for constexpr stuff in string_view. No changes other than test code.

Marshall Clow via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 24 08:28:02 PST 2017


Author: marshall
Date: Tue Jan 24 10:28:02 2017
New Revision: 292943

URL: http://llvm.org/viewvc/llvm-project?rev=292943&view=rev
Log:
A couple more tests for constexpr stuff in string_view. No changes other than test code.

Modified:
    libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp
    libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp

Modified: libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp?rev=292943&r1=292942&r2=292943&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp Tue Jan 24 10:28:02 2017
@@ -58,4 +58,23 @@ int main()
     test(u16string_view{u"123"});
     test(u32string_view{U"123"});
 #endif
+
+#if TEST_STD_VER > 14
+    {
+    constexpr string_view       sv { "123", 3 };
+    constexpr u16string_view u16sv {u"123", 3 };
+    constexpr u32string_view u32sv {U"123", 3 };
+    constexpr wstring_view     wsv {L"123", 3 };
+
+    static_assert (    *sv.rbegin() ==    sv[2], "" );
+    static_assert ( *u16sv.rbegin() == u16sv[2], "" );
+    static_assert ( *u32sv.rbegin() == u32sv[2], "" );
+    static_assert (   *wsv.rbegin() ==   wsv[2], "" );
+
+    static_assert (    *sv.crbegin() ==    sv[2], "" );
+    static_assert ( *u16sv.crbegin() == u16sv[2], "" );
+    static_assert ( *u32sv.crbegin() == u32sv[2], "" );
+    static_assert (   *wsv.crbegin() ==   wsv[2], "" );
+    }
+#endif
 }

Modified: libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp?rev=292943&r1=292942&r2=292943&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.iterators/rend.pass.cpp Tue Jan 24 10:28:02 2017
@@ -66,4 +66,23 @@ int main()
     test(u16string_view{u"123"});
     test(u32string_view{U"123"});
 #endif
+
+#if TEST_STD_VER > 14
+    {
+    constexpr string_view       sv { "123", 3 };
+    constexpr u16string_view u16sv {u"123", 3 };
+    constexpr u32string_view u32sv {U"123", 3 };
+    constexpr wstring_view     wsv {L"123", 3 };
+
+    static_assert (    *--sv.rend() ==    sv[0], "" );
+    static_assert ( *--u16sv.rend() == u16sv[0], "" );
+    static_assert ( *--u32sv.rend() == u32sv[0], "" );
+    static_assert (   *--wsv.rend() ==   wsv[0], "" );
+
+    static_assert (    *--sv.crend() ==    sv[0], "" );
+    static_assert ( *--u16sv.crend() == u16sv[0], "" );
+    static_assert ( *--u32sv.crend() == u32sv[0], "" );
+    static_assert (   *--wsv.crend() ==   wsv[0], "" );
+    }
+#endif
 }




More information about the cfe-commits mailing list