Skip to content

Commit 5495e84

Browse files
committed
Test cases for not supported features (yet)
1 parent dc26967 commit 5495e84

File tree

1 file changed

+195
-0
lines changed

1 file changed

+195
-0
lines changed

Tests/External/Plugins/ASCompletion.Tests/Completion/ASCompleteTests.cs

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using ASCompletion.Settings;
77
using ASCompletion.TestUtils;
88
using FlashDevelop;
9+
using HaXeContext;
910
using NSubstitute;
1011
using NUnit.Framework;
1112
using PluginCore;
@@ -293,5 +294,199 @@ public void DisambiguateComa_FunctionCallSimple()
293294
var coma = ASComplete.DisambiguateComa(sci, 14, 0);
294295
Assert.AreEqual(ComaExpression.FunctionParameter, coma);
295296
}
297+
298+
[Test(Description = "Not supported now")]
299+
public void DisambiguateComa_GenericTypeParameterInClass()
300+
{
301+
var pluginMain = Substitute.For<PluginMain>();
302+
var pluginUiMock = new PluginUIMock(pluginMain);
303+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
304+
pluginMain.Settings.Returns(new GeneralSettings());
305+
pluginMain.Panel.Returns(pluginUiMock);
306+
ASContext.GlobalInit(pluginMain);
307+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
308+
309+
var sci = GetBaseScintillaControl();
310+
sci.Text = "class Generic<K,";
311+
sci.ConfigurationLanguage = "haxe";
312+
313+
var coma = ASComplete.DisambiguateComa(sci, 16, 0);
314+
Assert.AreNotEqual(ComaExpression.None, coma);
315+
}
316+
317+
[Test(Description = "Not supported now")]
318+
public void DisambiguateComa_GenericTypeParameterInFunction()
319+
{
320+
var pluginMain = Substitute.For<PluginMain>();
321+
var pluginUiMock = new PluginUIMock(pluginMain);
322+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
323+
pluginMain.Settings.Returns(new GeneralSettings());
324+
pluginMain.Panel.Returns(pluginUiMock);
325+
ASContext.GlobalInit(pluginMain);
326+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
327+
328+
var sci = GetBaseScintillaControl();
329+
sci.Text = "function generic<K,";
330+
sci.ConfigurationLanguage = "haxe";
331+
332+
var coma = ASComplete.DisambiguateComa(sci, 19, 0);
333+
Assert.AreNotEqual(ComaExpression.None, coma);
334+
}
335+
336+
[Test(Description = "Not supported now")]
337+
public void DisambiguateComa_GenericTypeParameterConstraintInClass()
338+
{
339+
var pluginMain = Substitute.For<PluginMain>();
340+
var pluginUiMock = new PluginUIMock(pluginMain);
341+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
342+
pluginMain.Settings.Returns(new GeneralSettings());
343+
pluginMain.Panel.Returns(pluginUiMock);
344+
ASContext.GlobalInit(pluginMain);
345+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
346+
347+
var sci = GetBaseScintillaControl();
348+
sci.Text = "class Generic<K:";
349+
sci.ConfigurationLanguage = "haxe";
350+
351+
var coma = ASComplete.DisambiguateComa(sci, 16, 0);
352+
Assert.AreNotEqual(ComaExpression.None, coma);
353+
}
354+
355+
[Test(Description = "Not supported now")]
356+
public void DisambiguateComa_GenericTypeParameterConstraintMultipleInClass()
357+
{
358+
var pluginMain = Substitute.For<PluginMain>();
359+
var pluginUiMock = new PluginUIMock(pluginMain);
360+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
361+
pluginMain.Settings.Returns(new GeneralSettings());
362+
pluginMain.Panel.Returns(pluginUiMock);
363+
ASContext.GlobalInit(pluginMain);
364+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
365+
366+
var sci = GetBaseScintillaControl();
367+
sci.Text = "class Generic<K:(";
368+
sci.ConfigurationLanguage = "haxe";
369+
370+
var coma = ASComplete.DisambiguateComa(sci, 17, 0);
371+
Assert.AreNotEqual(ComaExpression.None, coma);
372+
}
373+
374+
[Test(Description = "Not supported now")]
375+
public void DisambiguateComa_GenericTypeParameterConstraintMultipleInClassAfterFirst()
376+
{
377+
var pluginMain = Substitute.For<PluginMain>();
378+
var pluginUiMock = new PluginUIMock(pluginMain);
379+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
380+
pluginMain.Settings.Returns(new GeneralSettings());
381+
pluginMain.Panel.Returns(pluginUiMock);
382+
ASContext.GlobalInit(pluginMain);
383+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
384+
385+
var sci = GetBaseScintillaControl();
386+
sci.Text = "class Generic<K:({},";
387+
sci.ConfigurationLanguage = "haxe";
388+
389+
var coma = ASComplete.DisambiguateComa(sci, 20, 0);
390+
Assert.AreNotEqual(ComaExpression.None, coma);
391+
}
392+
393+
[Test(Description = "Not supported now")]
394+
public void DisambiguateComa_GenericTypeParameterConstraintInFunction()
395+
{
396+
var pluginMain = Substitute.For<PluginMain>();
397+
var pluginUiMock = new PluginUIMock(pluginMain);
398+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
399+
pluginMain.Settings.Returns(new GeneralSettings());
400+
pluginMain.Panel.Returns(pluginUiMock);
401+
ASContext.GlobalInit(pluginMain);
402+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
403+
404+
var sci = GetBaseScintillaControl();
405+
sci.Text = "function generic<K:";
406+
sci.ConfigurationLanguage = "haxe";
407+
408+
var coma = ASComplete.DisambiguateComa(sci, 19, 0);
409+
Assert.AreNotEqual(ComaExpression.None, coma);
410+
}
411+
412+
[Test(Description = "Not supported now")]
413+
public void DisambiguateComa_GenericTypeParameterConstraintMultipleInFunction()
414+
{
415+
var pluginMain = Substitute.For<PluginMain>();
416+
var pluginUiMock = new PluginUIMock(pluginMain);
417+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
418+
pluginMain.Settings.Returns(new GeneralSettings());
419+
pluginMain.Panel.Returns(pluginUiMock);
420+
ASContext.GlobalInit(pluginMain);
421+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
422+
423+
var sci = GetBaseScintillaControl();
424+
sci.Text = "function generic<K:(";
425+
sci.ConfigurationLanguage = "haxe";
426+
427+
var coma = ASComplete.DisambiguateComa(sci, 20, 0);
428+
Assert.AreNotEqual(ComaExpression.None, coma);
429+
}
430+
431+
[Test(Description = "Not supported now")]
432+
public void DisambiguateComa_GenericTypeParameterConstraintMultipleInFunctionAfterFirst()
433+
{
434+
var pluginMain = Substitute.For<PluginMain>();
435+
var pluginUiMock = new PluginUIMock(pluginMain);
436+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
437+
pluginMain.Settings.Returns(new GeneralSettings());
438+
pluginMain.Panel.Returns(pluginUiMock);
439+
ASContext.GlobalInit(pluginMain);
440+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
441+
442+
var sci = GetBaseScintillaControl();
443+
sci.Text = "function generic<K:({},";
444+
sci.ConfigurationLanguage = "haxe";
445+
446+
var coma = ASComplete.DisambiguateComa(sci, 23, 0);
447+
Assert.AreNotEqual(ComaExpression.None, coma);
448+
}
449+
450+
[Test(Description = "Not supported now")]
451+
public void DisambiguateComa_GenericTypeParameterInDeclaration()
452+
{
453+
var pluginMain = Substitute.For<PluginMain>();
454+
var pluginUiMock = new PluginUIMock(pluginMain);
455+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
456+
pluginMain.Settings.Returns(new GeneralSettings());
457+
pluginMain.Panel.Returns(pluginUiMock);
458+
ASContext.GlobalInit(pluginMain);
459+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
460+
461+
var sci = GetBaseScintillaControl();
462+
sci.Text = "new Generic<Array<Int>,";
463+
sci.ConfigurationLanguage = "haxe";
464+
465+
var coma = ASComplete.DisambiguateComa(sci, 23, 0);
466+
Assert.AreNotEqual(ComaExpression.None, coma);
467+
}
468+
469+
[Test(Description = "Not supported now")]
470+
public void DisambiguateComa_GenericTypeParameterInDeclarationWithFullyQualifiedClass()
471+
{
472+
var pluginMain = Substitute.For<PluginMain>();
473+
var pluginUiMock = new PluginUIMock(pluginMain);
474+
pluginMain.MenuItems.Returns(new List<System.Windows.Forms.ToolStripItem>());
475+
pluginMain.Settings.Returns(new GeneralSettings());
476+
pluginMain.Panel.Returns(pluginUiMock);
477+
ASContext.GlobalInit(pluginMain);
478+
ASContext.Context = new HaXeContext.Context(new HaXeSettings());
479+
480+
var sci = GetBaseScintillaControl();
481+
sci.Text = "com.test.Generic<Array<Int>,";
482+
sci.ConfigurationLanguage = "haxe";
483+
484+
var coma = ASComplete.DisambiguateComa(sci, 28, 0);
485+
Assert.AreNotEqual(ComaExpression.None, coma);
486+
}
487+
488+
//TODO: Tests for anonymous structure declarations
489+
490+
//TODO: Tests for Haxe optional parameters
296491
}
297492
}

0 commit comments

Comments
 (0)