Skip to content

Commit 18326ed

Browse files
committed
[unity]之前一个扩展函数的用例没生效,其次之前没有验证传递值正确性的用例,参数错位是扩展函数实现容易出现的问题
1 parent f56612b commit 18326ed

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

unity/test/Src/Cases/CrossLang/ExtensionTest.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ public static string Extension2<T1, T2>(this T1 a, T2 b) where T1 : ExtensionTes
5050
{
5151
return (string.Format("Extension2<{0},{1}>", typeof(T1), typeof(T2)));
5252
}
53+
54+
[UnityEngine.Scripting.Preserve]
55+
public static string Extension3<T>(this T a, string b) where T : ExtensionTestHelper
56+
{
57+
return b;
58+
}
5359
}
5460

5561
[TestFixture]
@@ -111,6 +117,7 @@ public void ExtensionGenerateBaseTest()
111117
Assert.AreEqual(res.ToString(), "Puerts.UnitTest.ExtensionTestHelper");
112118
}
113119

120+
[Test]
114121
public void ExtensionGenerateBaseTest_1()
115122
{
116123
var jsEnv = UnitTestEnv.GetEnv();
@@ -124,6 +131,20 @@ public void ExtensionGenerateBaseTest_1()
124131
Assert.AreEqual(res.ToString(), "Puerts.UnitTest.ExtensionTestHelper");
125132
}
126133

134+
[Test]
135+
public void ExtensionGenerateBaseTest_3()
136+
{
137+
var jsEnv = UnitTestEnv.GetEnv();
138+
var res = jsEnv.Eval<string>(@"
139+
(function() {
140+
let obj = new CS.Puerts.UnitTest.ExtensionTestHelper();
141+
let res = obj.Extension3('123');
142+
return res;
143+
})()
144+
");
145+
Assert.AreEqual(res, "123");
146+
}
147+
127148
[Test]
128149
public void ExtensionGenerateBaseBase1Test_2()
129150
{

0 commit comments

Comments
 (0)