Esempio n. 1
-2
        public async Task DocumentWriteDynamicallyWithCustomScriptEngineAndSourceNested()
        {
            var index = 0;
            var content = new[]
            {
                "<script type='c-sharp' src='foo2.cs'></script>",
                "<b>Dynamically written</b>"
            };
            var scripting = new CallbackScriptEngine(options => options.Document.Write(content[index++]));
            var config = Configuration.Default.WithScripts(scripting).WithMockRequester();
            var source = "<title>Some title</title><body><script type='c-sharp' src='foo.cs'></script>";
            var document = await BrowsingContext.New(config).OpenAsync(m => m.Content(source).Address("http://www.example.com"));
            var bold = document.QuerySelector("b");

            Assert.AreEqual("Dynamically written", document.Body.TextContent);
            Assert.AreEqual(1, document.QuerySelectorAll("b").Length);
            Assert.AreEqual("Dynamically written", bold.TextContent);
            Assert.AreEqual(2, index);
        }
Esempio n. 2
-2
 public async Task DocumentWriteDynamicallyWithCustomScriptEngineAndSourceMultipleNested()
 {
     var index = 0;
     var content = new[]
     {
         "<script type='c-sharp' src='foo2.cs'></script>",
         "<script type='c-sharp' src='foo3.cs'></script>",
         "<script type='c-sharp' src='foo4.cs'></script>",
         "<script type='c-sharp' src='foo5.cs'></script><b>dynamically written</b>",
         "This is "
     };
     var scripting = new TestScriptEngine(options => options.Document.Write(content[index++]));
     var mockRequester = new MockRequester();
     var config = Configuration.Default
                               .With(new TestScriptService(scripting))
                               .WithDefaultLoader(setup => setup.IsResourceLoadingEnabled = true, new[] { mockRequester });
     var source = "<title>Some title</title><body><script type='c-sharp' src='foo.cs'></script>";
     var doc = await BrowsingContext.New(config).OpenAsync(m => m.Content(source).Address("http://www.example.com"));
     Assert.AreEqual("This is dynamically written", doc.Body.TextContent);
     Assert.AreEqual(1, doc.QuerySelectorAll("b").Length);
     var bold = doc.QuerySelector("b");
     Assert.AreEqual("dynamically written", bold.TextContent);
     Assert.AreEqual(5, index);
 }