⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pathtest.cpp

📁 This software aims to create an applet and panel tools to manage a wireless interface card, such as
💻 CPP
📖 第 1 页 / 共 2 页
字号:

	p.parse("\\", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 0);
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\");

	p.parse("/usr", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 0);
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr");

	p.parse("\\usr", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 0);
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr");

	p.parse("/usr/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\");

	p.parse("\\usr\\", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\");
}


void PathTest::testParseWindows2()
{
	Path p;
	p.parse("usr/", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr\\");

	p.parse("usr", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 0);
	assert (p[0] == "usr");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr");

	p.parse("usr\\", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr\\");
	
	p.parse("/usr/local", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local");

	p.parse("\\usr\\local", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local");

	p.parse("/usr/local/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 2);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\");

	p.parse("usr/local/", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 2);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr\\local\\");

	p.parse("usr/local", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr\\local");

	p.parse("/usr/local/bin", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 2);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin");

	p.parse("/usr/local/bin/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");

	p.parse("/usr//local/bin/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");

	p.parse("/usr/local//bin/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");

	p.parse("/usr/local/bin//", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");
}

	
void PathTest::testParseWindows3()
{
	Path p;
	p.parse("/usr/local/./bin/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");

	p.parse("./usr/local/bin/", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr\\local\\bin\\");

	p.parse("./usr/local/bin/./", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr\\local\\bin\\");

	p.parse("./usr/local/bin/.", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "usr\\local\\bin\\.");

	p.parse("/usr/local/lib/../bin/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");

	p.parse("/usr/local/lib/../bin/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");

	p.parse("\\usr\\local\\lib\\..\\bin\\", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "bin");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\bin\\");

	p.parse("/usr/local/lib/../../", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "usr");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\");

	p.parse("/usr/local/lib/..", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 3);
	assert (p[0] == "usr");
	assert (p[1] == "local");
	assert (p[2] == "lib");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\usr\\local\\lib\\..");

	p.parse("../usr/local/lib/", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 4);
	assert (p[0] == "..");
	assert (p[1] == "usr");
	assert (p[2] == "local");
	assert (p[3] == "lib");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "..\\usr\\local\\lib\\");

	p.parse("/usr/../lib/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "lib");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\lib\\");

	p.parse("/usr/../../lib/", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "lib");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\lib\\");

	p.parse("local/../../lib/", Path::PATH_WINDOWS);
	assert (p.isRelative());
	assert (!p.isAbsolute());
	assert (p.depth() == 2);
	assert (p[0] == "..");
	assert (p[1] == "lib");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "..\\lib\\");
}


void PathTest::testParseWindows4()
{
	Path p;
	p.parse("\\\\server\\files", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "files");
	assert (p.getNode() == "server");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\\\server\\files\\");

	p.parse("\\\\server\\files\\", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "files");
	assert (p.getNode() == "server");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\\\server\\files\\");
	
	p.parse("\\\\server\\files\\file", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "files");
	assert (p.getNode() == "server");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\\\server\\files\\file");

	p.parse("\\\\server\\files\\dir\\file", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 2);
	assert (p[0] == "files");
	assert (p[1] == "dir");
	assert (p.getNode() == "server");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\\\server\\files\\dir\\file");

	p.parse("\\\\server\\files\\dir\\file", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 2);
	assert (p[0] == "files");
	assert (p[1] == "dir");
	assert (p.getNode() == "server");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\\\server\\files\\dir\\file");	

	p.parse("\\\\server", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 0);
	assert (p.getNode() == "server");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "\\\\server\\");
	
	p.parse("c:\\", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 0);
	assert (p.getDevice() == "c");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "c:\\");	

	p.parse("c:\\WinNT", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 0);
	assert (p.getDevice() == "c");
	assert (!p.isDirectory());
	assert (p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "c:\\WinNT");	

	p.parse("c:\\WinNT\\", Path::PATH_WINDOWS);
	assert (!p.isRelative());
	assert (p.isAbsolute());
	assert (p.depth() == 1);
	assert (p[0] == "WinNT");
	assert (p.getDevice() == "c");
	assert (p.isDirectory());
	assert (!p.isFile());
	assert (p.toString(Path::PATH_WINDOWS) == "c:\\WinNT\\");
	
	try
	{
		p.parse("

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -