Chris@13: markTestSkipped('GNUReadline not enabled'); Chris@13: } Chris@13: Chris@17: $this->historyFile = \tempnam(\sys_get_temp_dir(), 'psysh_test_history'); Chris@17: \file_put_contents($this->historyFile, "_HiStOrY_V2_\n"); Chris@13: } Chris@13: Chris@13: public function testHistory() Chris@13: { Chris@13: $readline = new GNUReadline($this->historyFile); Chris@13: $this->assertEmpty($readline->listHistory()); Chris@13: $readline->addHistory('foo'); Chris@13: $this->assertSame(['foo'], $readline->listHistory()); Chris@13: $readline->addHistory('bar'); Chris@13: $this->assertSame(['foo', 'bar'], $readline->listHistory()); Chris@13: $readline->addHistory('baz'); Chris@13: $this->assertSame(['foo', 'bar', 'baz'], $readline->listHistory()); Chris@13: $readline->clearHistory(); Chris@13: $this->assertEmpty($readline->listHistory()); Chris@13: } Chris@13: Chris@13: /** Chris@13: * @depends testHistory Chris@13: */ Chris@13: public function testHistorySize() Chris@13: { Chris@13: $readline = new GNUReadline($this->historyFile, 2); Chris@13: $this->assertEmpty($readline->listHistory()); Chris@13: $readline->addHistory('foo'); Chris@13: $readline->addHistory('bar'); Chris@13: $this->assertSame(['foo', 'bar'], $readline->listHistory()); Chris@13: $readline->addHistory('baz'); Chris@13: $this->assertSame(['bar', 'baz'], $readline->listHistory()); Chris@13: $readline->addHistory('w00t'); Chris@13: $this->assertSame(['baz', 'w00t'], $readline->listHistory()); Chris@13: $readline->clearHistory(); Chris@13: $this->assertEmpty($readline->listHistory()); Chris@13: } Chris@13: Chris@13: /** Chris@13: * @depends testHistory Chris@13: */ Chris@13: public function testHistoryEraseDups() Chris@13: { Chris@13: $readline = new GNUReadline($this->historyFile, 0, true); Chris@13: $this->assertEmpty($readline->listHistory()); Chris@13: $readline->addHistory('foo'); Chris@13: $readline->addHistory('bar'); Chris@13: $readline->addHistory('foo'); Chris@13: $this->assertSame(['bar', 'foo'], $readline->listHistory()); Chris@13: $readline->addHistory('baz'); Chris@13: $readline->addHistory('w00t'); Chris@13: $readline->addHistory('baz'); Chris@13: $this->assertSame(['bar', 'foo', 'w00t', 'baz'], $readline->listHistory()); Chris@13: $readline->clearHistory(); Chris@13: $this->assertEmpty($readline->listHistory()); Chris@13: } Chris@13: }