diff --git a/test/test.vcproj b/test/test.vcproj index ac2270673..9b626b332 100755 --- a/test/test.vcproj +++ b/test/test.vcproj @@ -486,10 +486,6 @@ RelativePath=".\testexceptionsafety.cpp" > - - @@ -510,6 +506,10 @@ RelativePath=".\testother.cpp" > + + diff --git a/test/testfilelister.cpp b/test/testfilelister.cpp deleted file mode 100644 index 08cc64b39..000000000 --- a/test/testfilelister.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Cppcheck - A tool for static C/C++ code analysis - * Copyright (C) 2007-2010 Daniel Marjamäki and Cppcheck team. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include "testsuite.h" - -#if defined(_WIN32) -#include "../lib/filelister_win32.h" -#else // POSIX-style system -#include "../lib/filelister_unix.h" -#endif - -class TestFileLister : public TestFixture -{ -public: - TestFileLister() : TestFixture("TestFileLister") - { } - -private: - - void run() - { - TEST_CASE(simplify_path); - } - - void simplify_path() - { - ASSERT_EQUALS("index.h", getFileLister()->simplifyPath("index.h")); - ASSERT_EQUALS("/index.h", getFileLister()->simplifyPath("/index.h")); - ASSERT_EQUALS("/path/", getFileLister()->simplifyPath("/path/")); - ASSERT_EQUALS("/", getFileLister()->simplifyPath("/")); - ASSERT_EQUALS("./index.h", getFileLister()->simplifyPath("./index.h")); - ASSERT_EQUALS("../index.h", getFileLister()->simplifyPath("../index.h")); - ASSERT_EQUALS("/index.h", getFileLister()->simplifyPath("/path/../index.h")); - ASSERT_EQUALS("/index.h", getFileLister()->simplifyPath("/path/../other/../index.h")); - ASSERT_EQUALS("/index.h", getFileLister()->simplifyPath("/path/../other///././../index.h")); - ASSERT_EQUALS("../path/index.h", getFileLister()->simplifyPath("../path/other/../index.h")); - ASSERT_EQUALS("a/index.h", getFileLister()->simplifyPath("a/../a/index.h")); - ASSERT_EQUALS("a/..", getFileLister()->simplifyPath("a/..")); - ASSERT_EQUALS("../../src/test.cpp", getFileLister()->simplifyPath("../../src/test.cpp")); - ASSERT_EQUALS("../../../src/test.cpp", getFileLister()->simplifyPath("../../../src/test.cpp")); - } -}; - -REGISTER_TEST(TestFileLister) diff --git a/test/testpath.cpp b/test/testpath.cpp new file mode 100644 index 000000000..c21823cfb --- /dev/null +++ b/test/testpath.cpp @@ -0,0 +1,55 @@ +/* + * Cppcheck - A tool for static C/C++ code analysis + * Copyright (C) 2007-2010 Daniel Marjamäki and Cppcheck team. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include "testsuite.h" +#include "path.h" + +class TestPath : public TestFixture +{ +public: + TestPath() : TestFixture("TestPath") + { } + +private: + + void run() + { + TEST_CASE(simplify_path); + } + + void simplify_path() + { + ASSERT_EQUALS("index.h", Path::simplifyPath("index.h")); + ASSERT_EQUALS("/index.h", Path::simplifyPath("/index.h")); + ASSERT_EQUALS("/path/", Path::simplifyPath("/path/")); + ASSERT_EQUALS("/", Path::simplifyPath("/")); + ASSERT_EQUALS("./index.h", Path::simplifyPath("./index.h")); + ASSERT_EQUALS("../index.h", Path::simplifyPath("../index.h")); + ASSERT_EQUALS("/index.h", Path::simplifyPath("/path/../index.h")); + ASSERT_EQUALS("/index.h", Path::simplifyPath("/path/../other/../index.h")); + ASSERT_EQUALS("/index.h", Path::simplifyPath("/path/../other///././../index.h")); + ASSERT_EQUALS("../path/index.h", Path::simplifyPath("../path/other/../index.h")); + ASSERT_EQUALS("a/index.h", Path::simplifyPath("a/../a/index.h")); + ASSERT_EQUALS("a/..", Path::simplifyPath("a/..")); + ASSERT_EQUALS("../../src/test.cpp", Path::simplifyPath("../../src/test.cpp")); + ASSERT_EQUALS("../../../src/test.cpp", Path::simplifyPath("../../../src/test.cpp")); + } +}; + +REGISTER_TEST(TestPath)