Skip to content

Commit 608f51d

Browse files
committed
More tests for jQuery
1 parent 528171b commit 608f51d

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

AngleSharp.Scripting.JavaScript.Tests/JqueryTests.cs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
namespace AngleSharp.Scripting.JavaScript.Tests
22
{
3+
using AngleSharp.Extensions;
4+
using AngleSharp.Scripting.JavaScript.Tests.Mocks;
35
using NUnit.Framework;
46
using System;
57
using System.Collections.Generic;
@@ -37,5 +39,50 @@ public async Task JqueryWithSimpleSelector()
3739
var result = await EvaluateScriptWithJqueryAsync(SetResult("$('#result').length.toString()"));
3840
Assert.AreEqual("1", result);
3941
}
42+
43+
[Test]
44+
public async Task JqueryWithSettingAttribute()
45+
{
46+
var result = await EvaluateScriptWithJqueryAsync("$('#result').attr('foo', 'bar')", SetResult("$('#result').attr('foo')"));
47+
Assert.AreEqual("bar", result);
48+
}
49+
50+
[Test]
51+
public async Task JqueryWithSettingTextProperty()
52+
{
53+
var result = await EvaluateScriptWithJqueryAsync("$('#result').text('<span>foo&gt;</span>');");
54+
Assert.AreEqual("&lt;span&gt;foo&amp;gt;&lt;/span&gt;", result);
55+
}
56+
57+
[Test]
58+
public async Task JqueryWithSettingHtmlProperty()
59+
{
60+
var result = await EvaluateScriptWithJqueryAsync("$('#result').html('<span>foo&gt;</span>')");
61+
Assert.AreEqual("<span>foo&gt;</span>", result);
62+
}
63+
64+
[Test]
65+
public async Task JqueryWithAjaxToDelayedResponse()
66+
{
67+
var message = "Hi!";
68+
var req = new DelayedRequester(10, message);
69+
var cfg = Configuration.Default.WithJavaScript().WithDefaultLoader(requesters: new[] { req });
70+
var sources = new [] { Sources.Jquery, @"
71+
$.ajax('http://example.com/', {
72+
success: function (data, status, xhr) {
73+
var res = document.querySelector('#result');
74+
res.textContent = xhr.responseText;
75+
res.dispatchEvent(new CustomEvent('xhrdone'));
76+
}
77+
});" };
78+
var scripts = String.Join("</script><script>", sources);
79+
var html = "<!doctype html><div id=result></div><script>" + scripts + "</script>";
80+
var document = await BrowsingContext.New(cfg).OpenAsync(m => m.Content(html));
81+
var result = document.QuerySelector("#result");
82+
Assert.AreEqual("", result.TextContent);
83+
Assert.IsTrue(req.IsStarted);
84+
await result.AwaitEvent("xhrdone").ConfigureAwait(false);
85+
Assert.AreEqual(message, result.TextContent);
86+
}
4087
}
4188
}

0 commit comments

Comments
 (0)