libmrbesen/tests/filestests.cpp

102 lines
2.0 KiB
C++

#include "test.h"
#include "files.h"
#include <string>
using namespace mrbesen;
int testFiles_parent() {
std::string out, out2;
std::string testpath1 = "/asdf1/asdf2/test.png";
Files::parent(testpath1, out);
ASSERT(out == "/asdf1/asdf2/", out);
Files::parent(out, out2);
ASSERT(out2 == "/asdf1/", out2);
Files::parent(out2, out);
ASSERT(out == "/", out);
testpath1 = "assets/tex/img1.png";
Files::parent(testpath1, out);
ASSERT(out == "assets/tex/", out);
Files::parent("asd", out);
ASSERT(out == "", out);
return TESTGOOD;
}
int testFiles_file() {
std::string a;
Files::file("/abc/def/123.txt", a);
ASSERT(a == "123.txt", "normalfile" << a);
Files::file("/abc/def/.gitignore", a);
ASSERT(a == ".gitignore", "dotfiles" << a);
Files::file("/abc/def/executeable", a);
ASSERT(a == "executeable", "no extention" << a);
Files::file("123.txt", a);
ASSERT(a == "123.txt", "normalfile - nopath" << a);
Files::file(".gitignore", a);
ASSERT(a == ".gitignore", "dotfiles - nopath " << a);
Files::file("executeable", a);
ASSERT(a == "executeable", "no extention - nopath " << a);
return TESTGOOD;
}
int testFiles_extention() {
std::string a;
Files::extention("abc/asd/1.txt", a);
ASSERT(a == "txt", a);
Files::extention("1.txt", a);
ASSERT(a == "txt", a);
Files::extention("/1.txt", a);
ASSERT(a == "txt", "");
Files::extention("/a.b.c/ad./1.txt", a);
ASSERT(a == "txt", "");
Files::extention("a.b.c/ad./1.txt", a);
ASSERT(a == "txt", "");
Files::extention("./1.txt", a);
ASSERT(a == "txt", "");
Files::extention("/a/ad/1", a);
ASSERT(a == "", "");
Files::extention("/a/ad/", a);
ASSERT(a == "", "");
Files::extention("/", a);
ASSERT(a == "", "");
Files::extention("/a", a);
ASSERT(a == "", "");
Files::extention("/a.", a);
ASSERT(a == "", "");
Files::extention("/a.b", a);
ASSERT(a == "b", "");
Files::extention("/sad.asd/ab", a);
ASSERT(a == "", "");
Files::extention("sad.asd/ab", a);
ASSERT(a == "", "");
return TESTGOOD;
}