]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/parser/WikiTokenizerTest.java
Fixed comment for German dictionary.
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / WikiTokenizerTest.java
index 9142bd87312508aec7b40dbac36d23533530fa34..b4999d854601a9c822c0051afb389637d8975273 100644 (file)
@@ -21,7 +21,7 @@ import java.util.List;
 import junit.framework.TestCase;
 
 public class WikiTokenizerTest extends TestCase {
-
+    
   public void testWikiLink() {
     String wikiText;
     
@@ -55,11 +55,33 @@ public class WikiTokenizerTest extends TestCase {
 
     wikiText = "* This is ''bold''' asdf.";
     assertEquals(wikiText, new WikiTokenizer(wikiText).nextToken().token());
+
+    wikiText = "* {{a|US}} {{IPA|[ˈfɔɹ.wɝd]]}}\nasdf\n";
+    assertEquals("* {{a|US}} {{IPA|[ˈfɔɹ.wɝd]]}}", new WikiTokenizer(wikiText).nextToken().token());
+    assertTrue(new WikiTokenizer(wikiText).nextToken().isListItem());
+    assertEquals("\n", new WikiTokenizer(wikiText).nextToken().nextToken().token());
+
+    
+    wikiText = "* [[asdf|\u2028" +
+               "asdf]]";
+    assertEquals("* [[asdf|\n" +
+        "asdf]]", new WikiTokenizer(wikiText).nextToken().token());
+    assertTrue(new WikiTokenizer(wikiText).nextToken().isListItem());
+
   }
   
   public void testFunction() {
     String wikiText;
-    
+
+    {
+    WikiTokenizer wt = new WikiTokenizer("'''Προστατευόμενη Ονομασία Προέλευσης''', \"Protected Designation of Origin\" {{");
+        while (wt.nextToken() != null) {
+            if (wt.isFunction()) {
+                assertEquals("", wt.functionName());
+            }
+        }
+    }
+
     wikiText = "{{abc}}";
     assertEquals(wikiText, new WikiTokenizer(wikiText).nextToken().token());
     assertTrue(new WikiTokenizer(wikiText).nextToken().isFunction());
@@ -289,4 +311,31 @@ public class WikiTokenizerTest extends TestCase {
     assertEquals(Arrays.asList(expectedTokens), actualTokens);
   }
   
+  public void testHtml() {
+      String wikiText;
+
+      {
+      wikiText = " zz <pre> asdf </pre> ZZ <math> 1234 </math> XX ";
+      final WikiTokenizer tokenizer = new WikiTokenizer(wikiText);
+      assertEquals(" zz ", tokenizer.nextToken().token());
+      assertEquals("<pre> asdf </pre>", tokenizer.nextToken().token());
+      assertEquals(" ZZ ", tokenizer.nextToken().token());
+      assertEquals("<math> 1234 </math>", tokenizer.nextToken().token());
+      assertEquals(" XX ", tokenizer.nextToken().token());
+      }
+      {
+      wikiText = "\n<math> 1234 </math>";
+      final WikiTokenizer tokenizer = new WikiTokenizer(wikiText);
+      assertEquals("<math> 1234 </math>", tokenizer.nextToken().nextToken().token());
+      }
+
+      {
+      wikiText = "# z'' is the '''free''' variable in \"<math>\\forall x\\exists y:xy=z</math>\".''";
+      final WikiTokenizer tokenizer = new WikiTokenizer(wikiText);
+      assertEquals(wikiText, tokenizer.nextToken().token());
+      }
+
+      
+  }
+  
 }