Add if-elseif-else sample with multiple conditions

This commit is contained in:
Yoshi Askharoun
2025-09-21 21:21:44 -05:00
parent 7cc0702c14
commit 4e4f5d3055
5 changed files with 54 additions and 12 deletions
+5 -8
View File
@@ -1,11 +1,6 @@
using Microsoft.Iris; using Microsoft.Iris;
using Microsoft.Iris.DecompXml; using Microsoft.Iris.DecompXml;
using Microsoft.Iris.Markup; using Microsoft.Iris.Markup;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UIX.Test.Fixtures; using UIX.Test.Fixtures;
using Xunit.Abstractions; using Xunit.Abstractions;
@@ -22,10 +17,12 @@ public class DecompileControlFlow
markupSystemFixture.SetupDebug(output); markupSystemFixture.SetupDebug(output);
} }
[Fact] [Theory]
public async Task IfElseIfElse() [InlineData("cfa_if-elseif-else01")]
[InlineData("cfa_if-elseif-else02")]
public async Task IfElseIfElse(string fileNameWithoutExtension)
{ {
using TempFile uixFile = new($"cfa_if-elseif-else.uix", ".uix"); using TempFile uixFile = new($"{fileNameWithoutExtension}.uix", ".uix");
await uixFile.InitAsync(); await uixFile.InitAsync();
var uibPathEx = Path.ChangeExtension(uixFile.Path, ".uib"); var uibPathEx = Path.ChangeExtension(uixFile.Path, ".uib");
@@ -0,0 +1,32 @@
<UIX xmlns="http://schemas.microsoft.com/2007/uix"
xmlns:iris="assembly://UIX/Microsoft.Iris">
<UI Name="Default">
<Locals>
<iris:Command Name="SelectCommand"/>
</Locals>
<Content>
<Text Color="Red">
<Content>Howdy from Microsoft.Iris!</Content>
</Text>
</Content>
<Scripts>
<Script>
int x = 5;
if (x &lt; 10 || x == 20)
{
x = x + 1;
}
else if (x &gt; 50)
{
x = x + 2;
}
else
{
x = x + 3;
}
</Script>
</Scripts>
</UI>
</UIX>
+12 -2
View File
@@ -63,9 +63,19 @@ namespace UIX.Test {
/// <summary> /// <summary>
/// Looks up a localized resource of type System.Byte[]. /// Looks up a localized resource of type System.Byte[].
/// </summary> /// </summary>
internal static byte[] cfa_if_elseif_else_uix { internal static byte[] cfa_if_elseif_else01_uix {
get { get {
object obj = ResourceManager.GetObject("cfa_if-elseif-else.uix", resourceCulture); object obj = ResourceManager.GetObject("cfa_if-elseif-else01.uix", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Byte[].
/// </summary>
internal static byte[] cfa_if_elseif_else02_uix {
get {
object obj = ResourceManager.GetObject("cfa_if-elseif-else02.uix", resourceCulture);
return ((byte[])(obj)); return ((byte[])(obj));
} }
} }
+5 -2
View File
@@ -118,8 +118,11 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="cfa_if-elseif-else.uix" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="cfa_if-elseif-else01.uix" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\cfa_if-elseif-else.uix;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>Resources\cfa_if-elseif-else01.uix;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="cfa_if-elseif-else02.uix" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\cfa_if-elseif-else02.uix;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="testA.uix" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="testA.uix" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>Resources\testA.uix;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>Resources\testA.uix;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>