ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sbaill...@apache.org
Subject cvs commit: ant/src/testcases/org/apache/tools/ant/taskdefs/cvslib ChangeLogWriterTest.java
Date Thu, 11 Nov 2004 17:27:43 GMT
sbailliez    2004/11/11 09:27:43

  Added:       src/testcases/org/apache/tools/ant/taskdefs/cvslib
                        ChangeLogWriterTest.java
  Log:
  Fix invalid xml formed in case the filename is made of reserved xml characters (ampersand
for entities for instance)
  PR: 30817
  
  Revision  Changes    Path
  1.1                  ant/src/testcases/org/apache/tools/ant/taskdefs/cvslib/ChangeLogWriterTest.java
  
  Index: ChangeLogWriterTest.java
  ===================================================================
  /*
   * Copyright  2003-2004 The Apache Software Foundation.
   *
   *  Licensed under the Apache License, Version 2.0 (the "License");
   *  you may not use this file except in compliance with the License.
   *  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   *  Unless required by applicable law or agreed to in writing, software
   *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   *
   */
  package org.apache.tools.ant.taskdefs.cvslib;
  
  import junit.framework.TestCase;
  
  import java.util.Date;
  import java.io.PrintWriter;
  import java.io.OutputStreamWriter;
  import java.io.ByteArrayOutputStream;
  import java.io.ByteArrayInputStream;
  import java.io.InputStream;
  
  import org.apache.tools.ant.util.JAXPUtils;
  import org.xml.sax.XMLReader;
  import org.xml.sax.InputSource;
  import org.xml.sax.ContentHandler;
  import org.xml.sax.SAXException;
  import org.xml.sax.Locator;
  import org.xml.sax.Attributes;
  
  /**
   *  Test for the cvslib ChangeLogWriter
   */
  public class ChangeLogWriterTest extends TestCase {
  
      private ChangeLogWriter writer = new ChangeLogWriter();
  
      public void testNonUTF8Characters() throws Exception {
          CVSEntry entry = new CVSEntry(new Date(), "Señorita", "2003 < 2004 &&
3 > 5");
          entry.addFile("Medicare & review.doc", "1.1");
          entry.addFile("Eléments de style", "1.2");
          CVSEntry[] entries = { entry };
  
          ByteArrayOutputStream output = new ByteArrayOutputStream();
          PrintWriter pwriter = new PrintWriter(new OutputStreamWriter(output, "UTF-8"));
          writer.printChangeLog(pwriter, entries);
  
          // make sure that the parsing does not break
          XMLReader xmlReader = JAXPUtils.getXMLReader();
          InputStream input = new ByteArrayInputStream(output.toByteArray());
          xmlReader.setContentHandler(new NullContentHandler());
          xmlReader.parse(new InputSource(input));
      }
  
      public static class NullContentHandler implements ContentHandler {
          public void endDocument() throws SAXException {
          }
  
          public void startDocument() throws SAXException {
          }
  
          public void characters(char ch[], int start, int length) throws SAXException {
              String debug = new String(ch, start, length);
          }
  
          public void ignorableWhitespace(char ch[], int start, int length) throws SAXException
{
          }
  
          public void endPrefixMapping(String prefix) throws SAXException {
          }
  
          public void skippedEntity(String name) throws SAXException {
          }
  
          public void setDocumentLocator(Locator locator) {
          }
  
          public void processingInstruction(String target, String data) throws SAXException
{
          }
  
          public void startPrefixMapping(String prefix, String uri) throws SAXException {
          }
  
          public void endElement(String namespaceURI, String localName, String qName) throws
SAXException {
          }
  
          public void startElement(String namespaceURI, String localName, String qName, Attributes
atts) throws SAXException {
          }
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message