Browse Source

Fix several test strings and test output expectations.

scossu 1 year ago
parent
commit
5473d36c23

+ 1 - 0
scriptshifter/hooks/korean/data.yml

@@ -1515,6 +1515,7 @@ fkr052:
 
   rule_fortis:
     " 이비인후과 ": " 이비인후^과 "
+    " 살아남기 ": " 살아남^기 "
     " 걱정거리 ": " 걱정^거리 "
     " 고민거리 ": " 고민^거리 "
     " 관심거리 ": " 관심^거리 "

+ 1 - 4
scriptshifter/hooks/korean/romanizer.py

@@ -433,10 +433,7 @@ def _kor_rom(kor):
 
     # FKR121: Loan words beginning with L
     if f" {orig} " in KCONF["fkr121"]:
-        if rom.startswith("r"):
-            rom = "l" + rom[1:]
-        elif rom.startswith("R"):
-            rom = "L" + rom[1:]
+        rom = _replace_map(rom[0], {"R": "L", "r": "l"}) + rom[1:]
 
     return rom
 

+ 4 - 4
tests/data/sample_strings.csv

@@ -136,7 +136,7 @@ Korean ,Hangul +Hancha,korean_nonames,내 마음 의 지평선,Nae maŭm ŭi chi
 Korean ,Hangul +Hancha,korean_nonames,내 마음 의 페치카 에서,Nae maŭm ŭi p'ech'ik'a esŏ,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,내 아이 큰 인물 로 키우는 101가지 지혜,Nae ai k'ŭn inmul ro k'iunŭn 101-kaji chihye,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,내 안 에 숨겨진 나,Nae an e sumgyŏjin na,L-R ,,,From K-Romanizer
-Korean ,Hangul +Hancha,korean_nonames,내 안 의 리더십,Nae an ŭi ridŏsip,L-R ,,,From K-Romanizer
+Korean ,Hangul +Hancha,korean_nonames,내 안 의 리더십,Nae an ŭi lidŏsip,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,내 안 의 사과 나무 한 그루,Nae an ŭi sagwa namu han kŭru,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,너 는 시방 위험한 로봇 이다,Nŏ nŭn sibang wihŏmhan robot ida,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,네트워크 사회 의 빛 과 그늘,Net'ŭwŏk'ŭ sahoe ŭi pit kwa kŭnŭl,L-R ,,,From K-Romanizer
@@ -196,7 +196,7 @@ Korean ,Hangul +Hancha,korean_nonames,독도 문제 의 본질 과 일본 의 
 Korean ,Hangul +Hancha,korean_nonames,돈 되는 번역 돈 안되는 번역,Ton toenŭn pŏnyŏk ton andoenŭn pŏnyŏk,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,돌아오니 참 좋다,Toraoni ch'am chot'a,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,동 아시아 민속극 의 축제성,Tong Asia minsokkŭk ŭi ch'ukchesŏng,L-R ,,,From K-Romanizer
-Korean ,Hangul +Hancha,korean_nonames,동 아시아 세계 의 일본 사상 : 일본 중심적 세계관 생성 의 시대별 고찰,Tong Asia segye ŭi Ilbon sasang: Ilbon chungsimchŏk segyegwan saengsŏng ŭi sidaebyŏl koch'al,L-R ,,,From K-Romanizer
+Korean ,Hangul +Hancha,korean_nonames,동 아시아 세계 의 일본 사상 : 일본 중심적 세계관 생성 의 시대별 고찰,Tong Asia segye ŭi Ilbon sasang: Ilbon chungsimjŏk segyegwan saengsŏng ŭi sidaebyŏl koch'al,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,동 아시아 의 경제 20세기 에서 21세기 로,Tong Asia ŭi kyŏngje 20-segi esŏ 21-segi ro,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,동 아시아 지역 의 산업별 생산 분할 특징 과 시사점,Tong Asia chiyŏk ŭi sanŏppyŏl saengsan punhal t'ŭkching kwa sisachŏm,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,동기 : 대한 민국 의 연호,Tonggi: Taehan Min'guk ŭi yŏnho,L-R ,,,From K-Romanizer
@@ -380,7 +380,7 @@ Korean ,Hangul +Hancha,korean_nonames,소설 같은 어느 단체장 의 인사
 Korean ,Hangul +Hancha,korean_nonames,소설 은 내 가 살아 가는 이유,Sosŏl ŭn nae ka sara kanŭn iyu,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,소프라노 신 영옥 의 꿈 꾼 후 에,Sop'ŭrano Sin Yŏng-ok ŭi kkum kkun hu e,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,소화기 생리 중개 연구 의 길잡이,Sohwagi saengni chunggae yŏn'gu ŭi kiljabi,L-R ,,,From K-Romanizer
-Korean ,Hangul +Hancha,korean_nonames,속 문범 권지이 (속문범),Sok munbŏm kwŏnjii (sok munbŏm),L-R ,,,From K-Romanizer
+Korean ,Hangul +Hancha,korean_nonames,속 문범 권지이 (속문범),Sok munbŏm kwŏnjii (songmunbŏm),L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,손 영운 의 우리 땅 과학 답사기,Son Yŏng-un ŭi uri ttang kwahak tapsagi,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,송 욱 의 삶 과 문학,Song Uk ŭi sam kwa munhak,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,수도권 대학 규제 정책 의 평가 에 관한 연구,Sudokwŏn taehak kyuje chŏngch'aek ŭi p'yŏngka e kwanhan yŏn'gu,L-R ,,,From K-Romanizer
@@ -734,7 +734,7 @@ Korean ,Hangul +Hancha,korean_nonames,한국 산업 정보 총람 2009,Han'guk s
 Korean ,Hangul +Hancha,korean_nonames,한국 산업 총람 2009,Han'guk sanŏp ch'ongnam 2009,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,한국 선도 산업 의 기술 혁신 경로 창출 능력,Han'guk sŏndo sanŏp ŭi kisul hyŏksin kyŏngno ch'angch'ul nŭngnyŏk,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,한국 시가 연구 의 과거 와 미래,Han'guk siga yŏn'gu ŭi kwagŏ wa mirae,L-R ,,,From K-Romanizer
-Korean ,Hangul +Hancha,korean_nonames,한국 에서의 다문화 주의 - 현실 과 쟁점,Han'guk esŏŭi tamunhwa chuŭi-hyŏnsil kwa chaengchŏm,L-R ,,,From K-Romanizer
+Korean ,Hangul +Hancha,korean_nonames,한국 에서의 다문화주의 - 현실 과 쟁점,Han'guk esŏŭi tamunhwajuŭi - hyŏnsil kwa chaengchŏm,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,한국 여성 건강 현황 및 정책 과제,Han'guk yŏsŏng kŏn'gang hyŏnhwang mit chŏngch'aek kwaje,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,한국 영화 산업 실태 조사 와 한국 영화 투자 수익성 분석 2007,Han'guk yŏnghwa sanŏp silt'ae chosa wa Han'guk yŏnghwa t'uja suiksŏng punsŏk 2007,L-R ,,,From K-Romanizer
 Korean ,Hangul +Hancha,korean_nonames,한국 영화 산업 의 디지털화 프로세스별 진단,Han'guk yŏnghwa sanŏp ŭi tijit'ŏrhwa p'ŭrosesŭbyŏl chindan,L-R ,,,From K-Romanizer

+ 6 - 4
tests/test02_transliteration.py

@@ -34,10 +34,11 @@ class TestTrans(TestCase):
         """
         config = scriptshifter.tables.load_table(self.tbl)
         if "script_to_roman" in config:
-            txl = transliterate(self.script, self.tbl)
+            txl = transliterate(self.script, self.tbl)[0]
             self.assertEqual(
                     txl, self.roman,
-                    f"S2R transliteration error for {self.tbl}!")
+                    f"S2R transliteration error for {self.tbl}!\n"
+                    f"Original: {self.script}")
 
     def sample_r2s(self):
         """
@@ -48,10 +49,11 @@ class TestTrans(TestCase):
         """
         config = scriptshifter.tables.load_table(self.tbl)
         if "roman_to_script" in config:
-            txl = transliterate(self.roman, self.tbl, r2s=True)
+            txl = transliterate(self.roman, self.tbl, r2s=True)[0]
             self.assertEqual(
                     txl, self.script,
-                    f"R2S transliteration error for {self.tbl}!")
+                    f"R2S transliteration error for {self.tbl}!\n"
+                    f"Original: {self.roman}")
 
 
 def make_suite():

+ 6 - 6
tests/test03_capitalization.py

@@ -17,9 +17,9 @@ class TestCapitalization(TestCase):
     def test_cap(self):
         tbl = "cap_inherited"
         in_str = "зг іо"
-        tx = transliterate(in_str, tbl)
-        tx_cap = transliterate(in_str, tbl, capitalize="first")
-        tx_all = transliterate(in_str, tbl, capitalize="all")
+        tx = transliterate(in_str, tbl)[0]
+        tx_cap = transliterate(in_str, tbl, capitalize="first")[0]
+        tx_all = transliterate(in_str, tbl, capitalize="all")[0]
 
         self.assertEqual(tx, "zh io")
         self.assertEqual(tx_cap, "Zh io")
@@ -28,9 +28,9 @@ class TestCapitalization(TestCase):
     def test_cap_ligatures(self):
         tbl = "cap_inherited"
         in_str = "жзг ёіо зг іо"
-        tx = transliterate(in_str, tbl)
-        tx_cap = transliterate(in_str, tbl, capitalize="first")
-        tx_all = transliterate(in_str, tbl, capitalize="all")
+        tx = transliterate(in_str, tbl)[0]
+        tx_cap = transliterate(in_str, tbl, capitalize="first")[0]
+        tx_all = transliterate(in_str, tbl, capitalize="all")[0]
 
         self.assertEqual(tx, "z︠h︡zh i︠o︡io zh io")
         self.assertEqual(tx_cap, "Z︠H︡zh i︠o︡io zh io")

+ 0 - 96
tests/test04_rest_api.py

@@ -1,96 +0,0 @@
-import json
-
-from os import environ
-from unittest import TestCase
-
-from scriptshifter.rest_api import app
-from tests import TEST_DATA_DIR, reload_tables
-
-
-EP = "http://localhost:8000"
-
-
-class TestRestAPI(TestCase):
-    """ Test REST API interaction. """
-    def setUp(self):
-        environ["TXL_CONFIG_TABLE_DIR"] = TEST_DATA_DIR
-        # if "TXL_CONFIG_TABLE_DIR" in environ:
-        #     del environ["TXL_CONFIG_TABLE_DIR"]
-        reload_tables()
-
-        # Start webapp.
-        app.testing = True
-
-    def test_health(self):
-        with app.test_client() as c:
-            rsp = c.get("/health")
-
-        self.assertEqual(rsp.status_code, 200)
-
-    def test_language_list(self):
-        with app.test_client() as c:
-            rsp = c.get("/languages")
-
-        self.assertEqual(rsp.status_code, 200)
-
-        data = json.loads(rsp.get_data(as_text=True))
-        self.assertIn("inherited", data)
-        self.assertIn("name", data["inherited"])
-        self.assertNotIn("_base1", data)
-        self.assertNotIn("_base2", data)
-        self.assertNotIn("_base3", data)
-
-    def test_lang_table(self):
-        with app.test_client() as c:
-            rsp = c.get("/table/ordering")
-
-        self.assertEqual(rsp.status_code, 200)
-        data = json.loads(rsp.get_data(as_text=True))
-
-        self.assertIn("general", data)
-        self.assertIn("roman_to_script", data)
-        self.assertIn("map", data["roman_to_script"])
-        self.assertEqual(data["roman_to_script"]["map"][0], ["ABCD", ""])
-
-    def test_trans_api_s2r(self):
-        with app.test_client() as c:
-            rsp = c.post("/trans/rot3", data={"text": "defg"})
-
-        self.assertEqual(rsp.status_code, 200)
-        data = rsp.get_data(as_text=True)
-
-        self.assertEqual(data, "abcd")
-
-    def test_trans_api_r2s(self):
-        with app.test_client() as c:
-            rsp = c.post("/trans/rot3/r2s", data={"text": "abcd"})
-
-        self.assertEqual(rsp.status_code, 200)
-        data = rsp.get_data(as_text=True)
-
-        self.assertEqual(data, "defg")
-
-    def test_trans_api_capitalize(self):
-        with app.test_client() as c:
-            rsp = c.post(
-                    "/trans/rot3/r2s",
-                    data={"capitalize": "first", "text": "bcde"})
-
-        self.assertEqual(rsp.status_code, 200)
-        data = rsp.get_data(as_text=True)
-
-        self.assertEqual(data, "Efgh")
-
-    def test_trans_form(self):
-        with app.test_client() as c:
-            rsp = c.post(
-                    "/transliterate", data={
-                        "text": "abcd",
-                        "r2s": "true",
-                        "lang": "rot3",
-                    })
-
-        self.assertEqual(rsp.status_code, 200)
-        data = rsp.get_data(as_text=True)
-
-        self.assertEqual(data, "defg")

File diff suppressed because it is too large
+ 1553 - 1
tests/unittest.log


Some files were not shown because too many files changed in this diff