blob: 849e0accc7264eb4d8f77ef6db1909bf697aedae [file] [log] [blame]
// (C) Copyright Andy Tompkins 2010. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
// libs/uuid/test/test_name_generator.cpp -------------------------------//
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/name_generator.hpp>
#include <boost/detail/lightweight_test.hpp>
int main(int, char*[])
{
using namespace boost::uuids;
uuid dns_namespace_uuid = {{0x6b, 0xa7, 0xb8, 0x10, 0x9d, 0xad, 0x11, 0xd1, 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8}};
uuid correct = {{0x21, 0xf7, 0xf8, 0xde, 0x80, 0x51, 0x5b, 0x89, 0x86, 0x80, 0x01, 0x95, 0xef, 0x79, 0x8b, 0x6a}};
uuid wcorrect = {{0xb9, 0x50, 0x66, 0x13, 0x2c, 0x04, 0x51, 0x2d, 0xb8, 0xfe, 0xbf, 0x8d, 0x0b, 0xa1, 0xb2, 0x71}};
name_generator gen(dns_namespace_uuid);
uuid u = gen("www.widgets.com");
BOOST_TEST_EQ(u, correct);
BOOST_TEST_EQ(u.variant(), boost::uuids::uuid::variant_rfc_4122);
u = gen(L"www.widgets.com");
BOOST_TEST_EQ(u, wcorrect);
BOOST_TEST_EQ(u.variant(), boost::uuids::uuid::variant_rfc_4122);
u = gen(std::string("www.widgets.com"));
BOOST_TEST_EQ(u, correct);
BOOST_TEST_EQ(u.variant(), boost::uuids::uuid::variant_rfc_4122);
u = gen(std::wstring(L"www.widgets.com"));
BOOST_TEST_EQ(u, wcorrect);
BOOST_TEST_EQ(u.variant(), boost::uuids::uuid::variant_rfc_4122);
char name[] = "www.widgets.com";
u = gen(name, 15);
BOOST_TEST_EQ(u, correct);
BOOST_TEST_EQ(u.variant(), boost::uuids::uuid::variant_rfc_4122);
return boost::report_errors();
}