/** * Return a substring of this sequence. * * @param int $start * @param int $end * * @return StringBuilder * @throws OutOfBoundsException */ public function substring($start, $end = null) { $start = (int) $start; $end = $end !== null ? (int) $end : null; if ($start < 0 || $start >= $this->length() || $end !== null && ($end < 0 || $end >= $this->length())) { throw new OutOfBoundsException(); } $string = mb_substr($this->string, $start, $end !== null ? $end + 1 : $this->length(), $this->encoding); $stringBuilder = new StringBuilder($string); $stringBuilder->setEncoding($this->encoding); return $stringBuilder; }
public function testSetEncoding() { $this->stringBuilder->setEncoding('ISO-8859-1'); $this->assertEquals('ISO-8859-1', $this->stringBuilder->getEncoding()); $this->assertEquals($this->initialString, $this->stringBuilder->__toString()); }