/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package org.python.pydev.dltk.console;
import com.aptana.interactive_console.console.ScriptConsoleHistory;
import junit.framework.TestCase;
public class ScriptConsoleHistoryTest extends TestCase {
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testScriptConsoleWithMatchingStart2() throws Exception {
ScriptConsoleHistory c = new ScriptConsoleHistory();
c.update("aaa");
c.commit();
c.update("bbb");
c.commit();
c.setMatchStart("a");
assertTrue(c.prev());
assertEquals("aaa", c.get());
c.setMatchStart("b");
assertFalse(c.prev()); //must cycle (will change other tests too)
assertEquals("aaa", c.get());
}
public void testScriptConsoleWithMatchingStart() throws Exception {
ScriptConsoleHistory c = new ScriptConsoleHistory();
c.update("1. line1bbb");
c.commit();
c.update("1. line1aaa");
c.commit();
c.update("1. line2aaa");
c.commit();
c.update("1. line3aaa");
c.commit();
assertEquals("", c.get());
c.setMatchStart("1. line1");
assertTrue(c.prev());
assertEquals("1. line1aaa", c.get());
assertTrue(c.prev());
assertEquals("1. line1bbb", c.get());
assertFalse(c.prev());
assertEquals("1. line1bbb", c.get());
assertTrue(c.next());
assertEquals("1. line1aaa", c.get());
assertFalse(c.next());
assertEquals("1. line1aaa", c.get());
}
public void testScriptConsole() throws Exception {
ScriptConsoleHistory c = new ScriptConsoleHistory();
assertFalse(c.prev());
assertFalse(c.next());
c.update("test");
assertEquals("test", c.get());
assertFalse(c.prev());
assertEquals("test", c.get());
assertFalse(c.next());
assertEquals("test", c.get());
c.commit();
assertEquals("", c.get());
assertTrue(c.prev());
assertEquals("test", c.get());
assertFalse(c.prev());
assertEquals("test", c.get());
assertFalse(c.next()); //the 'current' buffer doesn't enter the history
assertEquals("test", c.get());
assertFalse(c.prev());
assertEquals("test", c.get());
c.update("kkk");
c.commit();
assertEquals("test\nkkk\n", c.getAsDoc().get());
assertFalse(c.next());
assertEquals("", c.get());
assertTrue(c.prev());
assertEquals("kkk", c.get());
assertTrue(c.prev());
assertEquals("test", c.get());
c.update("");
c.commit();
assertEquals("test\nkkk\n\n", c.getAsDoc().get());
assertTrue(c.prev());
assertEquals("kkk", c.get());
}
}