Author: doll
Date: Tue May 13 09:09:50 2008
New Revision: 655934

URL: http://svn.apache.org/viewvc?rev=655934&view=rev
Log:
SHINDIG-262
Modified patch from Ralph Jocham. Adds a java unit test for the BidiSubstituter 
class. 


Added:
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BidiSubstituterTest.java
Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BidiSubstituter.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BidiSubstituter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BidiSubstituter.java?rev=655934&r1=655933&r2=655934&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BidiSubstituter.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BidiSubstituter.java
 Tue May 13 09:09:50 2008
@@ -22,16 +22,25 @@
  * Useful for generating internationalized layouts using CSS.
  */
 public class BidiSubstituter {
+  public static final String START_EDGE = "START_EDGE";
+  public static final String END_EDGE = "END_EDGE";
+  public static final String DIR = "DIR";
+  public static final String REVERSE_DIR = "REVERSE_DIR";
+
+  public static final String RIGHT = "right";
+  public static final String LEFT = "left";
+  public static final String RTL = "rtl";
+  public static final String LTR = "ltr";
 
   public static void addSubstitutions(Substitutions substituter, String dir) {
-    boolean rtl = "rtl".equals(dir);
-    substituter.addSubstitution(Substitutions.Type.BIDI, "START_EDGE",
-                          rtl ? "right" : "left");
-    substituter.addSubstitution(Substitutions.Type.BIDI, "END_EDGE",
-                          rtl ? "left" : "right");
-    substituter.addSubstitution(Substitutions.Type.BIDI, "DIR",
-                          rtl ? "rtl" : "ltr");
-    substituter.addSubstitution(Substitutions.Type.BIDI, "REVERSE_DIR",
-                          rtl ? "ltr" : "rtl");
+    boolean rtl = RTL.equals(dir);
+    substituter.addSubstitution(Substitutions.Type.BIDI, START_EDGE,
+        rtl ? RIGHT : LEFT);
+    substituter.addSubstitution(Substitutions.Type.BIDI, END_EDGE,
+        rtl ? LEFT : RIGHT);
+    substituter.addSubstitution(Substitutions.Type.BIDI, DIR,
+        rtl ? RTL : LTR);
+    substituter.addSubstitution(Substitutions.Type.BIDI, REVERSE_DIR,
+        rtl ? LTR : RTL);
   }
 }

Added: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BidiSubstituterTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BidiSubstituterTest.java?rev=655934&view=auto
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BidiSubstituterTest.java
 (added)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/BidiSubstituterTest.java
 Tue May 13 09:09:50 2008
@@ -0,0 +1,64 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.shindig.gadgets;
+
+import junit.framework.TestCase;
+
+public class BidiSubstituterTest extends TestCase {
+
+  public void testBidiWithRtl() {
+    assertRightToLeft(BidiSubstituter.RTL);
+  }
+
+  public void testBidiWithLtr() {
+    assertLeftToRight(BidiSubstituter.LTR);
+  }
+
+  public void testBidiWithEmpty() {
+    assertLeftToRight("");
+  }
+
+  public void testBidiWithNull() {
+    assertLeftToRight(null);
+  }
+
+  private void assertRightToLeft(String direction) {
+    assertSubstitutions(direction, BidiSubstituter.RIGHT,
+        BidiSubstituter.LEFT, BidiSubstituter.RTL, BidiSubstituter.LTR);
+  }
+
+  private void assertLeftToRight(String direction) {
+    assertSubstitutions(direction, BidiSubstituter.LEFT,
+        BidiSubstituter.RIGHT, BidiSubstituter.LTR, BidiSubstituter.RTL);
+  }
+
+  private void assertSubstitutions(String direction,
+      String startEdge, String endEdge, String dir, String reverseDir) {
+    Substitutions substitutions = new Substitutions();
+    BidiSubstituter.addSubstitutions(substitutions, direction);
+
+    assertEquals(startEdge, substitutions.getSubstitution(
+        Substitutions.Type.BIDI, BidiSubstituter.START_EDGE));
+    assertEquals(endEdge, substitutions.getSubstitution(
+        Substitutions.Type.BIDI, BidiSubstituter.END_EDGE));
+    assertEquals(dir, substitutions.getSubstitution(
+        Substitutions.Type.BIDI, BidiSubstituter.DIR));
+    assertEquals(reverseDir, substitutions.getSubstitution(
+        Substitutions.Type.BIDI, BidiSubstituter.REVERSE_DIR));
+  }
+}


Reply via email to