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));
+ }
+}