|
6 | 6 | using ASCompletion.Settings;
|
7 | 7 | using ASCompletion.TestUtils;
|
8 | 8 | using FlashDevelop;
|
| 9 | +using HaXeContext; |
9 | 10 | using NSubstitute;
|
10 | 11 | using NUnit.Framework;
|
11 | 12 | using PluginCore;
|
@@ -293,5 +294,199 @@ public void DisambiguateComa_FunctionCallSimple()
|
293 | 294 | var coma = ASComplete.DisambiguateComa(sci, 14, 0);
|
294 | 295 | Assert.AreEqual(ComaExpression.FunctionParameter, coma);
|
295 | 296 | }
|
| 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 |
296 | 491 | }
|
297 | 492 | }
|
0 commit comments