public void SelectedElement_NoDocumentAttached_Throws() { var behavior = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow)); myBrowser.LoadHtml(HtmlDocument1); var document = new HtmlDocumentAdapter(myBrowser.Document); var ex = Assert.Throws <InvalidOperationException>(() => behavior.SelectedElement = ( HtmlElementAdapter )document.GetElementById("x11")); Assert.That(ex.Message, Does.Contain("Document not attached")); }
public void PathToSelectedElement_NoDocumentAttached_PathSet() { var behavior = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow)); myBrowser.LoadHtml(HtmlDocument1); var document = new HtmlDocumentAdapter(myBrowser.Document); var path = document.GetElementById("x11").GetPath().ToString(); behavior.PathToSelectedElement = path; Assert.That(behavior.PathToSelectedElement, Is.EqualTo(path)); }
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); }
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"))); }
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")); }
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)); }
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); }
public void Detach_WhenCalled_SelectedElementAndPathAndDocumentNulled() { 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"); behavior.Detach(); Assert.That(behavior.Document, Is.Null); Assert.That(behavior.SelectedElement, Is.Null); Assert.That(behavior.PathToSelectedElement, Is.Null); }
public void Ctor_WhenCalled_MarkerIsSet() { var behavior = new HtmlMarkupBehavior <HtmlElementMarker>(new HtmlElementMarker(Color.Yellow)); Assert.That(behavior.Marker, Is.Not.Null); }