hillion     02/03/20 02:42:26

  Modified:    sources/org/apache/batik/css/engine CSSEngine.java
               sources/org/apache/batik/dom AbstractElement.java
               test-resources/org/apache/batik/dom unitTesting.xml
  Added:       test-sources/org/apache/batik/dom RemoveAttributeTest.java
  Log:
  - Fixed Element.removeAttribute().
  
  Revision  Changes    Path
  1.2       +10 -4     xml-batik/sources/org/apache/batik/css/engine/CSSEngine.java
  
  Index: CSSEngine.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/css/engine/CSSEngine.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CSSEngine.java    18 Mar 2002 10:28:21 -0000      1.1
  +++ CSSEngine.java    20 Mar 2002 10:42:26 -0000      1.2
  @@ -58,7 +58,7 @@
    * This is the base class for all the CSS engines.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: CSSEngine.java,v 1.1 2002/03/18 10:28:21 hillion Exp $
  + * @version $Id: CSSEngine.java,v 1.2 2002/03/20 10:42:26 hillion Exp $
    */
   public abstract class CSSEngine {
   
  @@ -992,7 +992,9 @@
                   i = getShorthandIndex(name);
                   if (i == -1) {
                       String s = Messages.formatMessage("invalid.property",
  -                                                  new Object[] { name });
  +                                                  new Object[] {
  +                                                      documentURI,
  +                                                      name });
                       throw new DOMException(DOMException.SYNTAX_ERR, s);
                   }
                   shorthandManagers[i].setValues(CSSEngine.this,
  @@ -1142,7 +1144,9 @@
                   i = getShorthandIndex(name);
                   if (i == -1) {
                       String s = Messages.formatMessage("invalid.property",
  -                                                      new Object[] { name });
  +                                                      new Object[] {
  +                                                          documentURI,
  +                                                          name });
                       throw new DOMException(DOMException.SYNTAX_ERR, s);
                   }
                   shorthandManagers[i].setValues(CSSEngine.this,
  @@ -1578,7 +1582,9 @@
                   i = getShorthandIndex(name);
                   if (i == -1) {
                       String s = Messages.formatMessage("invalid.property",
  -                                                  new Object[] { name });
  +                                                  new Object[] {
  +                                                      documentURI,
  +                                                      name });
                       throw new DOMException(DOMException.SYNTAX_ERR, s);
                   }
                   shorthandManagers[i].setValues(CSSEngine.this,
  
  
  
  1.16      +5 -9      xml-batik/sources/org/apache/batik/dom/AbstractElement.java
  
  Index: AbstractElement.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/dom/AbstractElement.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- AbstractElement.java      19 Mar 2002 09:25:40 -0000      1.15
  +++ AbstractElement.java      20 Mar 2002 10:42:26 -0000      1.16
  @@ -29,7 +29,7 @@
    * This class implements the {@link org.w3c.dom.Element} interface.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: AbstractElement.java,v 1.15 2002/03/19 09:25:40 hillion Exp $
  + * @version $Id: AbstractElement.java,v 1.16 2002/03/20 10:42:26 hillion Exp $
    */
   public abstract class AbstractElement
       extends    AbstractParentChildNode
  @@ -135,10 +135,8 @@
        * org.w3c.dom.Element#removeAttribute(String)}.
        */
       public void removeAttribute(String name) throws DOMException {
  -     if (attributes == null) {
  -         throw createDOMException(DOMException.NOT_FOUND_ERR,
  -                                  "attribute.missing",
  -                                  new Object[] { name });
  +     if (!hasAttribute(name)) {
  +            return;
        }
        attributes.removeNamedItem(name);
       }
  @@ -245,10 +243,8 @@
        */
       public void removeAttributeNS(String namespaceURI, 
                                  String localName) throws DOMException {
  -     if (attributes == null) {
  -         throw createDOMException(DOMException.NOT_FOUND_ERR,
  -                                  "attribute.missing",
  -                                  new Object[] { localName });
  +     if (!hasAttributeNS(namespaceURI, localName)) {
  +            return;
        }
        attributes.removeNamedItemNS(namespaceURI, localName);
       }
  
  
  
  1.5       +22 -1     xml-batik/test-resources/org/apache/batik/dom/unitTesting.xml
  
  Index: unitTesting.xml
  ===================================================================
  RCS file: /home/cvs/xml-batik/test-resources/org/apache/batik/dom/unitTesting.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- unitTesting.xml   19 Mar 2002 13:43:54 -0000      1.4
  +++ unitTesting.xml   20 Mar 2002 10:42:26 -0000      1.5
  @@ -9,7 +9,7 @@
   <!-- ========================================================================= -->
   <!-- @author [EMAIL PROTECTED]                                         -->
   <!-- @author [EMAIL PROTECTED]                                                  -->
  -<!-- @version $Id: unitTesting.xml,v 1.4 2002/03/19 13:43:54 hillion Exp $  -->
  +<!-- @version $Id: unitTesting.xml,v 1.5 2002/03/20 10:42:26 hillion Exp $  -->
   <!-- ========================================================================= -->
   <testSuite id="dom.unitTesting" name="org.apache.batik.dom package - Unit Testing">
   
  @@ -63,6 +63,27 @@
                value="test-resources/org/apache/batik/dom/dummyXML3.xml" />
           <arg class="java.lang.String" value="doc" />
           <arg class="java.lang.String" value="root" />
  +    </test>
  +
  +    <!-- ========================================================================== 
-->
  +    <!-- removeAttribute test                                                       
-->
  +    <!-- ========================================================================== 
-->
  +    <test id="removeAttribute1"
  +          class="org.apache.batik.dom.RemoveAttributeTest" >
  +        <arg class="java.lang.String"
  +             value="test-resources/org/apache/batik/dom/dummyXML3.xml" />
  +        <arg class="java.lang.String" value="doc" />
  +        <arg class="java.lang.String" value="root" />
  +        <arg class="java.lang.String" value="attr" />
  +    </test>
  +
  +    <test id="removeAttribute2"
  +          class="org.apache.batik.dom.RemoveAttributeTest" >
  +        <arg class="java.lang.String"
  +             value="test-resources/org/apache/batik/dom/dummyXML3.xml" />
  +        <arg class="java.lang.String" value="doc" />
  +        <arg class="java.lang.String" value="root" />
  +        <arg class="java.lang.String" value="attr2" />
       </test>
   
       <!-- ========================================================================== 
-->
  
  
  
  1.1                  
xml-batik/test-sources/org/apache/batik/dom/RemoveAttributeTest.java
  
  Index: RemoveAttributeTest.java
  ===================================================================
  /*****************************************************************************
   * Copyright (C) The Apache Software Foundation. All rights reserved.        *
   * ------------------------------------------------------------------------- *
   * This software is published under the terms of the Apache Software License *
   * version 1.1, a copy of which has been included with this distribution in  *
   * the LICENSE file.                                                         *
   *****************************************************************************/
  
  package org.apache.batik.dom;
  
  import org.w3c.dom.*;
  
  import java.io.*;
  import java.net.*;
  import org.apache.batik.dom.util.*;
  import org.apache.batik.util.*;
  
  import org.apache.batik.test.*;
  
  /**
   * This class tests the removeAttribute method.
   *
   * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
   * @version $Id: RemoveAttributeTest.java,v 1.1 2002/03/20 10:42:26 hillion Exp $
   */
  public class RemoveAttributeTest extends AbstractTest {
      public static String ERROR_GET_ELEMENT_BY_ID_FAILED 
          = "error.get.element.by.id.failed";
  
      public static String ENTRY_KEY_ID 
          = "entry.key.id";
  
      protected String testFileName;
      protected String rootTag;
      protected String targetId;
      protected String targetAttr;
  
      public RemoveAttributeTest(String file,
                                 String root,
                                 String id,
                                 String attr) {
          testFileName = file;
          rootTag = root;
          targetId = id;
          targetAttr = attr;
      }
  
      public TestReport runImpl() throws Exception {
          String parser =
              XMLResourceDescriptor.getXMLParserClassName();
  
          DocumentFactory df 
              = new SAXDocumentFactory
              (GenericDOMImplementation.getDOMImplementation(), parser);
  
          File f = (new File(testFileName));
          URL url = f.toURL();
          Document doc = df.createDocument(null,
                                           rootTag,
                                           url.toString(),
                                           url.openStream());
  
          
          Element e = doc.getElementById(targetId);
  
          if (e == null){
              DefaultTestReport report = new DefaultTestReport(this);
              report.setErrorCode(ERROR_GET_ELEMENT_BY_ID_FAILED);
              report.addDescriptionEntry(ENTRY_KEY_ID,
                                         targetId);
              report.setPassed(false);
              return report;
          }
  
          try {
              e.removeAttribute(targetAttr);
          } catch (DOMException ex) {
              DefaultTestReport report = new DefaultTestReport(this);
              report.setErrorCode(report.ERROR_TEST_FAILED);
              report.addDescriptionEntry("exception.message",
                                         ex.getMessage());
              report.setPassed(false);
              return report;
          }
          return reportSuccess();
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to