You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by ra...@apache.org on 2005/02/11 19:24:18 UTC

cvs commit: xml-security/src_unitTests/org/apache/xml/security/c14n/implementations NameSpaceSymbTableTest.java

raul        2005/02/11 10:24:18

  Added:       src_unitTests/org/apache/xml/security/c14n/implementations
                        NameSpaceSymbTableTest.java
  Log:
  
  
  Revision  Changes    Path
  1.1                  xml-security/src_unitTests/org/apache/xml/security/c14n/implementations/NameSpaceSymbTableTest.java
  
  Index: NameSpaceSymbTableTest.java
  ===================================================================
  /*
   * Created on Jan 27, 2005
   *
   * TODO To change the template for this generated file go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  package org.apache.xml.security.c14n.implementations;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import javax.xml.parsers.DocumentBuilderFactory;
  import javax.xml.parsers.FactoryConfigurationError;
  import javax.xml.parsers.ParserConfigurationException;
  
  import org.apache.xerces.dom.NodeImpl;
  import org.w3c.dom.Attr;
  import org.w3c.dom.DOMException;
  import org.w3c.dom.Document;
  import org.w3c.dom.Node;
  
  import junit.framework.TestCase;
  
  /**
   * @author raul
   *
   * TODO To change the template for this generated type comment go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  public class NameSpaceSymbTableTest extends TestCase {
      
  	static Attr node1,node2;
      static {
      	try {
              Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
  			node1=doc.createAttributeNS("a","b");
              node2=doc.createAttributeNS("b","c");
  		} catch (Exception e) {
  			// TODO Auto-generated catch block
  			e.printStackTrace();
  		} 
      }
  	public void testNullFirstXmlns() {
  		NameSpaceSymbTable ns=new NameSpaceSymbTable();
          assertNull(ns.getMapping("xmlns"));
      }
      public void testXmlnsPut() {
          NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.addMapping("xmlns","http://a",node1);
          assertEquals(node1,ns.getMapping("xmlns"));
      }
      public void testXmlnsMap() {
          NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.addMapping("xmlns","http://a",node1);
          assertEquals(node1,ns.getMapping("xmlns"));
          ns.pop();
          assertEquals(null,ns.getMapping("xmlns"));        
      }
      public void testXmlnsMap2() {
          NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.push();
          ns.addMapping("xmlns","http://a",node1);        
          ns.pop();
          ns.pop();
          assertEquals(null,ns.getMapping("xmlns"));        
      }
      public void testXmlnsPrefix() {
          NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.addMapping("xmlns","http://a",node1);
          assertEquals(node1,ns.getMapping("xmlns"));
          ns.push();
          ns.addMapping("xmlns","http://a",node1);
          assertEquals(null,ns.getMapping("xmlns"));     
          ns.push();
          ns.addMapping("xmlns","http://b",node1);
          assertEquals(node1,ns.getMapping("xmlns"));
      }
      public void testXmlnsRemovePrefix() {
          NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.push();
          ns.addMapping("xmlns","http://a",node1);
          assertEquals(node1,ns.getMapping("xmlns"));
          ns.pop();        
          assertNull(ns.getMapping("xmlns"));             
      }
      public void testPrefix() {
      	NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.addMapping("a","http://a",node1);
          assertEquals(node1,ns.getMapping("a"));
          ns.push();
          assertNull(ns.getMapping("a"));
          ns.push();
          ns.addMapping("a","http://c",node1);
          assertEquals(node1,ns.getMapping("a"));
          ns.pop();
          ns.push();
          assertNull(ns.getMapping("a"));
          ns.addMapping("a","http://c",node1);
          assertEquals(node1,ns.getMapping("a"));
      }
      public void testSeveralPrefixes() {
      	NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.addMapping("a","http://a",node1);
          ns.addMapping("b","http://b",node2);
          assertEquals(node1,ns.getMapping("a"));
          assertEquals(node2,ns.getMapping("b"));
          ns.push();
          assertNull(ns.getMapping("a"));
       }
      public void testSeveralPrefixes2() {
          NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          ns.addMapping("a","http://a",node1);
          ns.push();        
          assertEquals(node1,ns.getMapping("a"));
          ns.pop();
          assertEquals(node1,ns.getMapping("a"));
          
       }
      public void testUnrederedNodes() {
      	NameSpaceSymbTable ns=new NameSpaceSymbTable();
          ns.push();
          List l=new ArrayList();
          ns.getUnrenderedNodes(l);
          assertTrue(l.isEmpty());
          l.clear();
          ns.push();
          ns.addMapping("xmlns","http://a",node1);
          ns.push();
          
          ns.getUnrenderedNodes(l);
          assertTrue(l.contains(node1));
          ns.push();
          l.clear();
          ns.getUnrenderedNodes(l);
          assertFalse(l.contains(node1));
          ns.pop();
          ns.pop();
          l.clear();
          ns.getUnrenderedNodes(l);
          assertTrue(l.contains(node1));
      }
  }