diff --git a/tests/tests/basic_tests.cpp b/tests/tests/basic_tests.cpp index c19d0b88..951e7695 100644 --- a/tests/tests/basic_tests.cpp +++ b/tests/tests/basic_tests.cpp @@ -41,13 +41,36 @@ using namespace graphene::db; BOOST_FIXTURE_TEST_SUITE( basic_tests, database_fixture ) -/** verify that names are +/** verify that names are RFC-1035 compliant https://tools.ietf.org/html/rfc1035 * https://github.com/cryptonomex/graphene/issues/15 */ BOOST_AUTO_TEST_CASE( valid_name_test ) { BOOST_REQUIRE( is_valid_name( "aaa-bbb-1" ) ); + + BOOST_REQUIRE( !is_valid_name( "aaa,bbb-1" ) ); + BOOST_REQUIRE( !is_valid_name( "aaa_bbb-1" ) ); + BOOST_REQUIRE( !is_valid_name( "aaa-BBB-1" ) ); + BOOST_REQUIRE( !is_valid_name( "1aaa-bbb" ) ); + BOOST_REQUIRE( !is_valid_name( "-aaa-bbb-1" ) ); + BOOST_REQUIRE( !is_valid_name( ".aaa-bbb-1" ) ); + BOOST_REQUIRE( !is_valid_name( "/aaa-bbb-1" ) ); + + BOOST_REQUIRE( !is_valid_name( "aaa-bbb-1-" ) ); + BOOST_REQUIRE( !is_valid_name( "aaa-bbb-1." ) ); + BOOST_REQUIRE( !is_valid_name( "aaa-bbb-1/" ) ); + + BOOST_REQUIRE( !is_valid_name( "aaa..bbb-1" ) ); + BOOST_REQUIRE( is_valid_name( "aaa.bbb-1" ) ); + BOOST_REQUIRE( !is_valid_name( "aaa.bbb.1" ) ); + + BOOST_REQUIRE( is_valid_name( "aaa--bbb--1" ) ); + BOOST_REQUIRE( is_valid_name( "xn--sandmnnchen-p8a.de" ) ); + + BOOST_REQUIRE( is_valid_name( "this-label-has-less-than-64-characters--63-to-be-really-precise" ) ); + BOOST_REQUIRE( !is_valid_name( "this-label-has-more-than-63-characters---64-to-be-really-precise" ) ); + BOOST_REQUIRE( !is_valid_name( "none.of.these.labels.has.more.than-63.chars--but.still.not.valid" ) ); } BOOST_AUTO_TEST_CASE( price_test )