1
- using System ;
2
- using System . Text ;
3
-
4
- using Xunit ;
1
+ using Xunit ;
5
2
6
3
namespace JavaScriptEngineSwitcher . Tests
7
4
{
@@ -13,39 +10,36 @@ public abstract class Es2015TestsBase : TestsBase
13
10
public virtual void ExecutionOfPromisesIsCorrect ( )
14
11
{
15
12
// Arrange
16
- var stringBuilder = new StringBuilder ( ) ;
17
- const string input = @"var successfulWork = new Promise(function(resolve, reject) {
18
- resolve("" Success!"" );
19
- });
20
-
21
- var unsuccessfulWork = new Promise(function (resolve, reject) {
22
- reject(""Fail!"");
23
- }) ;
13
+ const string input = @"var output = '',
14
+ successfulWork = new Promise(function(resolve, reject) {
15
+ resolve(' Success!' );
16
+ }),
17
+ unsuccessfulWork = new Promise(function (resolve, reject) {
18
+ reject('Fail!');
19
+ })
20
+ ;
24
21
25
22
function resolveCallback(result) {
26
- stringBuilder.AppendLine( 'Resolved: ' + result) ;
23
+ output += 'Resolved: ' + result + '\n' ;
27
24
}
28
25
29
26
function rejectCallback(reason) {
30
- stringBuilder.AppendLine( 'Rejected: ' + reason) ;
27
+ output += 'Rejected: ' + reason + '\n' ;
31
28
}
32
29
33
30
successfulWork.then(resolveCallback, rejectCallback);
34
31
unsuccessfulWork.then(resolveCallback, rejectCallback);" ;
35
- string targetOutput = "Resolved: Success!" + Environment . NewLine +
36
- "Rejected: Fail!" + Environment . NewLine
32
+ string targetOutput = "Resolved: Success!\n " +
33
+ "Rejected: Fail!\n "
37
34
;
38
35
39
36
// Act
40
37
string output ;
41
38
42
39
using ( var jsEngine = CreateJsEngine ( ) )
43
40
{
44
- jsEngine . EmbedHostObject ( "stringBuilder" , stringBuilder ) ;
45
41
jsEngine . Execute ( input ) ;
46
-
47
- output = stringBuilder . ToString ( ) ;
48
- stringBuilder . Clear ( ) ;
42
+ output = jsEngine . GetVariableValue < string > ( "output" ) ;
49
43
}
50
44
51
45
// Assert
0 commit comments