Skip to content

Commit 84148c4

Browse files
committed
Cleanups
1 parent 2faf8e8 commit 84148c4

File tree

5 files changed

+36
-19
lines changed

5 files changed

+36
-19
lines changed

src/Components/Web.JS/dist/Release/blazor.server.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Components/test/E2ETest/ServerExecutionTests/ServerAuthTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ void AssertState(string username)
5555

5656
private void PerformReconnection()
5757
{
58-
((IJavaScriptExecutor)Browser).ExecuteScript($"fetch('/WebSockets/Interrupt?WebSockets.Identifier={SessionIdentifier}')");
58+
Browser.ExecuteAsyncScript($"fetch('/WebSockets/Interrupt?WebSockets.Identifier={SessionIdentifier}').then(r => window['WebSockets.{SessionIdentifier}'] = r.ok)");
59+
Browser.HasJavaScriptValue(true, $"window['WebSockets.{SessionIdentifier}']", (r) => r != null);
5960

6061
// Wait until the reconnection dialog has been shown but is now hidden
6162
new WebDriverWait(Browser, TimeSpan.FromSeconds(10))

src/Components/test/E2ETest/ServerExecutionTests/ServerReconnectionTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ public void RendersContinueAfterReconnect()
9797
private void Disconnect()
9898
{
9999
var javascript = (IJavaScriptExecutor)Browser;
100-
Browser.ExecuteScript($"fetch('/WebSockets/Interrupt?WebSockets.Identifier={SessionIdentifier}').then(r => window['WebSockets.{SessionIdentifier}'] = r.ok)");
101-
Assert.True(Browser.HasJavaScriptValue($"window['WebSockets.{ SessionIdentifier}']", (r) => r != null));
100+
Browser.ExecuteAsyncScript($"fetch('/WebSockets/Interrupt?WebSockets.Identifier={SessionIdentifier}').then(r => window['WebSockets.{SessionIdentifier}'] = r.ok)");
101+
Browser.HasJavaScriptValue(true, $"window['WebSockets.{SessionIdentifier}']", (r) => r != null);
102102
}
103103

104104
private IWebElement WaitUntilReconnectionDialogExists()

src/Components/test/testassets/BasicTestApp/ReconnectTicker.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<h1>Reconnect component</h1>
55

66
<p>
7-
This component demonstrates reconnection capabilities for blazor server-side. The ticker starts ticking for a,
7+
This component demonstrates reconnection capabilities for blazor server-side. The ticker starts ticking for a
88
few seconds. Then the application reconnects and the renders resume updating the ticker value. (The renders happened
99
while the circuit was disconnected).
1010
</p>

src/Shared/E2ETesting/WaitAssert.cs

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,43 @@ public static void ExecuteScript(this IWebDriver driver, string script)
3636
}
3737
}
3838

39-
public static T HasJavaScriptValue<T>(
39+
public static void ExecuteAsyncScript(this IWebDriver driver, string script)
40+
{
41+
if (!(driver is IJavaScriptExecutor javaScript))
42+
{
43+
Assert.False(true, "The driver can't execute JavaScript.");
44+
return;
45+
}
46+
else
47+
{
48+
var scriptWithCallback = $"const cb = arguments[arguments.length - 1];{script}.then(cb, cb)";
49+
javaScript.ExecuteAsyncScript(scriptWithCallback);
50+
}
51+
}
52+
public static void HasJavaScriptValue<T>(
4053
this IWebDriver driver,
41-
string script, Func<object,T> converter = null)
54+
T expectedValue,
55+
string script,
56+
Func<object, T> converter = null)
4257
{
58+
if(!script.StartsWith("return "))
59+
{
60+
script = $"return {script}";
61+
}
62+
4363
converter ??= (v) => (T)v;
44-
if(!(driver is IJavaScriptExecutor javaScript))
64+
if (!(driver is IJavaScriptExecutor javaScript))
4565
{
4666
Assert.False(true, "The driver can't execute JavaScript.");
47-
return default;
4867
}
4968
else
5069
{
51-
return WaitAssertCore(driver, () => converter(javaScript.ExecuteScript(script)));
70+
driver.True(() =>
71+
{
72+
var result = javaScript.ExecuteScript(script);
73+
T convertedResult = converter(result);
74+
return expectedValue.Equals(convertedResult);
75+
});
5276
}
5377
}
5478

@@ -74,26 +98,20 @@ public static void Exists(this IWebDriver driver, By finder)
7498
=> WaitAssertCore(driver, () => Assert.NotEmpty(driver.FindElements(finder)));
7599

76100
private static void WaitAssertCore(IWebDriver driver, Action assertion, TimeSpan timeout = default)
77-
{
78-
_ = WaitAssertCore<object>(driver, () => assertion, timeout);
79-
}
80-
81-
private static T WaitAssertCore<T>(IWebDriver driver, Func<T> assertion, TimeSpan timeout = default)
82101
{
83102
if (timeout == default)
84103
{
85104
timeout = DefaultTimeout;
86105
}
87106

88107
Exception lastException = null;
89-
T result = default;
90108
try
91109
{
92110
new WebDriverWait(driver, timeout).Until(_ =>
93111
{
94112
try
95113
{
96-
result = assertion();
114+
assertion();
97115
return true;
98116
}
99117
catch (Exception e)
@@ -115,8 +133,6 @@ private static T WaitAssertCore<T>(IWebDriver driver, Func<T> assertion, TimeSpa
115133
assertion();
116134
}
117135
}
118-
119-
return result;
120136
}
121137
}
122138
}

0 commit comments

Comments
 (0)