]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/uuid/test/test_string_generator.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / uuid / test / test_string_generator.cpp
index 6a418df37a22cf0402303e5e9e6f4176f3731aee..a3674eda40b06436b8ab86dcd54517527f342c86 100644 (file)
@@ -14,6 +14,7 @@
 #include <boost/uuid/string_generator.hpp>
 #include <boost/detail/lightweight_test.hpp>
 #include <boost/config.hpp>
+#include <stdexcept>
 #include <string>
 
 int main(int, char*[])
@@ -52,7 +53,37 @@ int main(int, char*[])
 
     u = gen(std::wstring(L"01234567-89ab-cdef-0123-456789abcdef"));
     BOOST_TEST_EQ(u, u_increasing);
+
+    u = gen(std::wstring(L"{01234567-89ab-cdef-0123-456789abcdef}"));
+    BOOST_TEST_EQ(u, u_increasing);
 #endif //BOOST_NO_STD_WSTRING
 
+    const char raw[36] = { '0', '1', '2', '3', '4', '5', '6', '7', '-',
+                           '8', '9', 'a', 'b', '-',
+                           'c', 'd', 'e', 'f', '-',
+                            0 , '1', '2', '3', '-',  // 0x00 character is intentional
+                           '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
+    BOOST_TEST_THROWS(gen(std::string(raw, 36)), std::runtime_error);
+
+    BOOST_TEST_THROWS(gen("01234567-89ab-cdef-0123456789abcdef"), std::runtime_error);
+    BOOST_TEST_THROWS(gen("01234567-89ab-cdef0123-456789abcdef"), std::runtime_error);
+    BOOST_TEST_THROWS(gen("01234567-89abcdef-0123-456789abcdef"), std::runtime_error);
+    BOOST_TEST_THROWS(gen("0123456789ab-cdef-0123-456789abcdef"), std::runtime_error);
+
+    BOOST_TEST_THROWS(gen("{01234567-89AB-CDEF-0123-456789abcdef)"), std::runtime_error);
+    BOOST_TEST_THROWS(gen("{01234567-89AB-CDEF-0123-456789abcdef"), std::runtime_error);
+    BOOST_TEST_THROWS(gen("01234567-89AB-CDEF-0123-456789abcdef}"), std::runtime_error);
+#ifndef BOOST_NO_STD_WSTRING
+    BOOST_TEST_THROWS(gen(std::wstring(L"{01234567-89AB-CDEF-0123-456789abcdef)")), std::runtime_error);
+    BOOST_TEST_THROWS(gen(std::wstring(L"{01234567-89AB-CDEF-0123-456789abcdef")), std::runtime_error);
+    BOOST_TEST_THROWS(gen(std::wstring(L"01234567-89AB-CDEF-0123-456789abcdef}")), std::runtime_error);
+    BOOST_TEST_THROWS(gen(std::wstring(L"G1234567-89AB-CDEF-0123-456789abcdef}")), std::runtime_error);
+#endif //BOOST_NO_STD_WSTRING
+
+    BOOST_TEST_THROWS(gen("G1234567-89AB-CDEF-0123-456789abcdef"), std::runtime_error);
+    BOOST_TEST_THROWS(gen("Have a great big roast-beef sandwich!"), std::runtime_error);
+
+    BOOST_TEST_THROWS(gen("83f8638b-8dca-4152-zzzz-2ca8b33039b4"), std::runtime_error);
+
     return boost::report_errors();
 }