Revision: 16
Author:
j...@jaet.org
Date: Thu Aug 7 14:33:26 2014 UTC
Log: Fix tests from r14/r15
Also added check to run the strong-first algorithm on the result, but even
without the RLM marks
added it correctly detected RTL, so something more is required.
http://code.google.com/p/pseudolocalization-tool/source/detail?r=16
Modified:
/trunk/java/com/google/i18n/pseudolocalization/methods/FakeBidi.java
/trunk/javatests/com/google/i18n/pseudolocalization/PipelineTest.java
/trunk/javatests/com/google/i18n/pseudolocalization/methods/FakeBidiTest.java
=======================================
--- /trunk/java/com/google/i18n/pseudolocalization/methods/FakeBidi.java
Thu Aug 7 08:59:21 2014 UTC
+++ /trunk/java/com/google/i18n/pseudolocalization/methods/FakeBidi.java
Thu Aug 7 14:33:26 2014 UTC
@@ -71,7 +71,7 @@
output.appendCodePoint(codePoint);
}
if (wrapping) {
- output.append(PDF);
+ output.append(PDF).append(RLM);
}
ctx.replaceFragment(textFragment,
Arrays.<MessageFragment>asList(ctx.createTextFragment(
output.toString())));
=======================================
--- /trunk/javatests/com/google/i18n/pseudolocalization/PipelineTest.java
Mon Apr 25 21:33:15 2011 UTC
+++ /trunk/javatests/com/google/i18n/pseudolocalization/PipelineTest.java
Thu Aug 7 14:33:26 2014 UTC
@@ -104,6 +104,6 @@
PseudolocalizationPipeline pipeline =
PseudolocalizationPipeline.getVariantPipeline(true,
"psbidi");
String msg = runUnparsedHtml(pipeline);
- assertEquals("\u202eHello\u202c <br> \u202ethere\u202c", msg);
+ assertEquals("\u200f\u202eHello\u202c\u200f <br>
\u200f\u202ethere\u202c\u200f", msg);
}
}
=======================================
---
/trunk/javatests/com/google/i18n/pseudolocalization/methods/FakeBidiTest.java
Thu Aug 7 09:09:28 2014 UTC
+++
/trunk/javatests/com/google/i18n/pseudolocalization/methods/FakeBidiTest.java
Thu Aug 7 14:33:26 2014 UTC
@@ -15,6 +15,10 @@
*/
package com.google.i18n.pseudolocalization.methods;
+import java.text.Bidi;
+import java.util.ArrayList;
+import java.util.List;
+
import com.google.i18n.pseudolocalization.PseudolocalizationException;
import com.google.i18n.pseudolocalization.PseudolocalizationPipeline;
import com.google.i18n.pseudolocalization.PseudolocalizationTestCase;
@@ -22,9 +26,6 @@
import
com.google.i18n.pseudolocalization.message.SimpleNonlocalizableTextFragment;
import com.google.i18n.pseudolocalization.message.SimpleTextFragment;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* Tests for {@link FakeBidi}.
*/
@@ -44,6 +45,9 @@
private void runTest(String input, String expected) throws
PseudolocalizationException {
String result = runPipeline(pipeline, input);
assertEquals(expected, result);
+ Bidi bidi = new Bidi(result, Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT);
+ assertEquals("Non-empty string not detected as RTL via first-strong: "
+ bidi.toString(),
+ input.isEmpty(), bidi.isLeftToRight());
}
private void runHtmlTest(String input, String expected) throws
PseudolocalizationException {
@@ -51,6 +55,7 @@
new SimpleTextFragment(input),
new SimpleNonlocalizableTextFragment(HTML_END));
assertEquals(HTML_START + expected + HTML_END, result);
+ // TODO(jat): figure out a way to detect how a browser would apply
first-strong
}
public void testText() throws Exception {