Merge pull request #102 from pmconrad/rfc_1035

See #15
This commit is contained in:
Vikram Rajkumar 2015-06-29 11:13:36 -04:00
commit 7dd3d92a6c
2 changed files with 26 additions and 2 deletions

View file

@ -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;

View file

@ -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 )