You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by rd...@apache.org on 2004/04/04 11:23:11 UTC
cvs commit: jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/strategy TestMixedContentEncoding.java
rdonkin 2004/04/04 01:23:10
Modified: betwixt/src/java/org/apache/commons/betwixt/strategy
MixedContentEncodingStrategy.java
betwixt/src/test/org/apache/commons/betwixt/strategy
TestMixedContentEncoding.java
Log:
Added factory constants for two new additional content encoding strategies.
Revision Changes Path
1.2 +31 -3 jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/strategy/MixedContentEncodingStrategy.java
Index: MixedContentEncodingStrategy.java
===================================================================
RCS file: /home/cvs/jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/strategy/MixedContentEncodingStrategy.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MixedContentEncodingStrategy.java 24 Mar 2004 22:51:21 -0000 1.1
+++ MixedContentEncodingStrategy.java 4 Apr 2004 09:23:10 -0000 1.2
@@ -37,8 +37,7 @@
public abstract class MixedContentEncodingStrategy {
/**
- * The default implementation used by Betwixt.
- * This always encodes by escaping character data.
+ * The standard implementation used by Betwixt by default.
* This is a singleton.
*/
public static final MixedContentEncodingStrategy DEFAULT
@@ -50,6 +49,35 @@
return false;
}
};
+
+ /**
+ * Encodes element content within a <code>CDATA</code> section.
+ * This is a singleton.
+ */
+ public static final MixedContentEncodingStrategy CDATA
+ = new BaseMixedContentEncodingStrategy() {
+ /**
+ * Always encode by escaping character data.
+ */
+ protected boolean encodeAsCDATA(ElementDescriptor element) {
+ return true;
+ }
+ };
+
+ /**
+ * Encodes by escaping character data.
+ * This is a singleton.
+ */
+ public static final MixedContentEncodingStrategy ESCAPED_CHARACTERS
+ = new BaseMixedContentEncodingStrategy() {
+ /**
+ * Always encode by escaping character data.
+ */
+ protected boolean encodeAsCDATA(ElementDescriptor element) {
+ return false;
+ }
+ };
+
/**
* Encodes the body content into a form suitable for output as
1.2 +17 -1 jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/strategy/TestMixedContentEncoding.java
Index: TestMixedContentEncoding.java
===================================================================
RCS file: /home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/strategy/TestMixedContentEncoding.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestMixedContentEncoding.java 24 Mar 2004 22:52:59 -0000 1.1
+++ TestMixedContentEncoding.java 4 Apr 2004 09:23:10 -0000 1.2
@@ -88,6 +88,22 @@
MixedContentEncodingStrategy.DEFAULT.encode("<proclaim>The King Is Dead, Long Live The King</proclaim>", descriptor));
}
+ public void testEscapedCharactersImplementation() {
+ ElementDescriptor descriptor = new ElementDescriptor();
+ assertEquals(
+ "Default implementation uses character escaping",
+ "<proclaim>The King Is Dead, Long Live The King</proclaim>",
+ MixedContentEncodingStrategy.ESCAPED_CHARACTERS.encode("<proclaim>The King Is Dead, Long Live The King</proclaim>", descriptor));
+ }
+
+ public void testCDATAImplementation() {
+ ElementDescriptor descriptor = new ElementDescriptor();
+ assertEquals(
+ "Default implementation uses character escaping",
+ "<![CDATA[<proclaim>The King Is Dead, Long Live The King</proclaim>]]>",
+ MixedContentEncodingStrategy.CDATA.encode("<proclaim>The King Is Dead, Long Live The King</proclaim>", descriptor));
+ }
+
public void testdefaultOutput() throws Exception {
Element element = new Element();
element.setValue("<greeting>What Ho Jeeves!</greeting>");
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org