public async Task ImportPageWithDirectCycle() { var content = "<!doctype html><link rel=import href=http://example.com/test.html>"; var requester = new MockRequester(); var requestCount = 0; requester.OnRequest = request => requestCount++; requester.BuildResponse(request => content); var config = Configuration.Default.WithDefaultLoader(setup => setup.IsResourceLoadingEnabled = true, new[] { requester }); var document = await BrowsingContext.New(config).OpenAsync(m => m.Content(content)); var link = document.QuerySelector<IHtmlLinkElement>("link"); Assert.AreEqual("import", link.Relation); Assert.IsNotNull(link.Import); Assert.AreEqual(1, requestCount); }
static Task<IDocument> CreateDocumentWithOptions(String source) { var mockRequester = new MockRequester(); mockRequester.BuildResponse(request => { if (request.Address.Path.EndsWith("a.css")) { return "div#A { color: blue; }"; } else if (request.Address.Path.EndsWith("b.css")) { return "div#B { color: red; }"; } return null; }); var config = Configuration.Default.WithCss().WithMockRequester(mockRequester); var context = BrowsingContext.New(config); return context.OpenAsync(m => m.Content(source)); }