????JFIF??x?x????'
| Server IP : 104.21.30.238 / Your IP : 216.73.216.113 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././opt/cpanel/ea-ruby27/src/passenger-release-6.0.23/test/cxx/StrIntTools/ |
Upload File : |
#include <TestSupport.h>
#include <StrIntTools/StrIntUtils.h>
using namespace Passenger;
using namespace std;
namespace tut {
struct StrIntTools_StrIntUtilsTest: public TestBase {
};
void testTruncate(const char* str, const char *tokens, int maxBetweenTokens, const char* expected) {
std::stringstream sstream;
truncateBeforeTokens(str, tokens, maxBetweenTokens, sstream);
ensure("got [" + sstream.str() + "], expected [" + expected + "]", sstream.str() == expected);
}
DEFINE_TEST_GROUP(StrIntTools_StrIntUtilsTest);
TEST_METHOD(1) {
set_test_name("no change should occur");
testTruncate("", "", 0, "");
testTruncate("testwithout/tokens", "", 2, "testwithout/tokens");
testTruncate("", "/", 2, "");
testTruncate("/", "", 2, "/");
testTruncate("/", "/", 2, "/");
testTruncate("hello", "/", 2, "hello");
testTruncate("/hello", "/", 3, "/hello");
}
TEST_METHOD(2) {
set_test_name("truncation must not touch begin/end token");
testTruncate("hello/", "/", 3, "hel/");
testTruncate("/hello/", "/", 3, "/hel/");
}
TEST_METHOD(3) {
set_test_name("exact truncation and multiple split tokens");
testTruncate("hello/world/Main.cpp", "/", 2, "he/wo/Main.cpp");
testTruncate("hello/world\\Main.cpp", "/\\", 1, "h/w\\Main.cpp");
testTruncate("hello/world\\Main.cpp", "/", 1, "h/world\\Main.cpp");
testTruncate("/he/llo/worl/", "/", 3, "/he/llo/wor/");
}
TEST_METHOD(4) {
set_test_name("should ignore non-UTF characters in escapeHTML");
char s[10];
snprintf(s, 10, "h\xeallo"); // hĂȘllo
string result = escapeHTML(s);
ensure_equals(result, "h?llo");
}
}