18a2b9083e364ffd46f56362d46af2aeb4718d325Scott Tsai#include <cstdio> 254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#include "XLIFFFile.h" 354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#include "ValuesFile.h" 454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project#include "localize.h" 5bdb087c9305d6d753444e1c0176a793c00f07840Jack Palevich#include <stdio.h> 654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectint pseudolocalize_xliff(XLIFFFile* xliff, bool expand); 854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstatic int 1054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projecttest_filename(const string& file, const string& locale, const string& expected) 1154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 1254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project string result = translated_file_name(file, locale); 1354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (result != expected) { 1454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, "translated_file_name test failed\n"); 1554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, " locale='%s'\n", locale.c_str()); 1654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, " expected='%s'\n", expected.c_str()); 1754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, " result='%s'\n", result.c_str()); 1854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 1; 1954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } else { 2054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 2154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, "translated_file_name test passed\n"); 2254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, " locale='%s'\n", locale.c_str()); 2354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, " expected='%s'\n", expected.c_str()); 2454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, " result='%s'\n", result.c_str()); 2554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 2654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 0; 2754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 2854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 2954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 3054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstatic int 3154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projecttranslated_file_name_test() 3254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 3354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project bool all = true; 3454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int err = 0; 3554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 3654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= test_filename("//device/samples/NotePad/res/values/strings.xml", "zz_ZZ", 3754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project "//device/samples/NotePad/res/values-zz-rZZ/strings.xml"); 3854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 3954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= test_filename("//device/samples/NotePad/res/values/strings.xml", "zz", 4054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project "//device/samples/NotePad/res/values-zz/strings.xml"); 4154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 4254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= test_filename("//device/samples/NotePad/res/values/strings.xml", "", 4354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project "//device/samples/NotePad/res/values/strings.xml"); 4454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 4554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return err; 4654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 4754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 4854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectbool 4954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectreturn_false(const string&, const TransUnit& unit, void* cookie) 5054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 5154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return false; 5254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 5354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 5454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstatic int 5554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectdelete_trans_units() 5654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 5754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project XLIFFFile* xliff = XLIFFFile::Parse("testdata/strip_xliff.xliff"); 5854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (xliff == NULL) { 5954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("couldn't read file\n"); 6054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 1; 6154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 6254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 6354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("XLIFF was [[%s]]\n", xliff->ToString().c_str()); 6454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 6554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 6654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project xliff->Filter(return_false, NULL); 6754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 6854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 6954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("XLIFF is [[%s]]\n", xliff->ToString().c_str()); 7054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 7154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project set<StringResource> const& strings = xliff->GetStringResources(); 7254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("strings.size=%zd\n", strings.size()); 7354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project for (set<StringResource>::iterator it=strings.begin(); it!=strings.end(); it++) { 7454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project const StringResource& str = *it; 7554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("STRING!!! id=%s value='%s' pos=%s file=%s version=%d(%s)\n", str.id.c_str(), 7654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project str.value->ContentsToString(ANDROID_NAMESPACES).c_str(), 7754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project str.pos.ToString().c_str(), str.file.c_str(), str.version, 7854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project str.versionString.c_str()); 7954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 8054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 8154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 8254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 0; 8354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 8454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 8554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstatic int 8654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectfilter_trans_units() 8754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 8854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project XLIFFFile* xliff = XLIFFFile::Parse("testdata/strip_xliff.xliff"); 8954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (xliff == NULL) { 9054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("couldn't read file\n"); 9154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 1; 9254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 9354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 9454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 9554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("XLIFF was [[%s]]\n", xliff->ToString().c_str()); 9654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 9754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 9854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project Settings setting; 9954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project xliff->Filter(keep_this_trans_unit, &setting); 10054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 10154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 10254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("XLIFF is [[%s]]\n", xliff->ToString().c_str()); 10354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 10454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project set<StringResource> const& strings = xliff->GetStringResources(); 10554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("strings.size=%zd\n", strings.size()); 10654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project for (set<StringResource>::iterator it=strings.begin(); it!=strings.end(); it++) { 10754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project const StringResource& str = *it; 10854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("STRING!!! id=%s value='%s' pos=%s file=%s version=%d(%s)\n", str.id.c_str(), 10954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project str.value->ContentsToString(ANDROID_NAMESPACES).c_str(), 11054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project str.pos.ToString().c_str(), str.file.c_str(), str.version, 11154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project str.versionString.c_str()); 11254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 11354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 11454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 11554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 0; 11654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 11754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 11854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstatic int 11954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectsettings_test() 12054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 12154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int err; 12254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project map<string,Settings> settings; 12354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project map<string,Settings>::iterator it; 12454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 12554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project err = read_settings("testdata/config.xml", &settings, "//asdf"); 12654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (err != 0) { 12754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return err; 12854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 12954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 13054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 13154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project for (it=settings.begin(); it!=settings.end(); it++) { 13254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project const Settings& setting = it->second; 13354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("CONFIG:\n"); 13454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf(" id='%s'\n", setting.id.c_str()); 13554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf(" oldVersion='%s'\n", setting.oldVersion.c_str()); 13654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf(" currentVersion='%s'\n", setting.currentVersion.c_str()); 13754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int i=0; 13854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project for (vector<string>::const_iterator app=setting.apps.begin(); 13954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project app!=setting.apps.end(); app++) { 14054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf(" apps[%02d]='%s'\n", i, app->c_str()); 14154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project i++; 14254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 14354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project i=0; 14454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project for (vector<Reject>::const_iterator reject=setting.reject.begin(); 14554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project reject!=setting.reject.end(); reject++) { 14654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project i++; 14754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf(" reject[%02d]=('%s','%s','%s')\n", i, reject->file.c_str(), 14854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project reject->name.c_str(), reject->comment.c_str()); 14954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 15054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 15154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 15254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 15354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project for (it=settings.begin(); it!=settings.end(); it++) { 15454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project const Settings& setting = it->second; 15554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (it->first != setting.id) { 15654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, "it->first='%s' setting.id='%s'\n", it->first.c_str(), 15754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project setting.id.c_str()); 15854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project err |= 1; 15954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 16054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 16154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 16254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 16354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return err; 16454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 16554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 16654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstatic int 16754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projecttest_one_pseudo(bool big, const char* expected) 16854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 16954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project XLIFFFile* xliff = XLIFFFile::Parse("testdata/pseudo.xliff"); 17054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (xliff == NULL) { 17154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("couldn't read file\n"); 17254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 1; 17354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 17454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 17554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("XLIFF was [[%s]]\n", xliff->ToString().c_str()); 17654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 17754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 17854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project pseudolocalize_xliff(xliff, big); 17954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project string newString = xliff->ToString(); 18054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project delete xliff; 18154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 18254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false) { 18354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project printf("XLIFF is [[%s]]\n", newString.c_str()); 18454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 18554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 18654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (false && newString != expected) { 18754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, "xliff didn't translate as expected\n"); 18854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, "newString=[[%s]]\n", newString.c_str()); 18954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project fprintf(stderr, "expected=[[%s]]\n", expected); 19054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 1; 19154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project } 19254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 19354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return 0; 19454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 19554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 19654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectstatic int 19754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectpseudolocalize_test() 19854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 19954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int err = 0; 20054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 20154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project err |= test_one_pseudo(false, ""); 20254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project //err |= test_one_pseudo(true, ""); 20354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 20454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return err; 20554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 20654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 20754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectint 20854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Projectlocalize_test() 20954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project{ 21054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project bool all = true; 21154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project int err = 0; 21254b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 21354b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= translated_file_name_test(); 21454b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= delete_trans_units(); 21554b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= filter_trans_units(); 21654b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= settings_test(); 21754b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project if (all) err |= pseudolocalize_test(); 21854b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 21954b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project return err; 22054b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project} 22154b6cfa9a9e5b861a9930af873580d6dc20f773The Android Open Source Project 222