public void ObserveChildNodes_callback_should_be_noop(MutationData data) { var doc = new DomDocument().LoadXml(@" <root><a/><b/><c/></root> "); var element = doc.DocumentElement; var evts = new TestActionDispatcher <DomMutationEvent>(_ => {}); doc.ObserveChildNodes(element, evts.Invoke); data.Action(element); Assert.Equal(0, evts.CallCount); }
public void ObserveChildNodes_callback_should_be_invoked_on_mutation_nodes(MutationData data) { var doc = new DomDocument().LoadXml(@" <root><a/><b/><c/></root> "); var element = doc.DocumentElement; var evts = new TestActionDispatcher <DomMutationEvent>(_ => {}); var expected = data.Event(element); doc.ObserveChildNodes(element, evts.Invoke); data.Action(element); var actuallyAddedNodes = data.Event(element).AddedNodes; Assert.Equal(1, evts.CallCount); Assert.Equal(actuallyAddedNodes.NodeNames(), evts.ArgsForCall(0).AddedNodes.NodeNames()); Assert.Equal(expected.RemovedNodes.NodeNames(), evts.ArgsForCall(0).RemovedNodes.NodeNames()); Assert.Same(expected.NextSiblingNode, evts.ArgsForCall(0).NextSiblingNode); Assert.Same(expected.PreviousSiblingNode, evts.ArgsForCall(0).PreviousSiblingNode); }