Skip to content

Commit 11d4c7d

Browse files
committed
Change AsSuccessResult() to return the RemoteValue directly.
1 parent 1684694 commit 11d4c7d

File tree

7 files changed

+72
-72
lines changed

7 files changed

+72
-72
lines changed

dotnet/src/webdriver/BiDi/Modules/BrowsingContext/BrowsingContextScriptModule.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public Task<EvaluateResult> EvaluateAsync(string expression, bool awaitPromise,
6060
{
6161
var result = await EvaluateAsync(expression, awaitPromise, options, targetOptions).ConfigureAwait(false);
6262

63-
return result.AsSuccessResult().Result.ConvertTo<TResult>();
63+
return result.AsSuccessResult().ConvertTo<TResult>();
6464
}
6565

6666
public Task<EvaluateResult> CallFunctionAsync(string functionDeclaration, bool awaitPromise, CallFunctionOptions? options = null, ContextTargetOptions? targetOptions = null)
@@ -79,6 +79,6 @@ public Task<EvaluateResult> CallFunctionAsync(string functionDeclaration, bool a
7979
{
8080
var result = await CallFunctionAsync(functionDeclaration, awaitPromise, options, targetOptions).ConfigureAwait(false);
8181

82-
return result.AsSuccessResult().Result.ConvertTo<TResult>();
82+
return result.AsSuccessResult().ConvertTo<TResult>();
8383
}
8484
}

dotnet/src/webdriver/BiDi/Modules/Script/EvaluateCommand.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ public record EvaluateOptions : CommandOptions
4141
//[JsonDerivedType(typeof(EvaluateResultException), "exception")]
4242
public abstract record EvaluateResult
4343
{
44-
public EvaluateResultSuccess AsSuccessResult()
44+
public RemoteValue AsSuccessResult()
4545
{
4646
if (this is EvaluateResultSuccess success)
4747
{
48-
return success;
48+
return success.Result;
4949
}
5050

5151
var exceptionResult = (EvaluateResultException)this;

dotnet/src/webdriver/BiDi/Modules/Script/ScriptModule.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public async Task<EvaluateResult> EvaluateAsync(string expression, bool awaitPro
3838
{
3939
var result = await EvaluateAsync(expression, awaitPromise, target, options).ConfigureAwait(false);
4040

41-
return result.AsSuccessResult().Result.ConvertTo<TResult>();
41+
return result.AsSuccessResult().ConvertTo<TResult>();
4242
}
4343

4444
public async Task<EvaluateResult> CallFunctionAsync(string functionDeclaration, bool awaitPromise, Target target, CallFunctionOptions? options = null)
@@ -54,7 +54,7 @@ public async Task<EvaluateResult> CallFunctionAsync(string functionDeclaration,
5454
{
5555
var result = await CallFunctionAsync(functionDeclaration, awaitPromise, target, options).ConfigureAwait(false);
5656

57-
return result.AsSuccessResult().Result.ConvertTo<TResult>();
57+
return result.AsSuccessResult().ConvertTo<TResult>();
5858
}
5959

6060
public async Task<GetRealmsResult> GetRealmsAsync(GetRealmsOptions? options = null)

dotnet/test/common/BiDi/Script/CallFunctionParameterTest.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public async Task CanCallFunctionWithDeclaration()
3131
var res = await context.Script.CallFunctionAsync("() => { return 1 + 2; }", false);
3232

3333
Assert.That(res, Is.Not.Null);
34-
Assert.That(res.AsSuccessResult().Realm, Is.Not.Null);
35-
Assert.That((res.AsSuccessResult().Result as NumberRemoteValue).Value, Is.EqualTo(3));
34+
Assert.That(((EvaluateResultSuccess)res).Realm, Is.Not.Null);
35+
Assert.That((res.AsSuccessResult() as NumberRemoteValue).Value, Is.EqualTo(3));
3636
}
3737

3838
[Test]
@@ -75,9 +75,9 @@ public async Task CanCallFunctionWithArguments()
7575
Arguments = ["abc", 42]
7676
});
7777

78-
Assert.That(res.AsSuccessResult().Result, Is.AssignableFrom<ArrayRemoteValue>());
79-
Assert.That((string)(res.AsSuccessResult().Result as ArrayRemoteValue).Value[0], Is.EqualTo("abc"));
80-
Assert.That((int)(res.AsSuccessResult().Result as ArrayRemoteValue).Value[1], Is.EqualTo(42));
78+
Assert.That(res.AsSuccessResult(), Is.AssignableFrom<ArrayRemoteValue>());
79+
Assert.That((string)(res.AsSuccessResult() as ArrayRemoteValue).Value[0], Is.EqualTo("abc"));
80+
Assert.That((int)(res.AsSuccessResult() as ArrayRemoteValue).Value[1], Is.EqualTo(42));
8181
}
8282

8383
[Test]
@@ -90,8 +90,8 @@ public async Task CanCallFunctionToGetIFrameBrowsingContext()
9090
""", false);
9191

9292
Assert.That(res, Is.Not.Null);
93-
Assert.That(res.AsSuccessResult().Result, Is.AssignableFrom<WindowProxyRemoteValue>());
94-
Assert.That((res.AsSuccessResult().Result as WindowProxyRemoteValue).Value, Is.Not.Null);
93+
Assert.That(res.AsSuccessResult(), Is.AssignableFrom<WindowProxyRemoteValue>());
94+
Assert.That((res.AsSuccessResult() as WindowProxyRemoteValue).Value, Is.Not.Null);
9595
}
9696

9797
[Test]
@@ -104,8 +104,8 @@ public async Task CanCallFunctionToGetElement()
104104
""", false);
105105

106106
Assert.That(res, Is.Not.Null);
107-
Assert.That(res.AsSuccessResult().Result, Is.AssignableFrom<NodeRemoteValue>());
108-
Assert.That((res.AsSuccessResult().Result as NodeRemoteValue).Value, Is.Not.Null);
107+
Assert.That(res.AsSuccessResult(), Is.AssignableFrom<NodeRemoteValue>());
108+
Assert.That((res.AsSuccessResult() as NodeRemoteValue).Value, Is.Not.Null);
109109
}
110110

111111
[Test]
@@ -132,7 +132,7 @@ async function() {
132132
""", awaitPromise: false);
133133

134134
Assert.That(res, Is.Not.Null);
135-
Assert.That(res.AsSuccessResult().Result, Is.AssignableFrom<PromiseRemoteValue>());
135+
Assert.That(res.AsSuccessResult(), Is.AssignableFrom<PromiseRemoteValue>());
136136
}
137137

138138
[Test]
@@ -156,9 +156,9 @@ public async Task CanCallFunctionWithOwnershipRoot()
156156
});
157157

158158
Assert.That(res, Is.Not.Null);
159-
Assert.That((res.AsSuccessResult().Result as ObjectRemoteValue).Handle, Is.Not.Null);
160-
Assert.That((string)(res.AsSuccessResult().Result as ObjectRemoteValue).Value[0][0], Is.EqualTo("a"));
161-
Assert.That((int)(res.AsSuccessResult().Result as ObjectRemoteValue).Value[0][1], Is.EqualTo(1));
159+
Assert.That((res.AsSuccessResult() as ObjectRemoteValue).Handle, Is.Not.Null);
160+
Assert.That((string)(res.AsSuccessResult() as ObjectRemoteValue).Value[0][0], Is.EqualTo("a"));
161+
Assert.That((int)(res.AsSuccessResult() as ObjectRemoteValue).Value[0][1], Is.EqualTo(1));
162162
}
163163

164164
[Test]
@@ -170,9 +170,9 @@ public async Task CanCallFunctionWithOwnershipNone()
170170
});
171171

172172
Assert.That(res, Is.Not.Null);
173-
Assert.That((res.AsSuccessResult().Result as ObjectRemoteValue).Handle, Is.Null);
174-
Assert.That((string)(res.AsSuccessResult().Result as ObjectRemoteValue).Value[0][0], Is.EqualTo("a"));
175-
Assert.That((int)(res.AsSuccessResult().Result as ObjectRemoteValue).Value[0][1], Is.EqualTo(1));
173+
Assert.That((res.AsSuccessResult() as ObjectRemoteValue).Handle, Is.Null);
174+
Assert.That((string)(res.AsSuccessResult() as ObjectRemoteValue).Value[0][0], Is.EqualTo("a"));
175+
Assert.That((int)(res.AsSuccessResult() as ObjectRemoteValue).Value[0][1], Is.EqualTo(1));
176176
}
177177

178178
[Test]
@@ -192,16 +192,16 @@ public async Task CanCallFunctionInASandBox()
192192

193193
var res = await context.Script.CallFunctionAsync("() => window.foo", true, targetOptions: new() { Sandbox = "sandbox" });
194194

195-
Assert.That(res.AsSuccessResult().Result, Is.AssignableFrom<UndefinedRemoteValue>());
195+
Assert.That(res.AsSuccessResult(), Is.AssignableFrom<UndefinedRemoteValue>());
196196

197197
// Make changes in the sandbox
198198
await context.Script.CallFunctionAsync("() => { window.foo = 2; }", true, targetOptions: new() { Sandbox = "sandbox" });
199199

200200
// Check if the changes are present in the sandbox
201201
res = await context.Script.CallFunctionAsync("() => window.foo", true, targetOptions: new() { Sandbox = "sandbox" });
202202

203-
Assert.That(res.AsSuccessResult().Result, Is.AssignableFrom<NumberRemoteValue>());
204-
Assert.That((res.AsSuccessResult().Result as NumberRemoteValue).Value, Is.EqualTo(2));
203+
Assert.That(res.AsSuccessResult(), Is.AssignableFrom<NumberRemoteValue>());
204+
Assert.That((res.AsSuccessResult() as NumberRemoteValue).Value, Is.EqualTo(2));
205205
}
206206

207207
[Test]

dotnet/test/common/BiDi/Script/CallFunctionRemoteValueTest.cs

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -30,33 +30,33 @@ public async Task CanCallFunctionAndReturnUndefined()
3030
{
3131
var response = await context.Script.CallFunctionAsync("() => { return undefined; }", false);
3232

33-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<UndefinedRemoteValue>());
33+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<UndefinedRemoteValue>());
3434
}
3535

3636
[Test]
3737
public async Task CanCallFunctionAndReturnNull()
3838
{
3939
var response = await context.Script.CallFunctionAsync("() => { return null; }", false);
4040

41-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NullRemoteValue>());
41+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NullRemoteValue>());
4242
}
4343

4444
[Test]
4545
public async Task CanCallFunctionAndReturnTrue()
4646
{
4747
var response = await context.Script.CallFunctionAsync("() => { return true; }", false);
4848

49-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<BooleanRemoteValue>());
50-
Assert.That(((BooleanRemoteValue)response.AsSuccessResult().Result).Value, Is.True);
49+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<BooleanRemoteValue>());
50+
Assert.That(((BooleanRemoteValue)response.AsSuccessResult()).Value, Is.True);
5151
}
5252

5353
[Test]
5454
public async Task CanCallFunctionAndReturnFalse()
5555
{
5656
var response = await context.Script.CallFunctionAsync("() => { return false; }", false);
5757

58-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<BooleanRemoteValue>());
59-
Assert.That(((BooleanRemoteValue)response.AsSuccessResult().Result).Value, Is.False);
58+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<BooleanRemoteValue>());
59+
Assert.That(((BooleanRemoteValue)response.AsSuccessResult()).Value, Is.False);
6060
}
6161

6262

@@ -65,17 +65,17 @@ public async Task CanCallFunctionAndReturnEmptyString()
6565
{
6666
var response = await context.Script.CallFunctionAsync("() => { return ''; }", false);
6767

68-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<StringRemoteValue>());
69-
Assert.That(((StringRemoteValue)response.AsSuccessResult().Result).Value, Is.Empty);
68+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<StringRemoteValue>());
69+
Assert.That(((StringRemoteValue)response.AsSuccessResult()).Value, Is.Empty);
7070
}
7171

7272
[Test]
7373
public async Task CanCallFunctionAndReturnNonEmptyString()
7474
{
7575
var response = await context.Script.CallFunctionAsync("() => { return 'whoa'; }", false);
7676

77-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<StringRemoteValue>());
78-
Assert.That(((StringRemoteValue)response.AsSuccessResult().Result).Value, Is.EqualTo("whoa"));
77+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<StringRemoteValue>());
78+
Assert.That(((StringRemoteValue)response.AsSuccessResult()).Value, Is.EqualTo("whoa"));
7979
}
8080

8181
[Test]
@@ -85,8 +85,8 @@ public async Task CanCallFunctionAndReturnRecentDate()
8585

8686
var response = await context.Script.CallFunctionAsync($$"""() => { return new Date('{{PinnedDateTimeString}}'); }""", false);
8787

88-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<DateRemoteValue>());
89-
Assert.That(response.AsSuccessResult().Result, Is.EqualTo(new DateRemoteValue(PinnedDateTimeString)));
88+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<DateRemoteValue>());
89+
Assert.That(response.AsSuccessResult(), Is.EqualTo(new DateRemoteValue(PinnedDateTimeString)));
9090
}
9191

9292
[Test]
@@ -96,45 +96,45 @@ public async Task CanCallFunctionAndReturnUnixEpoch()
9696

9797
var response = await context.Script.CallFunctionAsync($$"""() => { return new Date('{{EpochString}}'); }""", false);
9898

99-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<DateRemoteValue>());
100-
Assert.That(response.AsSuccessResult().Result, Is.EqualTo(new DateRemoteValue(EpochString)));
99+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<DateRemoteValue>());
100+
Assert.That(response.AsSuccessResult(), Is.EqualTo(new DateRemoteValue(EpochString)));
101101
}
102102

103103
[Test]
104104
public async Task CanCallFunctionAndReturnNumberFive()
105105
{
106106
var response = await context.Script.CallFunctionAsync("() => { return 5; }", false);
107107

108-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NumberRemoteValue>());
109-
Assert.That(((NumberRemoteValue)response.AsSuccessResult().Result).Value, Is.EqualTo(5));
108+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NumberRemoteValue>());
109+
Assert.That(((NumberRemoteValue)response.AsSuccessResult()).Value, Is.EqualTo(5));
110110
}
111111

112112
[Test]
113113
public async Task CanCallFunctionAndReturnNumberNegativeFive()
114114
{
115115
var response = await context.Script.CallFunctionAsync("() => { return -5; }", false);
116116

117-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NumberRemoteValue>());
118-
Assert.That(((NumberRemoteValue)response.AsSuccessResult().Result).Value, Is.EqualTo(-5));
117+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NumberRemoteValue>());
118+
Assert.That(((NumberRemoteValue)response.AsSuccessResult()).Value, Is.EqualTo(-5));
119119
}
120120

121121
[Test]
122122
public async Task CanCallFunctionAndReturnNumberZero()
123123
{
124124
var response = await context.Script.CallFunctionAsync("() => { return 0; }", false);
125125

126-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NumberRemoteValue>());
127-
Assert.That(((NumberRemoteValue)response.AsSuccessResult().Result).Value, Is.Zero);
126+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NumberRemoteValue>());
127+
Assert.That(((NumberRemoteValue)response.AsSuccessResult()).Value, Is.Zero);
128128
}
129129

130130
[Test]
131131
public async Task CanCallFunctionAndReturnNumberNegativeZero()
132132
{
133133
var response = await context.Script.CallFunctionAsync("() => { return -0; }", false);
134134

135-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NumberRemoteValue>());
135+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NumberRemoteValue>());
136136

137-
var actualNumberValue = ((NumberRemoteValue)response.AsSuccessResult().Result).Value;
137+
var actualNumberValue = ((NumberRemoteValue)response.AsSuccessResult()).Value;
138138
Assert.That(actualNumberValue, Is.Zero);
139139
Assert.That(double.IsNegative(actualNumberValue), Is.True);
140140
}
@@ -144,9 +144,9 @@ public async Task CanCallFunctionAndReturnNumberPositiveInfinity()
144144
{
145145
var response = await context.Script.CallFunctionAsync("() => { return Number.POSITIVE_INFINITY; }", false);
146146

147-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NumberRemoteValue>());
147+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NumberRemoteValue>());
148148

149-
var expectedInfinity = ((NumberRemoteValue)response.AsSuccessResult().Result).Value;
149+
var expectedInfinity = ((NumberRemoteValue)response.AsSuccessResult()).Value;
150150
Assert.That(double.IsPositiveInfinity(expectedInfinity));
151151
}
152152

@@ -155,9 +155,9 @@ public async Task CanCallFunctionAndReturnNumberNegativeInfinity()
155155
{
156156
var response = await context.Script.CallFunctionAsync("() => { return Number.NEGATIVE_INFINITY; }", false);
157157

158-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NumberRemoteValue>());
158+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NumberRemoteValue>());
159159

160-
var expectedInfinity = ((NumberRemoteValue)response.AsSuccessResult().Result).Value;
160+
var expectedInfinity = ((NumberRemoteValue)response.AsSuccessResult()).Value;
161161
Assert.That(double.IsNegativeInfinity(expectedInfinity));
162162
}
163163

@@ -166,8 +166,8 @@ public async Task CanCallFunctionAndReturnNumberNaN()
166166
{
167167
var response = await context.Script.CallFunctionAsync("() => { return NaN; }", false);
168168

169-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<NumberRemoteValue>());
170-
var expectedInfinity = ((NumberRemoteValue)response.AsSuccessResult().Result).Value;
169+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<NumberRemoteValue>());
170+
var expectedInfinity = ((NumberRemoteValue)response.AsSuccessResult()).Value;
171171
Assert.That(double.IsNaN(expectedInfinity));
172172
}
173173

@@ -176,8 +176,8 @@ public async Task CanCallFunctionAndReturnRegExp()
176176
{
177177
var response = await context.Script.CallFunctionAsync("() => { return /foo*/g; }", false);
178178

179-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<RegExpRemoteValue>());
180-
Assert.That(response.AsSuccessResult().Result, Is.EqualTo(new RegExpRemoteValue(new RegExpValue("foo*") { Flags = "g" })));
179+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<RegExpRemoteValue>());
180+
Assert.That(response.AsSuccessResult(), Is.EqualTo(new RegExpRemoteValue(new RegExpValue("foo*") { Flags = "g" })));
181181
}
182182

183183
[Test]
@@ -186,22 +186,22 @@ public async Task CanCallFunctionAndReturnArray()
186186
var response = await context.Script.CallFunctionAsync("() => { return ['hi']; }", false);
187187

188188
var expectedArray = new ArrayRemoteValue { Value = [new StringRemoteValue("hi")] };
189-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<ArrayRemoteValue>());
190-
Assert.That(((ArrayRemoteValue)response.AsSuccessResult().Result).Value, Is.EqualTo(expectedArray.Value));
189+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<ArrayRemoteValue>());
190+
Assert.That(((ArrayRemoteValue)response.AsSuccessResult()).Value, Is.EqualTo(expectedArray.Value));
191191
}
192192

193193
[Test]
194194
public async Task CanCallFunctionAndReturnObject()
195195
{
196196
var response = await context.Script.CallFunctionAsync("() => { return { objKey: 'objValue' }; }", false);
197197

198-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<ObjectRemoteValue>());
198+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<ObjectRemoteValue>());
199199

200200
var expected = new ObjectRemoteValue
201201
{
202202
Value = [[new StringRemoteValue("objKey"), new StringRemoteValue("objValue")]]
203203
};
204-
Assert.That(((ObjectRemoteValue)response.AsSuccessResult().Result).Value, Is.EqualTo(expected.Value));
204+
Assert.That(((ObjectRemoteValue)response.AsSuccessResult()).Value, Is.EqualTo(expected.Value));
205205
}
206206

207207
[Test]
@@ -220,8 +220,8 @@ public async Task CanCallFunctionAndReturnMap()
220220
}
221221
""", false);
222222

223-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<MapRemoteValue>());
224-
Assert.That(((MapRemoteValue)response.AsSuccessResult().Result).Value, Is.EqualTo(expected.Value));
223+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<MapRemoteValue>());
224+
Assert.That(((MapRemoteValue)response.AsSuccessResult()).Value, Is.EqualTo(expected.Value));
225225
}
226226

227227
[Test]
@@ -236,7 +236,7 @@ public async Task CanCallFunctionAndReturnSet()
236236
}
237237
""", false);
238238

239-
Assert.That(response.AsSuccessResult().Result, Is.AssignableTo<SetRemoteValue>());
240-
Assert.That(((SetRemoteValue)response.AsSuccessResult().Result).Value, Is.EqualTo(expected.Value));
239+
Assert.That(response.AsSuccessResult(), Is.AssignableTo<SetRemoteValue>());
240+
Assert.That(((SetRemoteValue)response.AsSuccessResult()).Value, Is.EqualTo(expected.Value));
241241
}
242242
}

0 commit comments

Comments
 (0)