commit
7dd3d92a6c
2 changed files with 26 additions and 2 deletions
|
|
@ -67,8 +67,9 @@ bool is_valid_name( const string& s )
|
|||
case '/':
|
||||
if( ++num_slash > 1 ) return false;
|
||||
case '.':
|
||||
if( prev == '-' ) return false;
|
||||
case '-':
|
||||
if( prev == ' ' || prev == '/' || prev == '.' || prev == '-' ) return false;
|
||||
if( prev == ' ' || prev == '/' || prev == '.' ) return false;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -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 )
|
||||
|
|
|
|||
Loading…
Reference in a new issue