nulib/php/tests/strTest.php
2025-04-29 07:37:15 +04:00

52 lines
1.8 KiB
PHP

<?php
namespace nulib;
use nulib\tests\TestCase;
class strTest extends TestCase {
function test_replace() {
self::assertSame("premier deuxieme", str::replace("first second", [
"first" => "premier",
"second" => "deuxieme",
]));
self::assertSame("avant OK", str::replace("prefix prefixsuffix", [
"prefix" => "avant",
"prefixsuffix" => "OK",
]));
self::assertSame("avant avantsuffix", str::replace("prefix prefixsuffix", [
"prefix" => "avant",
"prefixsuffix" => "OK",
], false));
}
function test_split_tokens() {
self::assertNull(str::split_tokens(null));
self::assertSame([], str::split_tokens(""));
self::assertSame(["token"], str::split_tokens("token"));
self::assertSame(["t", "u", "v"], str::split_tokens(" t u v "));
self::assertSame(["t", "u", "v", "w"], str::split_tokens("\nt\n\nu\r\nv\rw"));
}
function test_camel2us() {
self::assertSame("a", str::camel2us("a"));
self::assertSame("aa", str::camel2us("aa"));
self::assertSame("aaa", str::camel2us("aaa"));
self::assertSame("a", str::camel2us("A"));
self::assertSame("aa", str::camel2us("Aa"));
self::assertSame("aa", str::camel2us("AA"));
self::assertSame("aaa", str::camel2us("Aaa"));
self::assertSame("aaa", str::camel2us("AAA"));
self::assertSame("a_aa", str::camel2us("AAa"));
self::assertSame("a_b", str::camel2us("aB"));
self::assertSame("aa_bb", str::camel2us("aaBb"));
self::assertSame("aaa_bbb", str::camel2us("aaaBbb"));
self::assertSame("aa_bb", str::camel2us("AaBb"));
self::assertSame("aaa_bbb", str::camel2us("AaaBbb"));
self::assertSame("_aaa", str::camel2us("_aaa"));
self::assertSame("__aaa_bbb", str::camel2us("__aaaBbb"));
self::assertSame("___aaa_bbb", str::camel2us("___AaaBbb"));
}
}