Skip to content

Commit edf8b86

Browse files
committed
Added tests
1 parent 4feddd2 commit edf8b86

File tree

8 files changed

+207
-0
lines changed

8 files changed

+207
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace MsieJavaScriptEngine.Tests.B_ChakraEdgeJsRt
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class CommonTests : CommonTestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.ChakraEdgeJsRt,
16+
UseEcmaScript5Polyfill = false,
17+
UseJson2Library = false
18+
});
19+
}
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace MsieJavaScriptEngine.Tests.B_ChakraEdgeJsRt
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class Es5Tests : Es5TestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.ChakraEdgeJsRt,
16+
UseEcmaScript5Polyfill = false,
17+
UseJson2Library = false
18+
});
19+
}
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace MsieJavaScriptEngine.Tests.C_ChakraIeJsRt
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class CommonTests : CommonTestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.ChakraIeJsRt,
16+
UseEcmaScript5Polyfill = false,
17+
UseJson2Library = false
18+
});
19+
}
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace MsieJavaScriptEngine.Tests.C_ChakraIeJsRt
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class Es5Tests : Es5TestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.ChakraIeJsRt,
16+
UseEcmaScript5Polyfill = false,
17+
UseJson2Library = false
18+
});
19+
}
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace MsieJavaScriptEngine.Tests.D_ChakraActiveScript
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class CommonTests : CommonTestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.ChakraActiveScript,
16+
UseEcmaScript5Polyfill = false,
17+
UseJson2Library = false
18+
});
19+
}
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace MsieJavaScriptEngine.Tests.D_ChakraActiveScript
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class Es5Tests : Es5TestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.ChakraActiveScript,
16+
UseEcmaScript5Polyfill = false,
17+
UseJson2Library = false
18+
});
19+
}
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace MsieJavaScriptEngine.Tests.E_Classic
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class CommonTests : CommonTestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.Classic,
16+
UseEcmaScript5Polyfill = false,
17+
UseJson2Library = false
18+
});
19+
}
20+
}
21+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
namespace MsieJavaScriptEngine.Tests.E_Classic
2+
{
3+
using NUnit.Framework;
4+
5+
using MsieJavaScriptEngine;
6+
7+
[TestFixture]
8+
public class Es5Tests : Es5TestsBase
9+
{
10+
[TestFixtureSetUp]
11+
public override void SetUp()
12+
{
13+
_jsEngine = new MsieJsEngine(new JsEngineSettings
14+
{
15+
EngineMode = JsEngineMode.Classic,
16+
UseEcmaScript5Polyfill = true,
17+
UseJson2Library = true
18+
});
19+
}
20+
21+
#region Object methods
22+
23+
[Test]
24+
public override void ObjectKeysMethodIsSupported()
25+
{
26+
// Arrange
27+
const string input1 = "Object.keys(['a', 'b', 'c']).toString();";
28+
const string targetOutput1 = "0,1,2";
29+
30+
const string input2 = "Object.keys({ 0: 'a', 1: 'b', 2: 'c' }).toString();";
31+
const string targetOutput2 = "0,1,2";
32+
33+
const string input3 = "Object.keys({ 100: 'a', 2: 'b', 7: 'c' }).toString();";
34+
const string targetOutput3 = "100,2,7";
35+
36+
const string initCode4 = @"var myObj = function() { };
37+
myObj.prototype = { getFoo: { value: function () { return this.foo } } };;
38+
myObj.foo = 1;
39+
";
40+
const string input4 = "Object.keys(myObj).toString();";
41+
const string targetOutput4 = "foo";
42+
43+
// Act
44+
var output1 = _jsEngine.Evaluate<string>(input1);
45+
var output2 = _jsEngine.Evaluate<string>(input2);
46+
var output3 = _jsEngine.Evaluate<string>(input3);
47+
48+
_jsEngine.Execute(initCode4);
49+
var output4 = _jsEngine.Evaluate<string>(input4);
50+
51+
// Assert
52+
Assert.AreEqual(targetOutput1, output1);
53+
Assert.AreEqual(targetOutput2, output2);
54+
Assert.AreEqual(targetOutput3, output3);
55+
Assert.AreEqual(targetOutput4, output4);
56+
}
57+
58+
#endregion
59+
}
60+
}

0 commit comments

Comments
 (0)