1 ///////////////////////////////////////////////////////////////////////
2 // File:        loadlang_test.cc
3 // Description: Test loading of All languages and Scripts for Tesseract.
4 // Tests for All languages and scripts are Disabled by default.
5 // Force the disabled test to run if required by using the
6 // --gtest_also_run_disabled_tests argument. Author:      Shree Devi Kumar
7 //
8 // Licensed under the Apache License, Version 2.0 (the "License");
9 // you may not use this file except in compliance with the License.
10 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
17 ///////////////////////////////////////////////////////////////////////
18 
19 #include <tesseract/baseapi.h>
20 #include <time.h>
21 #include <memory> // std::unique_ptr
22 #include "include_gunit.h"
23 
24 namespace tesseract {
25 
26 class QuickTest : public testing::Test {
27 protected:
SetUp()28   void SetUp() override {
29     start_time_ = time(nullptr);
30   }
TearDown()31   void TearDown() override {
32     const time_t end_time = time(nullptr);
33     EXPECT_TRUE(end_time - start_time_ <= 25)
34         << "The test took too long - " << ::testing::PrintToString(end_time - start_time_);
35   }
36   time_t start_time_;
37 };
38 
LangLoader(const char * lang,const char * tessdatadir)39 void LangLoader(const char *lang, const char *tessdatadir) {
40   auto api = std::make_unique<tesseract::TessBaseAPI>();
41   ASSERT_FALSE(api->Init(tessdatadir, lang)) << "Could not initialize tesseract for $lang.";
42   api->End();
43 }
44 
45 // For all languages
46 
47 class LoadLanguage : public QuickTest, public ::testing::WithParamInterface<const char *> {};
48 
TEST_P(LoadLanguage,afr)49 TEST_P(LoadLanguage, afr) {
50   LangLoader("afr", GetParam());
51 }
TEST_P(LoadLanguage,amh)52 TEST_P(LoadLanguage, amh) {
53   LangLoader("amh", GetParam());
54 }
TEST_P(LoadLanguage,ara)55 TEST_P(LoadLanguage, ara) {
56   LangLoader("ara", GetParam());
57 }
TEST_P(LoadLanguage,asm)58 TEST_P(LoadLanguage, asm) {
59   LangLoader("asm", GetParam());
60 }
TEST_P(LoadLanguage,aze)61 TEST_P(LoadLanguage, aze) {
62   LangLoader("aze", GetParam());
63 }
TEST_P(LoadLanguage,aze_cyrl)64 TEST_P(LoadLanguage, aze_cyrl) {
65   LangLoader("aze_cyrl", GetParam());
66 }
TEST_P(LoadLanguage,bel)67 TEST_P(LoadLanguage, bel) {
68   LangLoader("bel", GetParam());
69 }
TEST_P(LoadLanguage,ben)70 TEST_P(LoadLanguage, ben) {
71   LangLoader("ben", GetParam());
72 }
TEST_P(LoadLanguage,bod)73 TEST_P(LoadLanguage, bod) {
74   LangLoader("bod", GetParam());
75 }
TEST_P(LoadLanguage,bos)76 TEST_P(LoadLanguage, bos) {
77   LangLoader("bos", GetParam());
78 }
TEST_P(LoadLanguage,bre)79 TEST_P(LoadLanguage, bre) {
80   LangLoader("bre", GetParam());
81 }
TEST_P(LoadLanguage,bul)82 TEST_P(LoadLanguage, bul) {
83   LangLoader("bul", GetParam());
84 }
TEST_P(LoadLanguage,cat)85 TEST_P(LoadLanguage, cat) {
86   LangLoader("cat", GetParam());
87 }
TEST_P(LoadLanguage,ceb)88 TEST_P(LoadLanguage, ceb) {
89   LangLoader("ceb", GetParam());
90 }
TEST_P(LoadLanguage,ces)91 TEST_P(LoadLanguage, ces) {
92   LangLoader("ces", GetParam());
93 }
TEST_P(LoadLanguage,chi_sim)94 TEST_P(LoadLanguage, chi_sim) {
95   LangLoader("chi_sim", GetParam());
96 }
TEST_P(LoadLanguage,chi_sim_vert)97 TEST_P(LoadLanguage, chi_sim_vert) {
98   LangLoader("chi_sim_vert", GetParam());
99 }
TEST_P(LoadLanguage,chi_tra)100 TEST_P(LoadLanguage, chi_tra) {
101   LangLoader("chi_tra", GetParam());
102 }
TEST_P(LoadLanguage,chi_tra_vert)103 TEST_P(LoadLanguage, chi_tra_vert) {
104   LangLoader("chi_tra_vert", GetParam());
105 }
TEST_P(LoadLanguage,chr)106 TEST_P(LoadLanguage, chr) {
107   LangLoader("chr", GetParam());
108 }
TEST_P(LoadLanguage,cos)109 TEST_P(LoadLanguage, cos) {
110   LangLoader("cos", GetParam());
111 }
TEST_P(LoadLanguage,cym)112 TEST_P(LoadLanguage, cym) {
113   LangLoader("cym", GetParam());
114 }
TEST_P(LoadLanguage,dan)115 TEST_P(LoadLanguage, dan) {
116   LangLoader("dan", GetParam());
117 }
TEST_P(LoadLanguage,deu)118 TEST_P(LoadLanguage, deu) {
119   LangLoader("deu", GetParam());
120 }
TEST_P(LoadLanguage,div)121 TEST_P(LoadLanguage, div) {
122   LangLoader("div", GetParam());
123 }
TEST_P(LoadLanguage,dzo)124 TEST_P(LoadLanguage, dzo) {
125   LangLoader("dzo", GetParam());
126 }
TEST_P(LoadLanguage,ell)127 TEST_P(LoadLanguage, ell) {
128   LangLoader("ell", GetParam());
129 }
TEST_P(LoadLanguage,eng)130 TEST_P(LoadLanguage, eng) {
131   LangLoader("eng", GetParam());
132 }
TEST_P(LoadLanguage,enm)133 TEST_P(LoadLanguage, enm) {
134   LangLoader("enm", GetParam());
135 }
TEST_P(LoadLanguage,epo)136 TEST_P(LoadLanguage, epo) {
137   LangLoader("epo", GetParam());
138 }
TEST_P(LoadLanguage,est)139 TEST_P(LoadLanguage, est) {
140   LangLoader("est", GetParam());
141 }
TEST_P(LoadLanguage,eus)142 TEST_P(LoadLanguage, eus) {
143   LangLoader("eus", GetParam());
144 }
TEST_P(LoadLanguage,fao)145 TEST_P(LoadLanguage, fao) {
146   LangLoader("fao", GetParam());
147 }
TEST_P(LoadLanguage,fas)148 TEST_P(LoadLanguage, fas) {
149   LangLoader("fas", GetParam());
150 }
TEST_P(LoadLanguage,fil)151 TEST_P(LoadLanguage, fil) {
152   LangLoader("fil", GetParam());
153 }
TEST_P(LoadLanguage,fin)154 TEST_P(LoadLanguage, fin) {
155   LangLoader("fin", GetParam());
156 }
TEST_P(LoadLanguage,fra)157 TEST_P(LoadLanguage, fra) {
158   LangLoader("fra", GetParam());
159 }
TEST_P(LoadLanguage,frk)160 TEST_P(LoadLanguage, frk) {
161   LangLoader("frk", GetParam());
162 }
TEST_P(LoadLanguage,frm)163 TEST_P(LoadLanguage, frm) {
164   LangLoader("frm", GetParam());
165 }
TEST_P(LoadLanguage,fry)166 TEST_P(LoadLanguage, fry) {
167   LangLoader("fry", GetParam());
168 }
TEST_P(LoadLanguage,gla)169 TEST_P(LoadLanguage, gla) {
170   LangLoader("gla", GetParam());
171 }
TEST_P(LoadLanguage,gle)172 TEST_P(LoadLanguage, gle) {
173   LangLoader("gle", GetParam());
174 }
TEST_P(LoadLanguage,glg)175 TEST_P(LoadLanguage, glg) {
176   LangLoader("glg", GetParam());
177 }
TEST_P(LoadLanguage,grc)178 TEST_P(LoadLanguage, grc) {
179   LangLoader("grc", GetParam());
180 }
TEST_P(LoadLanguage,guj)181 TEST_P(LoadLanguage, guj) {
182   LangLoader("guj", GetParam());
183 }
TEST_P(LoadLanguage,hat)184 TEST_P(LoadLanguage, hat) {
185   LangLoader("hat", GetParam());
186 }
TEST_P(LoadLanguage,heb)187 TEST_P(LoadLanguage, heb) {
188   LangLoader("heb", GetParam());
189 }
TEST_P(LoadLanguage,hin)190 TEST_P(LoadLanguage, hin) {
191   LangLoader("hin", GetParam());
192 }
TEST_P(LoadLanguage,hrv)193 TEST_P(LoadLanguage, hrv) {
194   LangLoader("hrv", GetParam());
195 }
TEST_P(LoadLanguage,hun)196 TEST_P(LoadLanguage, hun) {
197   LangLoader("hun", GetParam());
198 }
TEST_P(LoadLanguage,hye)199 TEST_P(LoadLanguage, hye) {
200   LangLoader("hye", GetParam());
201 }
TEST_P(LoadLanguage,iku)202 TEST_P(LoadLanguage, iku) {
203   LangLoader("iku", GetParam());
204 }
TEST_P(LoadLanguage,ind)205 TEST_P(LoadLanguage, ind) {
206   LangLoader("ind", GetParam());
207 }
TEST_P(LoadLanguage,isl)208 TEST_P(LoadLanguage, isl) {
209   LangLoader("isl", GetParam());
210 }
TEST_P(LoadLanguage,ita)211 TEST_P(LoadLanguage, ita) {
212   LangLoader("ita", GetParam());
213 }
TEST_P(LoadLanguage,ita_old)214 TEST_P(LoadLanguage, ita_old) {
215   LangLoader("ita_old", GetParam());
216 }
TEST_P(LoadLanguage,jav)217 TEST_P(LoadLanguage, jav) {
218   LangLoader("jav", GetParam());
219 }
TEST_P(LoadLanguage,jpn)220 TEST_P(LoadLanguage, jpn) {
221   LangLoader("jpn", GetParam());
222 }
TEST_P(LoadLanguage,jpn_vert)223 TEST_P(LoadLanguage, jpn_vert) {
224   LangLoader("jpn_vert", GetParam());
225 }
TEST_P(LoadLanguage,kan)226 TEST_P(LoadLanguage, kan) {
227   LangLoader("kan", GetParam());
228 }
TEST_P(LoadLanguage,kat)229 TEST_P(LoadLanguage, kat) {
230   LangLoader("kat", GetParam());
231 }
TEST_P(LoadLanguage,kat_old)232 TEST_P(LoadLanguage, kat_old) {
233   LangLoader("kat_old", GetParam());
234 }
TEST_P(LoadLanguage,kaz)235 TEST_P(LoadLanguage, kaz) {
236   LangLoader("kaz", GetParam());
237 }
TEST_P(LoadLanguage,khm)238 TEST_P(LoadLanguage, khm) {
239   LangLoader("khm", GetParam());
240 }
TEST_P(LoadLanguage,kir)241 TEST_P(LoadLanguage, kir) {
242   LangLoader("kir", GetParam());
243 }
244 //  TEST_P(LoadLanguage, kmr) {LangLoader("kmr" , GetParam());}
TEST_P(LoadLanguage,kor)245 TEST_P(LoadLanguage, kor) {
246   LangLoader("kor", GetParam());
247 }
TEST_P(LoadLanguage,kor_vert)248 TEST_P(LoadLanguage, kor_vert) {
249   LangLoader("kor_vert", GetParam());
250 }
TEST_P(LoadLanguage,lao)251 TEST_P(LoadLanguage, lao) {
252   LangLoader("lao", GetParam());
253 }
TEST_P(LoadLanguage,lat)254 TEST_P(LoadLanguage, lat) {
255   LangLoader("lat", GetParam());
256 }
TEST_P(LoadLanguage,lav)257 TEST_P(LoadLanguage, lav) {
258   LangLoader("lav", GetParam());
259 }
TEST_P(LoadLanguage,lit)260 TEST_P(LoadLanguage, lit) {
261   LangLoader("lit", GetParam());
262 }
TEST_P(LoadLanguage,ltz)263 TEST_P(LoadLanguage, ltz) {
264   LangLoader("ltz", GetParam());
265 }
TEST_P(LoadLanguage,mal)266 TEST_P(LoadLanguage, mal) {
267   LangLoader("mal", GetParam());
268 }
TEST_P(LoadLanguage,mar)269 TEST_P(LoadLanguage, mar) {
270   LangLoader("mar", GetParam());
271 }
TEST_P(LoadLanguage,mkd)272 TEST_P(LoadLanguage, mkd) {
273   LangLoader("mkd", GetParam());
274 }
TEST_P(LoadLanguage,mlt)275 TEST_P(LoadLanguage, mlt) {
276   LangLoader("mlt", GetParam());
277 }
TEST_P(LoadLanguage,mon)278 TEST_P(LoadLanguage, mon) {
279   LangLoader("mon", GetParam());
280 }
TEST_P(LoadLanguage,mri)281 TEST_P(LoadLanguage, mri) {
282   LangLoader("mri", GetParam());
283 }
TEST_P(LoadLanguage,msa)284 TEST_P(LoadLanguage, msa) {
285   LangLoader("msa", GetParam());
286 }
TEST_P(LoadLanguage,mya)287 TEST_P(LoadLanguage, mya) {
288   LangLoader("mya", GetParam());
289 }
TEST_P(LoadLanguage,nep)290 TEST_P(LoadLanguage, nep) {
291   LangLoader("nep", GetParam());
292 }
TEST_P(LoadLanguage,nld)293 TEST_P(LoadLanguage, nld) {
294   LangLoader("nld", GetParam());
295 }
TEST_P(LoadLanguage,nor)296 TEST_P(LoadLanguage, nor) {
297   LangLoader("nor", GetParam());
298 }
TEST_P(LoadLanguage,oci)299 TEST_P(LoadLanguage, oci) {
300   LangLoader("oci", GetParam());
301 }
TEST_P(LoadLanguage,ori)302 TEST_P(LoadLanguage, ori) {
303   LangLoader("ori", GetParam());
304 }
TEST_P(LoadLanguage,osd)305 TEST_P(LoadLanguage, osd) {
306   LangLoader("osd", GetParam());
307 }
TEST_P(LoadLanguage,pan)308 TEST_P(LoadLanguage, pan) {
309   LangLoader("pan", GetParam());
310 }
TEST_P(LoadLanguage,pol)311 TEST_P(LoadLanguage, pol) {
312   LangLoader("pol", GetParam());
313 }
TEST_P(LoadLanguage,por)314 TEST_P(LoadLanguage, por) {
315   LangLoader("por", GetParam());
316 }
TEST_P(LoadLanguage,pus)317 TEST_P(LoadLanguage, pus) {
318   LangLoader("pus", GetParam());
319 }
TEST_P(LoadLanguage,que)320 TEST_P(LoadLanguage, que) {
321   LangLoader("que", GetParam());
322 }
TEST_P(LoadLanguage,ron)323 TEST_P(LoadLanguage, ron) {
324   LangLoader("ron", GetParam());
325 }
TEST_P(LoadLanguage,rus)326 TEST_P(LoadLanguage, rus) {
327   LangLoader("rus", GetParam());
328 }
TEST_P(LoadLanguage,san)329 TEST_P(LoadLanguage, san) {
330   LangLoader("san", GetParam());
331 }
TEST_P(LoadLanguage,sin)332 TEST_P(LoadLanguage, sin) {
333   LangLoader("sin", GetParam());
334 }
TEST_P(LoadLanguage,slk)335 TEST_P(LoadLanguage, slk) {
336   LangLoader("slk", GetParam());
337 }
TEST_P(LoadLanguage,slv)338 TEST_P(LoadLanguage, slv) {
339   LangLoader("slv", GetParam());
340 }
TEST_P(LoadLanguage,snd)341 TEST_P(LoadLanguage, snd) {
342   LangLoader("snd", GetParam());
343 }
TEST_P(LoadLanguage,spa)344 TEST_P(LoadLanguage, spa) {
345   LangLoader("spa", GetParam());
346 }
TEST_P(LoadLanguage,spa_old)347 TEST_P(LoadLanguage, spa_old) {
348   LangLoader("spa_old", GetParam());
349 }
TEST_P(LoadLanguage,sqi)350 TEST_P(LoadLanguage, sqi) {
351   LangLoader("sqi", GetParam());
352 }
TEST_P(LoadLanguage,srp)353 TEST_P(LoadLanguage, srp) {
354   LangLoader("srp", GetParam());
355 }
TEST_P(LoadLanguage,srp_latn)356 TEST_P(LoadLanguage, srp_latn) {
357   LangLoader("srp_latn", GetParam());
358 }
TEST_P(LoadLanguage,sun)359 TEST_P(LoadLanguage, sun) {
360   LangLoader("sun", GetParam());
361 }
TEST_P(LoadLanguage,swa)362 TEST_P(LoadLanguage, swa) {
363   LangLoader("swa", GetParam());
364 }
TEST_P(LoadLanguage,swe)365 TEST_P(LoadLanguage, swe) {
366   LangLoader("swe", GetParam());
367 }
TEST_P(LoadLanguage,syr)368 TEST_P(LoadLanguage, syr) {
369   LangLoader("syr", GetParam());
370 }
TEST_P(LoadLanguage,tam)371 TEST_P(LoadLanguage, tam) {
372   LangLoader("tam", GetParam());
373 }
TEST_P(LoadLanguage,tat)374 TEST_P(LoadLanguage, tat) {
375   LangLoader("tat", GetParam());
376 }
TEST_P(LoadLanguage,tel)377 TEST_P(LoadLanguage, tel) {
378   LangLoader("tel", GetParam());
379 }
TEST_P(LoadLanguage,tgk)380 TEST_P(LoadLanguage, tgk) {
381   LangLoader("tgk", GetParam());
382 }
TEST_P(LoadLanguage,tha)383 TEST_P(LoadLanguage, tha) {
384   LangLoader("tha", GetParam());
385 }
TEST_P(LoadLanguage,tir)386 TEST_P(LoadLanguage, tir) {
387   LangLoader("tir", GetParam());
388 }
TEST_P(LoadLanguage,ton)389 TEST_P(LoadLanguage, ton) {
390   LangLoader("ton", GetParam());
391 }
TEST_P(LoadLanguage,tur)392 TEST_P(LoadLanguage, tur) {
393   LangLoader("tur", GetParam());
394 }
TEST_P(LoadLanguage,uig)395 TEST_P(LoadLanguage, uig) {
396   LangLoader("uig", GetParam());
397 }
TEST_P(LoadLanguage,ukr)398 TEST_P(LoadLanguage, ukr) {
399   LangLoader("ukr", GetParam());
400 }
TEST_P(LoadLanguage,urd)401 TEST_P(LoadLanguage, urd) {
402   LangLoader("urd", GetParam());
403 }
TEST_P(LoadLanguage,uzb)404 TEST_P(LoadLanguage, uzb) {
405   LangLoader("uzb", GetParam());
406 }
TEST_P(LoadLanguage,uzb_cyrl)407 TEST_P(LoadLanguage, uzb_cyrl) {
408   LangLoader("uzb_cyrl", GetParam());
409 }
TEST_P(LoadLanguage,vie)410 TEST_P(LoadLanguage, vie) {
411   LangLoader("vie", GetParam());
412 }
TEST_P(LoadLanguage,yid)413 TEST_P(LoadLanguage, yid) {
414   LangLoader("yid", GetParam());
415 }
TEST_P(LoadLanguage,yor)416 TEST_P(LoadLanguage, yor) {
417   LangLoader("yor", GetParam());
418 }
419 
420 INSTANTIATE_TEST_SUITE_P(DISABLED_Tessdata_fast, LoadLanguage,
421                          ::testing::Values(TESSDATA_DIR "_fast"));
422 INSTANTIATE_TEST_SUITE_P(DISABLED_Tessdata_best, LoadLanguage,
423                          ::testing::Values(TESSDATA_DIR "_best"));
424 INSTANTIATE_TEST_SUITE_P(DISABLED_Tessdata, LoadLanguage, ::testing::Values(TESSDATA_DIR));
425 
426 // For all scripts
427 
428 class LoadScript : public QuickTest, public ::testing::WithParamInterface<const char *> {};
429 
TEST_P(LoadScript,Arabic)430 TEST_P(LoadScript, Arabic) {
431   LangLoader("script/Arabic", GetParam());
432 }
TEST_P(LoadScript,Armenian)433 TEST_P(LoadScript, Armenian) {
434   LangLoader("script/Armenian", GetParam());
435 }
TEST_P(LoadScript,Bengali)436 TEST_P(LoadScript, Bengali) {
437   LangLoader("script/Bengali", GetParam());
438 }
TEST_P(LoadScript,Canadian_Aboriginal)439 TEST_P(LoadScript, Canadian_Aboriginal) {
440   LangLoader("script/Canadian_Aboriginal", GetParam());
441 }
TEST_P(LoadScript,Cherokee)442 TEST_P(LoadScript, Cherokee) {
443   LangLoader("script/Cherokee", GetParam());
444 }
TEST_P(LoadScript,Cyrillic)445 TEST_P(LoadScript, Cyrillic) {
446   LangLoader("script/Cyrillic", GetParam());
447 }
TEST_P(LoadScript,Devanagari)448 TEST_P(LoadScript, Devanagari) {
449   LangLoader("script/Devanagari", GetParam());
450 }
TEST_P(LoadScript,Ethiopic)451 TEST_P(LoadScript, Ethiopic) {
452   LangLoader("script/Ethiopic", GetParam());
453 }
TEST_P(LoadScript,Fraktur)454 TEST_P(LoadScript, Fraktur) {
455   LangLoader("script/Fraktur", GetParam());
456 }
TEST_P(LoadScript,Georgian)457 TEST_P(LoadScript, Georgian) {
458   LangLoader("script/Georgian", GetParam());
459 }
TEST_P(LoadScript,Greek)460 TEST_P(LoadScript, Greek) {
461   LangLoader("script/Greek", GetParam());
462 }
TEST_P(LoadScript,Gujarati)463 TEST_P(LoadScript, Gujarati) {
464   LangLoader("script/Gujarati", GetParam());
465 }
TEST_P(LoadScript,Gurmukhi)466 TEST_P(LoadScript, Gurmukhi) {
467   LangLoader("script/Gurmukhi", GetParam());
468 }
TEST_P(LoadScript,HanS)469 TEST_P(LoadScript, HanS) {
470   LangLoader("script/HanS", GetParam());
471 }
TEST_P(LoadScript,HanS_vert)472 TEST_P(LoadScript, HanS_vert) {
473   LangLoader("script/HanS_vert", GetParam());
474 }
TEST_P(LoadScript,HanT)475 TEST_P(LoadScript, HanT) {
476   LangLoader("script/HanT", GetParam());
477 }
TEST_P(LoadScript,HanT_vert)478 TEST_P(LoadScript, HanT_vert) {
479   LangLoader("script/HanT_vert", GetParam());
480 }
TEST_P(LoadScript,Hangul)481 TEST_P(LoadScript, Hangul) {
482   LangLoader("script/Hangul", GetParam());
483 }
TEST_P(LoadScript,Hangul_vert)484 TEST_P(LoadScript, Hangul_vert) {
485   LangLoader("script/Hangul_vert", GetParam());
486 }
TEST_P(LoadScript,Hebrew)487 TEST_P(LoadScript, Hebrew) {
488   LangLoader("script/Hebrew", GetParam());
489 }
TEST_P(LoadScript,Japanese)490 TEST_P(LoadScript, Japanese) {
491   LangLoader("script/Japanese", GetParam());
492 }
TEST_P(LoadScript,Japanese_vert)493 TEST_P(LoadScript, Japanese_vert) {
494   LangLoader("script/Japanese_vert", GetParam());
495 }
TEST_P(LoadScript,Kannada)496 TEST_P(LoadScript, Kannada) {
497   LangLoader("script/Kannada", GetParam());
498 }
TEST_P(LoadScript,Khmer)499 TEST_P(LoadScript, Khmer) {
500   LangLoader("script/Khmer", GetParam());
501 }
TEST_P(LoadScript,Lao)502 TEST_P(LoadScript, Lao) {
503   LangLoader("script/Lao", GetParam());
504 }
TEST_P(LoadScript,Latin)505 TEST_P(LoadScript, Latin) {
506   LangLoader("script/Latin", GetParam());
507 }
TEST_P(LoadScript,Malayalam)508 TEST_P(LoadScript, Malayalam) {
509   LangLoader("script/Malayalam", GetParam());
510 }
TEST_P(LoadScript,Myanmar)511 TEST_P(LoadScript, Myanmar) {
512   LangLoader("script/Myanmar", GetParam());
513 }
TEST_P(LoadScript,Oriya)514 TEST_P(LoadScript, Oriya) {
515   LangLoader("script/Oriya", GetParam());
516 }
TEST_P(LoadScript,Sinhala)517 TEST_P(LoadScript, Sinhala) {
518   LangLoader("script/Sinhala", GetParam());
519 }
TEST_P(LoadScript,Syriac)520 TEST_P(LoadScript, Syriac) {
521   LangLoader("script/Syriac", GetParam());
522 }
TEST_P(LoadScript,Tamil)523 TEST_P(LoadScript, Tamil) {
524   LangLoader("script/Tamil", GetParam());
525 }
TEST_P(LoadScript,Telugu)526 TEST_P(LoadScript, Telugu) {
527   LangLoader("script/Telugu", GetParam());
528 }
TEST_P(LoadScript,Thaana)529 TEST_P(LoadScript, Thaana) {
530   LangLoader("script/Thaana", GetParam());
531 }
TEST_P(LoadScript,Thai)532 TEST_P(LoadScript, Thai) {
533   LangLoader("script/Thai", GetParam());
534 }
TEST_P(LoadScript,Tibetan)535 TEST_P(LoadScript, Tibetan) {
536   LangLoader("script/Tibetan", GetParam());
537 }
TEST_P(LoadScript,Vietnamese)538 TEST_P(LoadScript, Vietnamese) {
539   LangLoader("script/Vietnamese", GetParam());
540 }
541 
542 INSTANTIATE_TEST_SUITE_P(DISABLED_Tessdata_fast, LoadScript,
543                          ::testing::Values(TESSDATA_DIR "_fast"));
544 INSTANTIATE_TEST_SUITE_P(DISABLED_Tessdata_best, LoadScript,
545                          ::testing::Values(TESSDATA_DIR "_best"));
546 INSTANTIATE_TEST_SUITE_P(DISABLED_Tessdata, LoadScript, ::testing::Values(TESSDATA_DIR));
547 
548 class LoadLang : public QuickTest {};
549 
550 // Test Load of English here, as the parameterized tests are disabled by
551 // default.
TEST_F(LoadLang,engFast)552 TEST_F(LoadLang, engFast) {
553   LangLoader("eng", TESSDATA_DIR "_fast");
554 }
TEST_F(LoadLang,engBest)555 TEST_F(LoadLang, engBest) {
556   LangLoader("eng", TESSDATA_DIR "_best");
557 }
TEST_F(LoadLang,engBestInt)558 TEST_F(LoadLang, engBestInt) {
559   LangLoader("eng", TESSDATA_DIR);
560 }
561 
562 // Use class LoadLang for languages which are NOT there in all three repos
TEST_F(LoadLang,kmrFast)563 TEST_F(LoadLang, kmrFast) {
564   LangLoader("kmr", TESSDATA_DIR "_fast");
565 }
TEST_F(LoadLang,kmrBest)566 TEST_F(LoadLang, kmrBest) {
567   LangLoader("kmr", TESSDATA_DIR "_best");
568 }
569 //  TEST_F(LoadLang, kmrBestInt) {LangLoader("kmr" , TESSDATA_DIR);}
570 
571 } // namespace tesseract
572