public function testByteSubstr() { $example = 'sfbfs%f472bss7842hdw7'; $result = UString::byteSubstr($example); $this->assertEquals(21, mb_strlen($result)); $this->assertEquals($example, $result); $result = UString::byteSubstr($example, 2); $this->assertEquals(19, mb_strlen($result)); $expected = 'bfs%f472bss7842hdw7'; $this->assertEquals($expected, $result); $result = UString::byteSubstr($example, 0, 5); $this->assertEquals(5, mb_strlen($result)); $expected = 'sfbfs'; $this->assertEquals($expected, $result); $result = UString::byteSubstr($example, 4, 12); $this->assertEquals(12, mb_strlen($result)); $expected = 's%f472bss784'; $this->assertEquals($expected, $result); }