Skip to content

Commit 1a1207e

Browse files
committed
Added more tests
1 parent 6d14525 commit 1a1207e

File tree

2 files changed

+34
-16
lines changed

2 files changed

+34
-16
lines changed

src/AngleSharp.Js.Tests/JavascriptErrorTests.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,31 @@ public async Task JavascriptErrorInListenerShouldNotThrowJavascriptException()
2929

3030
await context.OpenAsync(r => r.Content(content));
3131
}
32+
33+
[Test]
34+
public async Task CanComputeAndHoistLocalVariablesInForLoop()
35+
{
36+
var source = @"
37+
(function (cl) {
38+
for (
39+
var n = !!document.getElementsByClassName,
40+
ret = [],
41+
els = n
42+
? document.getElementsByClassName(cl)
43+
: document.getElementsByTagName(""*""),
44+
p = n ? false : new RegExp(""(^|\\s)"" + cl + ""(\\s|$)""),
45+
i = 0;
46+
i < els.length;
47+
i++
48+
)
49+
if (!p || p.test(els[i].className)) ret.push(els[i]);
50+
return ret;
51+
})('abc').length";
52+
var config = Configuration.Default
53+
.WithJs();
54+
var document = await BrowsingContext.New(config).OpenNewAsync();
55+
var result = document.ExecuteScript(source);
56+
Assert.AreEqual(0.0, result);
57+
}
3258
}
3359
}

src/AngleSharp.Js.Tests/PageTests.cs

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,25 @@ public class PageTests
1111
{
1212
private static Task<IDocument> LoadPage(String url)
1313
{
14-
var configuration = Helpers.GetCssConfig().WithDefaultLoader(new LoaderOptions { IsResourceLoadingEnabled = true });
14+
var configuration = Helpers.GetCssConfig()
15+
.WithDefaultLoader(new LoaderOptions { IsResourceLoadingEnabled = true });
1516
var context = BrowsingContext.New(configuration);
1617
return context.OpenAsync(url);
1718
}
1819

19-
//[Test]
20+
[Test]
2021
public async Task RunHtml5Test()
2122
{
2223
if (Helpers.IsNetworkAvailable())
2324
{
24-
var target = "http://html5test.com";
25+
var target = "https://html5test.com";
2526
var document = await LoadPage(target);
26-
var points = document.QuerySelector("#score > .pointsPanel > h2 > strong").TextContent;
27+
await document.WaitForReadyAsync();
28+
var result = document.QuerySelector("#score > .pointsPanel > h2 > strong");
29+
Assert.IsNotNull(result);
30+
var points = result?.TextContent ?? "0";
2731
Assert.AreNotEqual("0", points);
2832
}
2933
}
30-
31-
//[Test]
32-
public async Task RunTaobao()
33-
{
34-
if (Helpers.IsNetworkAvailable())
35-
{
36-
var target = "https://meadjohnson.world.tmall.com/search.htm?search=y&orderType=defaultSort&scene=taobao_shop";
37-
var document = await LoadPage(target);
38-
var prices = document.QuerySelectorAll("span.c-price");
39-
Assert.AreNotEqual(0, prices.Length);
40-
}
41-
}
4234
}
4335
}

0 commit comments

Comments
 (0)