public override bool Matches(object actual) { var code = actual as string; if (code == null) { return(false); } code += "\n"; var m = DParser.ParseString(code); var cache = ResolutionTests.CreateCache(); (cache [0] as MutableRootPackage).AddModule(m); var ed = new EditorData { ModuleCode = code, CaretOffset = code.Length - 1, CaretLocation = DocumentHelper.OffsetToLocation(code, code.Length - 1), SyntaxTree = m, ParseCache = cache }; var gen = new TestCompletionDataGen(null, null); var res = CodeCompletion.GenerateCompletionData(ed, gen, 'a'); return(neg ? !res : res); }
public static TestCompletionDataGen TestCompletionListContents(IEditorData ed, INode[] itemWhiteList = null, INode[] itemBlackList = null, char trigger = '\0') { var gen = new TestCompletionDataGen (itemWhiteList, itemBlackList); Assert.That (CodeCompletion.GenerateCompletionData (ed, gen, trigger), Is.True); Assert.That (gen.HasRemainingItems, Is.False, "Some items were not enlisted!"); return gen; }
public static TestCompletionDataGen TestCompletionListContents(IEditorData ed, INode[] itemWhiteList = null, INode[] itemBlackList = null, char trigger = '\0') { var gen = new TestCompletionDataGen(itemWhiteList, itemBlackList); Assert.That(CodeCompletion.GenerateCompletionData(ed, gen, trigger), Is.True); Assert.That(gen.HasRemainingItems, Is.False, "Some items were not enlisted!"); return(gen); }
public void AutoCompletion() { var code = @"module A; void main() { auto }"; var ed = GenEditorData(3, 5, code); var g = new TestCompletionDataGen(null, null); Assert.That(CodeCompletion.GenerateCompletionData(ed, g, 'a', true), Is.False); }
public void ForeachCompletion() { var code = @"module A; void main() { foreach( }"; var ed = GenEditorData(3, 9, code); var g = new TestCompletionDataGen(null, null); Assert.That(CodeCompletion.GenerateCompletionData(ed, g, 'a', true), Is.True); }
public void NonStaticCompletion1() { var code = @"module A; struct SomeStruct {ubyte a; static void read() { }} "; var ed = GenEditorData(3, 1, code); var SomeStruct = (ed.ParseCache [0] ["A"] ["SomeStruct"].First() as DClassLike); var a = SomeStruct["a"].First() as DVariable; var read = SomeStruct ["read"].First() as DMethod; var g = new TestCompletionDataGen(new[] { read }, new[] { a }); Assert.That(CodeCompletion.GenerateCompletionData(ed, g, '\0', true), Is.True); }
public void ForeachIteratorCompletion() { var code = @"module A; void main() {Cl** ii; foreach(i;ii) i. } struct Cl { int a; } "; var ed = GenEditorData(4, 3, code); var a = (ed.ParseCache[0]["A"]["Cl"].First() as DClassLike)["a"].First() as DVariable; var g = new TestCompletionDataGen(new[] { a }, null); Assert.That(CodeCompletion.GenerateCompletionData(ed, g, 'a', true), Is.True); }
public override bool Matches(object actual) { var code = actual as string; if (code == null) return false; code += "\n"; var m = DParser.ParseString (code); var cache = ResolutionTests.CreateCache (); cache.FirstPackage().AddModule (m); var ed = new EditorData{ ModuleCode = code, CaretOffset = code.Length-1, CaretLocation = DocumentHelper.OffsetToLocation(code,code.Length-1), SyntaxTree = m, ParseCache = cache }; var gen = new TestCompletionDataGen (null, null); var res = CodeCompletion.GenerateCompletionData (ed, gen, 'a'); return neg ? !res : res; }
public void NonStaticCompletion1() { var code = @"module A; struct SomeStruct {ubyte a; static void read() { }} "; var ed = GenEditorData(3, 1, code); var SomeStruct = (ed.MainPackage ["A"] ["SomeStruct"].First () as DClassLike); var a = SomeStruct["a"].First() as DVariable; var read = SomeStruct ["read"].First () as DMethod; var g = new TestCompletionDataGen(new[]{ read },new[]{ a }); Assert.That(CodeCompletion.GenerateCompletionData(ed, g, '\0', true), Is.True); }
public void ForeachIteratorCompletion() { var code = @"module A; void main() {Cl** ii; foreach(i;ii) i. } struct Cl { int a; } "; var ed = GenEditorData(4, 3, code); var a = (ed.MainPackage["A"]["Cl"].First() as DClassLike)["a"].First() as DVariable; var g = new TestCompletionDataGen(new[]{ a }, null); Assert.That(CodeCompletion.GenerateCompletionData(ed, g, 'a', true), Is.True); }
public void ForeachCompletion() { var code =@"module A; void main() { foreach( }"; var ed = GenEditorData (3, 9, code); var g = new TestCompletionDataGen (null, null); Assert.That(CodeCompletion.GenerateCompletionData (ed, g, 'a', true), Is.True); }