function testEscape() { $sc = new StringScanner("^^^()\$\$()[]//"); $res = $sc->isMatch(StringScanner::escape("^^")); $this->assertEqual($res, 2); $this->assertEqual($sc[0], "^^"); $res = $sc->scanUntil(StringScanner::escape("\$\$")); $this->assertEqual($res, "^^^()\$\$"); $this->assertEqual($sc[0], "\$\$"); $res = $sc->scanUntil(StringScanner::escape("/")); $this->assertEqual($res, "()[]/"); $this->assertEqual($sc[0], "/"); $sc->unScan(); $res = $sc->scanUntil(StringScanner::escape("//")); $this->assertEqual($res, "()[]//"); $this->assertEqual($sc[0], "//"); }