Skip to content

Commit 4232845

Browse files
author
slavara
committed
Adds test cases to test the extract local variable
1 parent 414cf61 commit 4232845

16 files changed

+248
-8
lines changed

Tests/External/Plugins/ASCompletion.Tests/ASCompletion.Tests.csproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,18 @@
166166
<EmbeddedResource Include="Test Files\parser\haxe\MetadataTest.hx" />
167167
<EmbeddedResource Include="Test Files\parser\haxe\MethodAfterGenericReturnTest.hx" />
168168
<EmbeddedResource Include="Test Files\parser\haxe\WrongSyntaxCompilerMetaAfterVarWithNoType.hx" />
169+
<EmbeddedResource Include="Test Files\generated\as3\AfterExtractLocalVariable.as" />
170+
<EmbeddedResource Include="Test Files\generated\as3\BeforeExtractLocalVariable.as" />
171+
<EmbeddedResource Include="Test Files\generated\as3\AfterExtractLocalVariable_fromString.as" />
172+
<EmbeddedResource Include="Test Files\generated\as3\BeforeExtractLocalVariable_fromString.as" />
173+
<EmbeddedResource Include="Test Files\generated\as3\AfterExtractLocalVariable_fromNumber.as" />
174+
<EmbeddedResource Include="Test Files\generated\as3\BeforeExtractLocalVariable_fromNumber.as" />
175+
<EmbeddedResource Include="Test Files\generated\haxe\AfterExtractLocalVariable_fromNumber.hx" />
176+
<EmbeddedResource Include="Test Files\generated\haxe\AfterExtractLocalVariable_fromString.hx" />
177+
<EmbeddedResource Include="Test Files\generated\haxe\BeforeExtractLocalVariable_fromNumber.hx" />
178+
<EmbeddedResource Include="Test Files\generated\haxe\BeforeExtractLocalVariable_fromString.hx" />
179+
<EmbeddedResource Include="Test Files\generated\haxe\AfterExtractLocalVariable_inSinglelineMethod.hx" />
180+
<EmbeddedResource Include="Test Files\generated\haxe\BeforeExtractLocalVariable_inSinglelineMethod.hx" />
169181
</ItemGroup>
170182
<ItemGroup>
171183
<ProjectReference Include="..\..\..\..\External\Plugins\AS2Context\AS2Context.csproj">

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

Lines changed: 120 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
using ScintillaNet;
1616
using ScintillaNet.Enums;
1717
using System.Text.RegularExpressions;
18+
using PluginCore.Helpers;
1819

1920
namespace ASCompletion.Completion
2021
{
@@ -562,25 +563,139 @@ public IEnumerable<TestCaseData> GenerateExtractVariableHaxeTestCases
562563
LineFrom = 2,
563564
LineTo = 4
564565
},
565-
"new Test<String>(\"test\").get()",
566-
"s"
566+
"newVar"
567567
)
568568
.Returns(
569569
TestFile.ReadAllText(
570570
"ASCompletion.Test_Files.generated.haxe.AfterGenerateExtractVariableGeneric.hx"))
571571
.SetName("GenerateExtractVariable");
572+
573+
yield return
574+
new TestCaseData(
575+
TestFile.ReadAllText(
576+
"ASCompletion.Test_Files.generated.haxe.BeforeExtractLocalVariable_fromString.hx"),
577+
new MemberModel("extractLocalVariable", null, FlagType.Function, Visibility.Public)
578+
{
579+
LineFrom = 4,
580+
LineTo = 7
581+
},
582+
"newVar"
583+
)
584+
.Returns(
585+
TestFile.ReadAllText(
586+
"ASCompletion.Test_Files.generated.haxe.AfterExtractLocalVariable_fromString.hx"))
587+
.SetName("ExtractLocaleVariable from String");
588+
589+
yield return
590+
new TestCaseData(
591+
TestFile.ReadAllText(
592+
"ASCompletion.Test_Files.generated.haxe.BeforeExtractLocalVariable_fromNumber.hx"),
593+
new MemberModel("extractLocalVariable", null, FlagType.Function, Visibility.Public)
594+
{
595+
LineFrom = 4,
596+
LineTo = 7
597+
},
598+
"newVar"
599+
)
600+
.Returns(
601+
TestFile.ReadAllText(
602+
"ASCompletion.Test_Files.generated.haxe.AfterExtractLocalVariable_fromNumber.hx"))
603+
.SetName("ExtractLocaleVariable from Number");
604+
605+
yield return
606+
new TestCaseData(
607+
TestFile.ReadAllText(
608+
"ASCompletion.Test_Files.generated.haxe.BeforeExtractLocalVariable_inSinglelineMethod.hx"),
609+
new MemberModel("extractLocalVariable", null, FlagType.Function, Visibility.Public)
610+
{
611+
LineFrom = 4,
612+
LineTo = 5
613+
},
614+
"newVar"
615+
)
616+
.Returns(
617+
TestFile.ReadAllText(
618+
"ASCompletion.Test_Files.generated.haxe.AfterExtractLocalVariable_inSinglelineMethod.hx"))
619+
.SetName("ExtractLocaleVariable in single line method");
572620
}
573621
}
574622

575623
[Test, TestCaseSource("GenerateExtractVariableHaxeTestCases")]
576-
public string Haxe(string sourceText, MemberModel sourceModel, string selectText, string newName)
624+
public string Haxe(string sourceText, MemberModel currentMember, string newName)
577625
{
578626
ASContext.Context.SetHaxeFeatures();
579627
ASContext.Context.CurrentModel.Returns(new FileModel {haXe = true, Context = ASContext.Context});
580-
ASContext.Context.CurrentMember.Returns(sourceModel);
628+
ASContext.Context.CurrentMember.Returns(currentMember);
581629
sci.Text = sourceText;
582630
sci.ConfigurationLanguage = "haxe";
583-
sci.SelectText(selectText, 0);
631+
SnippetHelper.PostProcessSnippets(sci, 0);
632+
ASGenerator.GenerateExtractVariable(sci, newName);
633+
return sci.Text;
634+
}
635+
636+
public IEnumerable<TestCaseData> GenerateExtractVariableAS3TestCases
637+
{
638+
get
639+
{
640+
yield return
641+
new TestCaseData(
642+
TestFile.ReadAllText(
643+
"ASCompletion.Test_Files.generated.as3.BeforeExtractLocalVariable.as"),
644+
new MemberModel("ExtractLocalVariable", null, FlagType.Constructor | FlagType.Function, 0)
645+
{
646+
LineFrom = 4,
647+
LineTo = 7
648+
},
649+
"newVar"
650+
)
651+
.Returns(
652+
TestFile.ReadAllText(
653+
"ASCompletion.Test_Files.generated.as3.AfterExtractLocalVariable.as"))
654+
.SetName("ExtractLocaleVariable");
655+
656+
yield return
657+
new TestCaseData(
658+
TestFile.ReadAllText(
659+
"ASCompletion.Test_Files.generated.as3.BeforeExtractLocalVariable_fromString.as"),
660+
new MemberModel("ExtractLocalVariable", null, FlagType.Constructor | FlagType.Function, 0)
661+
{
662+
LineFrom = 4,
663+
LineTo = 7
664+
},
665+
"newVar"
666+
)
667+
.Returns(
668+
TestFile.ReadAllText(
669+
"ASCompletion.Test_Files.generated.as3.AfterExtractLocalVariable_fromString.as"))
670+
.SetName("ExtractLocaleVariable from String");
671+
672+
yield return
673+
new TestCaseData(
674+
TestFile.ReadAllText(
675+
"ASCompletion.Test_Files.generated.as3.BeforeExtractLocalVariable_fromNumber.as"),
676+
new MemberModel("ExtractLocalVariable", null, FlagType.Constructor | FlagType.Function, 0)
677+
{
678+
LineFrom = 4,
679+
LineTo = 7
680+
},
681+
"newVar"
682+
)
683+
.Returns(
684+
TestFile.ReadAllText(
685+
"ASCompletion.Test_Files.generated.as3.AfterExtractLocalVariable_fromNumber.as"))
686+
.SetName("ExtractLocaleVariable from Number");
687+
}
688+
}
689+
690+
[Test, TestCaseSource("GenerateExtractVariableAS3TestCases")]
691+
public string AS3(string sourceText, MemberModel currentMember, string newName)
692+
{
693+
ASContext.Context.SetHaxeFeatures();
694+
ASContext.Context.CurrentModel.Returns(new FileModel { Context = ASContext.Context });
695+
ASContext.Context.CurrentMember.Returns(currentMember);
696+
sci.Text = sourceText;
697+
sci.ConfigurationLanguage = "as3";
698+
SnippetHelper.PostProcessSnippets(sci, 0);
584699
ASGenerator.GenerateExtractVariable(sci, newName);
585700
return sci.Text;
586701
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package org.flashdevelop.test.as3.generator.extractlocalvariable {
2+
import flash.display.DisplayObject;
3+
import flash.display.Sprite;
4+
5+
public class ExtractLocalVariable extends Sprite {
6+
public function ExtractLocalVariable() {
7+
var newVar:DisplayObject = getChildByName("child");
8+
var name:String = newVar.name;
9+
}
10+
}
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package org.flashdevelop.test.as3.generator.extractlocalvariable {
2+
import flash.display.Sprite;
3+
4+
public class ExtractLocalVariable extends Sprite {
5+
public function ExtractLocalVariable() {
6+
var newVar:Number = 0;
7+
var name:String = getChildAt(newVar).name;
8+
}
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package org.flashdevelop.test.as3.generator.extractlocalvariable {
2+
import flash.display.Sprite;
3+
4+
public class ExtractLocalVariable extends Sprite {
5+
public function ExtractLocalVariable() {
6+
var newVar:String = "child";
7+
var name:String = getChildByName(newVar).name;
8+
}
9+
}
10+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.flashdevelop.test.as3.generator.extractlocalvariable {
2+
import flash.display.Sprite;
3+
4+
public class ExtractLocalVariable extends Sprite {
5+
public function ExtractLocalVariable() {
6+
var name:String = $(EntryPoint)getChildByName("child")$(ExitPoint).name;
7+
}
8+
}
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.flashdevelop.test.as3.generator.extractlocalvariable {
2+
import flash.display.Sprite;
3+
4+
public class ExtractLocalVariable extends Sprite {
5+
public function ExtractLocalVariable() {
6+
var name:String = getChildAt($(EntryPoint)0$(ExitPoint)).name;
7+
}
8+
}
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package org.flashdevelop.test.as3.generator.extractlocalvariable {
2+
import flash.display.Sprite;
3+
4+
public class ExtractLocalVariable extends Sprite {
5+
public function ExtractLocalVariable() {
6+
var name:String = getChildByName($(EntryPoint)"child"$(ExitPoint)).name;
7+
}
8+
}
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package org.flashdevelop.test.haxe.generator.extractlocalvariable {
2+
import flash.display.Sprite;
3+
4+
public class ExtractLocalVariable extends Sprite {
5+
public function extractLocalVariable() {
6+
var newVar = 0;
7+
var name = getChildAt(newVar).name;
8+
}
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package org.flashdevelop.test.haxe.generator.extractlocalvariable {
2+
import flash.display.Sprite;
3+
4+
public class ExtractLocalVariable extends Sprite {
5+
public function extractLocalVariable() {
6+
var newVar = "child";
7+
var name = getChildByName(newVar).name;
8+
}
9+
}
10+
}

0 commit comments

Comments
 (0)