1 36 package jline; 37 38 import java.util.*; 39 40 45 public class TestCompletion 46 extends JLineTestCase 47 { 48 public TestCompletion (String test) 49 { 50 super (test); 51 } 52 53 54 public void testSimpleCompletor () 55 throws Exception 56 { 57 for (Iterator i = console.getCompletors ().iterator (); 59 i.hasNext (); console.removeCompletor ((Completor)i.next ())); 60 61 console.addCompletor (new SimpleCompletor ( 62 new String [] { "foo", "bar", "baz"})); 63 64 assertBuffer ("foo ", new Buffer ("f").op (ConsoleReader.COMPLETE)); 65 assertBuffer ("ba", new Buffer ("b").op (ConsoleReader.COMPLETE)); 67 assertBuffer ("ba", new Buffer ("ba").op (ConsoleReader.COMPLETE)); 68 assertBuffer ("baz ", new Buffer ("baz").op (ConsoleReader.COMPLETE)); 69 } 70 71 72 public void testArgumentCompletor () 73 throws Exception 74 { 75 for (Iterator i = console.getCompletors ().iterator (); 77 i.hasNext (); console.removeCompletor ((Completor)i.next ())); 78 79 console.addCompletor (new ArgumentCompletor ( 80 new SimpleCompletor (new String [] { "foo", "bar", "baz"}))); 81 82 assertBuffer ("foo foo ", new Buffer ("foo f") 83 .op (ConsoleReader.COMPLETE)); 84 assertBuffer ("foo ba", new Buffer ("foo b") 85 .op (ConsoleReader.COMPLETE)); 86 assertBuffer ("foo ba", new Buffer ("foo ba") 87 .op (ConsoleReader.COMPLETE)); 88 assertBuffer ("foo baz ", new Buffer ("foo baz") 89 .op (ConsoleReader.COMPLETE)); 90 91 assertBuffer ("foo baz", new Buffer ("f baz") 93 .left ().left ().left ().left () 94 .op (ConsoleReader.COMPLETE)); 95 assertBuffer ("ba foo", new Buffer ("b foo") 96 .left ().left ().left ().left () 97 .op (ConsoleReader.COMPLETE)); 98 assertBuffer ("foo ba baz", new Buffer ("foo b baz") 99 .left ().left ().left ().left () 100 .op (ConsoleReader.COMPLETE)); 101 assertBuffer ("foo foo baz", new Buffer ("foo f baz") 102 .left ().left ().left ().left () 103 .op (ConsoleReader.COMPLETE)); 104 } 105 } 106 107 108 | Popular Tags |