Home | History | Annotate | Download | only in unittest
      1 package org.unicode.cldr.unittest;
      2 
      3 import java.util.ArrayList;
      4 import java.util.List;
      5 
      6 import org.unicode.cldr.test.CheckCLDR.CheckStatus;
      7 import org.unicode.cldr.test.CheckCLDR.Options;
      8 import org.unicode.cldr.test.CheckDisplayCollisions;
      9 import org.unicode.cldr.util.CLDRConfig;
     10 import org.unicode.cldr.util.CLDRFile;
     11 import org.unicode.cldr.util.SimpleXMLSource;
     12 import org.unicode.cldr.util.XMLSource;
     13 
     14 public class TestCheckDisplayCollisions extends TestFmwkPlus {
     15     public static void main(String[] args) {
     16         new TestCheckDisplayCollisions().run(args);
     17     }
     18 
     19     public void testInheritance() {
     20         XMLSource rootSource = new SimpleXMLSource("root");
     21         CLDRFile root = new CLDRFile(rootSource);
     22 
     23         XMLSource enSource = new SimpleXMLSource("en");
     24         CLDRFile en = new CLDRFile(enSource);
     25 
     26         XMLSource frSource = new SimpleXMLSource("fr");
     27         frSource.putValueAtPath("//ldml/annotations/annotation[@cp=\"\"][@type=\"tts\"]", "scorpion");
     28         frSource.putValueAtPath("//ldml/annotations/annotation[@cp=\"\"][@type=\"tts\"]", "scorpion zodiac");
     29         CLDRFile fr = new CLDRFile(frSource);
     30 
     31         XMLSource frCaSource = new SimpleXMLSource("fr_CA");
     32         frSource.putValueAtPath("//ldml/annotations/annotation[@cp=\"\"][@type=\"tts\"]", "scorpion");
     33         CLDRFile frCA = new CLDRFile(frCaSource);
     34 
     35         TestFactory factory = new TestFactory();
     36         factory.addFile(root);
     37         factory.addFile(en);
     38         factory.addFile(fr);
     39         factory.addFile(frCA);
     40 
     41         CheckDisplayCollisions cdc = new CheckDisplayCollisions(factory);
     42         CLDRFile frCaResolved = factory.make("fr_CA", true);
     43         cdc.setEnglishFile(CLDRConfig.getInstance().getEnglish());
     44         checkFile(cdc, frCA, frCaResolved);
     45     }
     46 
     47     private void checkFile(CheckDisplayCollisions cdc, CLDRFile frCa, CLDRFile frCaResolved) {
     48         List<CheckStatus> possibleErrors = new ArrayList<>();
     49         Options options = new Options();
     50         cdc.setCldrFileToCheck(frCa, options, possibleErrors);
     51         if (!possibleErrors.isEmpty()) {
     52             System.out.println("init: " + possibleErrors);
     53             possibleErrors.clear();
     54         }
     55         for (String path : frCaResolved) {
     56             String value = frCaResolved.getStringValue(path);
     57             cdc.check(path, path, value, options, possibleErrors);
     58             if (!possibleErrors.isEmpty()) {
     59                 System.out.println(path + "\t" + possibleErrors);
     60                 possibleErrors.clear();
     61             }
     62         }
     63     }
     64 }
     65