mirror of
https://github.com/boostorg/filesystem.git
synced 2026-01-31 08:12:08 +00:00
refresh path functionality and names
[SVN r16446]
This commit is contained in:
@@ -64,6 +64,7 @@ int test_main( int, char*[] )
|
||||
path p1( "fe/fi/fo/fum" );
|
||||
path p2( p1 );
|
||||
path p3;
|
||||
BOOST_TEST( p1.string() != p3.string() );
|
||||
p3 = p2;
|
||||
|
||||
// p1.branch_path() = p2; // should fail
|
||||
@@ -83,8 +84,8 @@ int test_main( int, char*[] )
|
||||
BOOST_TEST( path( "foo" ).branch_path().string() == "" );
|
||||
BOOST_TEST( p1.leaf() == "fum" );
|
||||
BOOST_TEST( p1.branch_path().string() == "fe/fi/fo" );
|
||||
BOOST_TEST( path( "" ).is_null() == true );
|
||||
BOOST_TEST( path( "foo" ).is_null() == false );
|
||||
BOOST_TEST( path( "" ).empty() == true );
|
||||
BOOST_TEST( path( "foo" ).empty() == false );
|
||||
|
||||
PATH_CHECK( "", "" );
|
||||
|
||||
@@ -233,40 +234,97 @@ int test_main( int, char*[] )
|
||||
BOOST_TEST( *prior( itr_ck.end() ) == std::string( "foo" ) );
|
||||
BOOST_TEST( prior( itr_ck.end() ) == itr_ck.begin() );
|
||||
|
||||
BOOST_TEST( path( "/" ).relative_path().string() == "" );
|
||||
BOOST_TEST( path( "/" ).branch_path().string() == "" );
|
||||
BOOST_TEST( path( "/" ).leaf() == "/" );
|
||||
BOOST_TEST( path( "/" ).system_specific_root() == "" );
|
||||
BOOST_TEST( path( "/" ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "/" ).root_path().string() == "/" );
|
||||
path p;
|
||||
|
||||
BOOST_TEST( path( "foo" ).relative_path().string() == "foo" );
|
||||
BOOST_TEST( path( "foo" ).branch_path().string() == "" );
|
||||
BOOST_TEST( path( "foo" ).leaf() == "foo" );
|
||||
BOOST_TEST( path( "foo" ).system_specific_root() == "" );
|
||||
BOOST_TEST( path( "foo" ).root_directory() == "" );
|
||||
BOOST_TEST( path( "foo" ).root_path().string() == "" );
|
||||
p = "";
|
||||
BOOST_TEST( p.relative_path().string() == "" );
|
||||
BOOST_TEST( p.branch_path().string() == "" );
|
||||
BOOST_TEST( p.leaf() == "" );
|
||||
BOOST_TEST( p.system_specific_root() == "" );
|
||||
BOOST_TEST( p.root_directory() == "" );
|
||||
BOOST_TEST( p.root_path().string() == "" );
|
||||
BOOST_TEST( !p.has_root_path() );
|
||||
BOOST_TEST( !p.has_system_specific_root() );
|
||||
BOOST_TEST( !p.has_root_directory() );
|
||||
BOOST_TEST( !p.has_relative_path() );
|
||||
BOOST_TEST( !p.has_leaf() );
|
||||
BOOST_TEST( !p.has_branch_path() );
|
||||
BOOST_TEST( !p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "/foo" ).relative_path().string() == "foo" );
|
||||
BOOST_TEST( path( "/foo" ).branch_path().string() == "/" );
|
||||
BOOST_TEST( path( "/foo" ).leaf() == "foo" );
|
||||
BOOST_TEST( path( "/foo" ).system_specific_root() == "" );
|
||||
BOOST_TEST( path( "/foo" ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "/foo" ).root_path().string() == "/" );
|
||||
p = "/";
|
||||
BOOST_TEST( p.relative_path().string() == "" );
|
||||
BOOST_TEST( p.branch_path().string() == "" );
|
||||
BOOST_TEST( p.leaf() == "/" );
|
||||
BOOST_TEST( p.system_specific_root() == "" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( !p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( !p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( !p.has_branch_path() );
|
||||
BOOST_TEST( fs::detail::single_rooted_filesystem() == p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "foo/bar" ).relative_path().string() == "foo/bar" );
|
||||
BOOST_TEST( path( "foo/bar" ).branch_path().string() == "foo" );
|
||||
BOOST_TEST( path( "foo/bar" ).leaf() == "bar" );
|
||||
BOOST_TEST( path( "foo/bar" ).system_specific_root() == "" );
|
||||
BOOST_TEST( path( "foo/bar" ).root_directory() == "" );
|
||||
BOOST_TEST( path( "foo/bar" ).root_path().string() == "" );
|
||||
p = "foo";
|
||||
BOOST_TEST( p.relative_path().string() == "foo" );
|
||||
BOOST_TEST( p.branch_path().string() == "" );
|
||||
BOOST_TEST( p.leaf() == "foo" );
|
||||
BOOST_TEST( p.system_specific_root() == "" );
|
||||
BOOST_TEST( p.root_directory() == "" );
|
||||
BOOST_TEST( p.root_path().string() == "" );
|
||||
BOOST_TEST( !p.has_root_path() );
|
||||
BOOST_TEST( !p.has_system_specific_root() );
|
||||
BOOST_TEST( !p.has_root_directory() );
|
||||
BOOST_TEST( p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( !p.has_branch_path() );
|
||||
BOOST_TEST( !p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "/foo/bar" ).relative_path().string() == "foo/bar" );
|
||||
BOOST_TEST( path( "/foo/bar" ).branch_path().string() == "/foo" );
|
||||
BOOST_TEST( path( "/foo/bar" ).leaf() == "bar" );
|
||||
BOOST_TEST( path( "/foo/bar" ).system_specific_root() == "" );
|
||||
BOOST_TEST( path( "/foo/bar" ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "/foo/bar" ).root_path().string() == "/" );
|
||||
p = "/foo";
|
||||
BOOST_TEST( p.relative_path().string() == "foo" );
|
||||
BOOST_TEST( p.branch_path().string() == "/" );
|
||||
BOOST_TEST( p.leaf() == "foo" );
|
||||
BOOST_TEST( p.system_specific_root() == "" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( !p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( fs::detail::single_rooted_filesystem() == p.is_complete() );
|
||||
|
||||
p = "foo/bar";
|
||||
BOOST_TEST( p.relative_path().string() == "foo/bar" );
|
||||
BOOST_TEST( p.branch_path().string() == "foo" );
|
||||
BOOST_TEST( p.leaf() == "bar" );
|
||||
BOOST_TEST( p.system_specific_root() == "" );
|
||||
BOOST_TEST( p.root_directory() == "" );
|
||||
BOOST_TEST( p.root_path().string() == "" );
|
||||
BOOST_TEST( !p.has_root_path() );
|
||||
BOOST_TEST( !p.has_system_specific_root() );
|
||||
BOOST_TEST( !p.has_root_directory() );
|
||||
BOOST_TEST( p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( !p.is_complete() );
|
||||
|
||||
p = "/foo/bar";
|
||||
BOOST_TEST( p.relative_path().string() == "foo/bar" );
|
||||
BOOST_TEST( p.branch_path().string() == "/foo" );
|
||||
BOOST_TEST( p.leaf() == "bar" );
|
||||
BOOST_TEST( p.system_specific_root() == "" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( !p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( fs::detail::single_rooted_filesystem() == p.is_complete() );
|
||||
|
||||
if ( std::strcmp( fs::detail::implementation_name(), "Windows" ) == 0 )
|
||||
{
|
||||
@@ -288,61 +346,125 @@ int test_main( int, char*[] )
|
||||
PATH_CHECK( path( "c:/foo", fs::system_specific ), "c:/foo" );
|
||||
PATH_CHECK( path( "prn:", fs::system_specific ), "prn:" );
|
||||
|
||||
BOOST_TEST( path( "c:", fs::system_specific ).relative_path().string() == "" );
|
||||
BOOST_TEST( path( "c:", fs::system_specific ).branch_path().string() == "" );
|
||||
BOOST_TEST( path( "c:", fs::system_specific ).leaf() == "c:" );
|
||||
BOOST_TEST( path( "c:", fs::system_specific ).system_specific_root() == "c:" );
|
||||
BOOST_TEST( path( "c:", fs::system_specific ).root_directory() == "" );
|
||||
BOOST_TEST( path( "c:", fs::system_specific ).root_path().string() == "c:" );
|
||||
p = path( "c:", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "" );
|
||||
BOOST_TEST( p.branch_path().string() == "" );
|
||||
BOOST_TEST( p.leaf() == "c:" );
|
||||
BOOST_TEST( p.system_specific_root() == "c:" );
|
||||
BOOST_TEST( p.root_directory() == "" );
|
||||
BOOST_TEST( p.root_path().string() == "c:" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( !p.has_root_directory() );
|
||||
BOOST_TEST( !p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( !p.has_branch_path() );
|
||||
BOOST_TEST( !p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "c:foo", fs::system_specific ).relative_path().string() == "foo" );
|
||||
BOOST_TEST( path( "c:foo", fs::system_specific ).branch_path().string() == "c:" );
|
||||
BOOST_TEST( path( "c:foo", fs::system_specific ).leaf() == "foo" );
|
||||
BOOST_TEST( path( "c:foo", fs::system_specific ).system_specific_root() == "c:" );
|
||||
BOOST_TEST( path( "c:foo", fs::system_specific ).root_directory() == "" );
|
||||
BOOST_TEST( path( "c:foo", fs::system_specific ).root_path().string() == "c:" );
|
||||
p = path( "c:foo", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "foo" );
|
||||
BOOST_TEST( p.branch_path().string() == "c:" );
|
||||
BOOST_TEST( p.leaf() == "foo" );
|
||||
BOOST_TEST( p.system_specific_root() == "c:" );
|
||||
BOOST_TEST( p.root_directory() == "" );
|
||||
BOOST_TEST( p.root_path().string() == "c:" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( !p.has_root_directory() );
|
||||
BOOST_TEST( p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( !p.is_complete() );
|
||||
|
||||
p = path( "c:/", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "" );
|
||||
BOOST_TEST( p.branch_path().string() == "c:" );
|
||||
BOOST_TEST( p.leaf() == "/" );
|
||||
BOOST_TEST( p.system_specific_root() == "c:" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "c:/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( !p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "c:/", fs::system_specific ).relative_path().string() == "" );
|
||||
BOOST_TEST( path( "c:/", fs::system_specific ).branch_path().string() == "c:" );
|
||||
BOOST_TEST( path( "c:/", fs::system_specific ).leaf() == "/" );
|
||||
BOOST_TEST( path( "c:/", fs::system_specific ).system_specific_root() == "c:" );
|
||||
BOOST_TEST( path( "c:/", fs::system_specific ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "c:/", fs::system_specific ).root_path().string() == "c:/" );
|
||||
p = path( "c:/foo", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "foo" );
|
||||
BOOST_TEST( p.branch_path().string() == "c:/" );
|
||||
BOOST_TEST( p.leaf() == "foo" );
|
||||
BOOST_TEST( p.system_specific_root() == "c:" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "c:/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "c:/foo", fs::system_specific ).relative_path().string() == "foo" );
|
||||
BOOST_TEST( path( "c:/foo", fs::system_specific ).branch_path().string() == "c:/" );
|
||||
BOOST_TEST( path( "c:/foo", fs::system_specific ).leaf() == "foo" );
|
||||
BOOST_TEST( path( "c:/foo", fs::system_specific ).system_specific_root() == "c:" );
|
||||
BOOST_TEST( path( "c:/foo", fs::system_specific ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "c:/foo", fs::system_specific ).root_path().string() == "c:/" );
|
||||
p = path( "//share", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "" );
|
||||
BOOST_TEST( p.branch_path().string() == "" );
|
||||
BOOST_TEST( p.leaf() == "//share" );
|
||||
BOOST_TEST( p.system_specific_root() == "//share" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "//share/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( !p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "//share", fs::system_specific ).relative_path().string() == "" );
|
||||
BOOST_TEST( path( "//share", fs::system_specific ).branch_path().string() == "" );
|
||||
BOOST_TEST( path( "//share", fs::system_specific ).leaf() == "//share" );
|
||||
BOOST_TEST( path( "//share", fs::system_specific ).system_specific_root() == "//share" );
|
||||
BOOST_TEST( path( "//share", fs::system_specific ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "//share", fs::system_specific ).root_path().string() == "//share/" );
|
||||
p = path( "//share/", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "" );
|
||||
BOOST_TEST( p.branch_path().string() == "//share" );
|
||||
BOOST_TEST( p.leaf() == "/" );
|
||||
BOOST_TEST( p.system_specific_root() == "//share" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "//share/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( !p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "//share/", fs::system_specific ).relative_path().string() == "" );
|
||||
BOOST_TEST( path( "//share/", fs::system_specific ).branch_path().string() == "//share" );
|
||||
BOOST_TEST( path( "//share/", fs::system_specific ).leaf() == "/" );
|
||||
BOOST_TEST( path( "//share/", fs::system_specific ).system_specific_root() == "//share" );
|
||||
BOOST_TEST( path( "//share/", fs::system_specific ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "//share/", fs::system_specific ).root_path().string() == "//share/" );
|
||||
p = path( "//share/foo", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "foo" );
|
||||
BOOST_TEST( p.branch_path().string() == "//share/" );
|
||||
BOOST_TEST( p.leaf() == "foo" );
|
||||
BOOST_TEST( p.system_specific_root() == "//share" );
|
||||
BOOST_TEST( p.root_directory() == "/" );
|
||||
BOOST_TEST( p.root_path().string() == "//share/" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( p.has_root_directory() );
|
||||
BOOST_TEST( p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( p.has_branch_path() );
|
||||
BOOST_TEST( p.is_complete() );
|
||||
|
||||
BOOST_TEST( path( "//share/foo", fs::system_specific ).relative_path().string() == "foo" );
|
||||
BOOST_TEST( path( "//share/foo", fs::system_specific ).branch_path().string() == "//share/" );
|
||||
BOOST_TEST( path( "//share/foo", fs::system_specific ).leaf() == "foo" );
|
||||
BOOST_TEST( path( "//share/foo", fs::system_specific ).system_specific_root() == "//share" );
|
||||
BOOST_TEST( path( "//share/foo", fs::system_specific ).root_directory() == "/" );
|
||||
BOOST_TEST( path( "//share/foo", fs::system_specific ).root_path().string() == "//share/" );
|
||||
|
||||
BOOST_TEST( path( "prn:", fs::system_specific ).relative_path().string() == "" );
|
||||
BOOST_TEST( path( "prn:", fs::system_specific ).branch_path().string() == "" );
|
||||
BOOST_TEST( path( "prn:", fs::system_specific ).leaf() == "prn:" );
|
||||
BOOST_TEST( path( "prn:", fs::system_specific ).system_specific_root() == "prn:" );
|
||||
BOOST_TEST( path( "prn:", fs::system_specific ).root_directory() == "" );
|
||||
BOOST_TEST( path( "prn:", fs::system_specific ).root_path().string() == "prn:" );
|
||||
p = path( "prn:", fs::system_specific );
|
||||
BOOST_TEST( p.relative_path().string() == "" );
|
||||
BOOST_TEST( p.branch_path().string() == "" );
|
||||
BOOST_TEST( p.leaf() == "prn:" );
|
||||
BOOST_TEST( p.system_specific_root() == "prn:" );
|
||||
BOOST_TEST( p.root_directory() == "" );
|
||||
BOOST_TEST( p.root_path().string() == "prn:" );
|
||||
BOOST_TEST( p.has_root_path() );
|
||||
BOOST_TEST( p.has_system_specific_root() );
|
||||
BOOST_TEST( !p.has_root_directory() );
|
||||
BOOST_TEST( !p.has_relative_path() );
|
||||
BOOST_TEST( p.has_leaf() );
|
||||
BOOST_TEST( !p.has_branch_path() );
|
||||
BOOST_TEST( p.is_complete() );
|
||||
|
||||
itr_ck = path( "c:", fs::system_specific );
|
||||
BOOST_TEST( *itr_ck.begin() == std::string( "c:" ) );
|
||||
|
||||
Reference in New Issue
Block a user