Author: scottbw
Date: Tue Apr  5 13:03:00 2011
New Revision: 1089014

URL: http://svn.apache.org/viewvc?rev=1089014&view=rev
Log:
Corrected the handling of default text direction of i18n text to reflect both 
W3C P&C and TWI specifications. Rather than always return "LTR" as a default we 
allow NULL and then follow the algorithm for not using unicode escape 
characters for NULL direction. This gets us much closer to TWI conformance. 
Also updated our unit tests to reflect this behaviour change.

Modified:
    
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/DirectionalityUtilsTest.java
    
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/FormattingUtilsTest.java
    
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/AbstractLocalizedEntity.java
    
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java

Modified: 
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/DirectionalityUtilsTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/DirectionalityUtilsTest.java?rev=1089014&r1=1089013&r2=1089014&view=diff
==============================================================================
--- 
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/DirectionalityUtilsTest.java
 (original)
+++ 
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/DirectionalityUtilsTest.java
 Tue Apr  5 13:03:00 2011
@@ -30,7 +30,7 @@ public class DirectionalityUtilsTest {
                Element widget = new Element("widget");
                @SuppressWarnings("unused")
                Document document = new Document(widget);
-               assertEquals(AbstractLocalizedEntity.getTextDirection(widget), 
AbstractLocalizedEntity.LEFT_TO_RIGHT);
+               
assertEquals(AbstractLocalizedEntity.getTextDirection(widget),null);
        }
        
        @Test
@@ -57,6 +57,7 @@ public class DirectionalityUtilsTest {
        @Test
        public void getDirectionalityChildElementDefault(){
                Element widget = new Element("widget");
+               widget.setAttribute("dir", "ltr");
                Element name = new Element("name");
                @SuppressWarnings("unused")
                Document document = new Document(widget);
@@ -87,6 +88,7 @@ public class DirectionalityUtilsTest {
        @Test
        public void getDirectionalityChildElementOverridesWrongCase(){
                Element widget = new Element("widget");
+               widget.setAttribute("dir", "ltr");              
                Element name = new Element("name");
                name.setAttribute("dir", "rTl");
                widget.addContent(name);

Modified: 
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/FormattingUtilsTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/FormattingUtilsTest.java?rev=1089014&r1=1089013&r2=1089014&view=diff
==============================================================================
--- 
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/FormattingUtilsTest.java
 (original)
+++ 
incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/FormattingUtilsTest.java
 Tue Apr  5 13:03:00 2011
@@ -32,8 +32,7 @@ public class FormattingUtilsTest {
        @Test
        public void name(){
                String name = "םפל<span dir=\"lro\">חל</span>ק";
-               String expected = 
"\u202A\u05DD\u05E4\u05DC\u202D\u05D7\u05DC\u202C\u05E7\u202C";
-               String expected2 = 
"\u05DD\u05E4\u05DC\u202D\u05D7\u05DC\u202C\u05E7";
+               String expected = 
"\u05DD\u05E4\u05DC\u202D\u05D7\u05DC\u202C\u05E7";
                String dir = null;
                assertEquals(expected.length(), 
FormattingUtils.getEncoded(dir,name).length());
                assertEquals(expected, FormattingUtils.getEncoded(dir,name));
@@ -69,7 +68,7 @@ public class FormattingUtilsTest {
 
        @Test
        public void ltr(){
-               assertEquals("Hello World", FormattingUtils.getEncoded("ltr", 
"Hello World"));
+               assertEquals("\u202aHello World\u202c", 
FormattingUtils.getEncoded("ltr", "Hello World"));
        }
        
        @Test
@@ -89,7 +88,7 @@ public class FormattingUtilsTest {
        
        @Test
        public void embeddedOnly(){
-               assertEquals("\u202aGoodbye \u202bleurc\u202c World\u202c", 
FormattingUtils.getEncoded(null, "Goodbye <span dir=\"rtl\">leurc</span> 
World"));
+               assertEquals("Goodbye \u202bleurc\u202c World", 
FormattingUtils.getEncoded(null, "Goodbye <span dir=\"rtl\">leurc</span> 
World"));
        }
        
        @Test

Modified: 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/AbstractLocalizedEntity.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/AbstractLocalizedEntity.java?rev=1089014&r1=1089013&r2=1089014&view=diff
==============================================================================
--- 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/AbstractLocalizedEntity.java
 (original)
+++ 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/impl/AbstractLocalizedEntity.java
 Tue Apr  5 13:03:00 2011
@@ -124,7 +124,7 @@ public abstract class AbstractLocalizedE
                try {
                        Attribute dir = 
element.getAttribute(IW3CXMLConfiguration.DIR_ATRRIBUTE);
                        if (dir == null){
-                               if (element.isRootElement()) return 
LEFT_TO_RIGHT;
+                               if (element.isRootElement()) return null;
                                return 
getTextDirection(element.getParentElement());
                        } else {
                                String dirValue = 
UnicodeUtils.normalizeSpaces(dir.getValue());

Modified: 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java?rev=1089014&r1=1089013&r2=1089014&view=diff
==============================================================================
--- 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java
 (original)
+++ 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/util/FormattingUtils.java
 Tue Apr  5 13:03:00 2011
@@ -132,10 +132,10 @@ public class FormattingUtils {
                // Encode any embedded SPAN tags into unicode control characters
                String checkSpans = encodeSpan(value);
                // If no changes, and no dir property, return original string 
unmodified
-               if (checkSpans.equals(value) && (dir == null  || 
dir.equals("ltr"))) return value;
+               if (checkSpans.equals(value) && (dir == null)) return value;
                value = checkSpans;
                // Prepend direction control character
-               if (dir == null) dir = "ltr";
+               if (dir == null) return value;
                if (dir.equals("ltr")) dir = LTR;
                if (dir.equals("lro")) dir = LRO;
                if (dir.equals("rlo")) dir = RLO;


Reply via email to