import org.custommonkey.xmlunit.*;
import org.w3c.dom.Node;
public class CDATAEqualsText implements DifferenceListener {
  public int differenceFound(Difference diff) {
    Node expected = diff.getControlNodeDetail().getNode();
    Node actual = diff.getTestNodeDetail().getNode();
    
    if ((expected.getNodeType() == Node.CDATA_SECTION_NODE 
       && actual.getNodeType() == Node.TEXT_NODE)
       ||
       (actual.getNodeType() == Node.CDATA_SECTION_NODE 
       && expected.getNodeType() == Node.TEXT_NODE)) {
     
      if (expected.getNodeValue().equals(actual.getNodeValue())) {
        return RETURN_IGNORE_DIFFERENCE_NODES_IDENTICAL;
      }
      
    }
    
    return RETURN_ACCEPT_DIFFERENCE;
    
    // We could really use something like DOM's NodeFilter
    // to indicate whether to process or skip the children
    
  }
  public void skippedComparison(Node expected, Node actual) {}
}