Beispiel #1
0
        public void AttachTo_WhenCalled_SelectedElementAndPathNulled()
        {
            myBrowser.LoadHtml(HtmlDocument1);
            var document = new HtmlDocumentAdapter(myBrowser.Document);

            var behavior = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow));

            behavior.AttachTo(document);

            behavior.SelectedElement = ( HtmlElementAdapter )document.GetElementById("x11");

            myBrowser.LoadHtml(HtmlDocument2);
            document = new HtmlDocumentAdapter(myBrowser.Document);
            behavior.AttachTo(document);

            Assert.That(behavior.SelectedElement, Is.Null);
            Assert.That(behavior.PathToSelectedElement, Is.Null);
        }
Beispiel #2
0
        public void PathToSelectedElement_SetToNull_SelectedElementAdjusted()
        {
            myBrowser.LoadHtml(HtmlDocument1);
            var document = new HtmlDocumentAdapter(myBrowser.Document);

            var behavior = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow));

            behavior.AttachTo(document);

            behavior.PathToSelectedElement = null;

            Assert.That(behavior.SelectedElement, Is.Null);
        }
Beispiel #3
0
        public void PathToSelectedElement_SetToNotNull_SelectedElementAdjusted()
        {
            myBrowser.LoadHtml(HtmlDocument1);
            var document = new HtmlDocumentAdapter(myBrowser.Document);

            var behavior = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow));

            behavior.AttachTo(document);

            behavior.PathToSelectedElement = document.GetElementById("x11").GetPath().ToString();

            Assert.That(behavior.SelectedElement, Is.SameAs(document.GetElementById("x11")));
        }
Beispiel #4
0
        public void AttachTo_SetToDocumentToWhichAnotherBehaviorIsAlreadyAttached_Throws()
        {
            myBrowser.LoadHtml(HtmlDocument1);
            var document = new HtmlDocumentAdapter(myBrowser.Document);

            var behavior1 = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow));

            behavior1.AttachTo(document);

            var behavior2 = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Red));
            var ex        = Assert.Throws <InvalidOperationException>(() => behavior2.AttachTo(document));

            Assert.That(ex.Message, Does.Contain("Only one attached HtmlMarkupBehavior per HtmlDocument supported"));
        }
Beispiel #5
0
        public void Detach_WhenCalled_AnotherBehaviorCanBeAttached()
        {
            myBrowser.LoadHtml(HtmlDocument1);
            var document = new HtmlDocumentAdapter(myBrowser.Document);

            var behavior1 = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow));

            behavior1.AttachTo(document);
            behavior1.Detach();

            var behavior2 = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Red));

            behavior2.AttachTo(document);

            Assert.That(behavior1.Document, Is.Null);
            Assert.That(behavior2.Document, Is.EqualTo(document));
        }
Beispiel #6
0
        public void PathToSelectedElement_WhenSet_SelectionChangedRaised()
        {
            myBrowser.LoadHtml(HtmlDocument1);
            var document = new HtmlDocumentAdapter(myBrowser.Document);

            var behavior = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow));

            behavior.AttachTo(document);

            bool selectionChangedRaised = false;

            behavior.SelectionChanged += (s, e) => selectionChangedRaised = true;

            behavior.PathToSelectedElement = document.GetElementById("x11").GetPath().ToString();;

            Assert.That(selectionChangedRaised, Is.True);
        }