def test_uncolorize_simple(self): html_in = self.ET.fromstring( u'<div><span class="pinYinWrapper"><span class="t2">hán</span><span class="t4">shù</span><span class="t4">shì</span>[<span class="t0">de</span>]</span></div>') html_expected = self.ET.tostring(self.ET.fromstring(u'<div>hánshùshì[de]</div>'), encoding='unicode') colorize_pinyin.uncolorize_DOM(html_in) html_out = self.ET.tostring(html_in, encoding='unicode') self.assertEqual(html_out, html_expected)
def test_uncolorize_simple(self): html_in = self.ET.fromstring( u'<div><span class="pinYinWrapper"><span class="t2">hán</span><span class="t4">shù</span><span class="t4">shì</span>[<span class="t0">de</span>]</span></div>' ) html_expected = self.ET.tostring( self.ET.fromstring(u'<div>hánshùshì[de]</div>'), encoding='unicode') colorize_pinyin.uncolorize_DOM(html_in) html_out = self.ET.tostring(html_in, encoding='unicode') self.assertEqual(html_out, html_expected)
def test_back_and_forth(self): html = u'''<div class="not_full"><div>有规律性的 yǒu guīlǜxìng-de; (<i>во времени</i>) 定期[的] dìngqí[de], 定时[的] dìngshí[de], 按时的 ànshíde; 经常[的] jīngcháng[de]</div> <div class="m2"><div class="ex">регулярная жизнь - 有规律的生活</div></div> <div class="m2"><div class="ex">регулярный рейс самолёта - 飞机定期班次</div></div> <div class="hidden_text" style="display: block;"><div class="m2"><div class="ex">регулярный доход - 经常的收入</div></div> <div class="m2"><div class="ex"><div class="m2">- <a href="http://bkrs.info/slovo.php?ch=регулярная армия">регулярная армия</a></div> <div class="m2">- <a href="http://bkrs.info/slovo.php?ch=регулярные войска">регулярные войска</a></div></div> <div class="m2">- <a href="http://bkrs.info/slovo.php?ch=регулярное выражение">регулярное выражение</a></div></div> </div> </div>''' self.assertEqual(html, self.ET.tostring(self.ET.fromstring(html), encoding='unicode')) el = self.ET.fromstring(html) colorize_pinyin.colorize_DOM(el) colorize_pinyin.uncolorize_DOM(el) self.assertEqual(html, self.ET.tostring(el, encoding='unicode'))
def test_uncolorize_harder(self): wrapper_class = u'py' html_in = self.ET.fromstring(u'''<div><div class="m2"><div class="ex"><span class="py">各有所长 [<span class="t4">gè</span> yŏu <span class="t0">su</span>ŏ <span class="t2">cháng</span>] - у каждого есть свои преимущества</span></div></div> <div>5) быть сильным (<i>в какой-либо области</i>); быть мастером <i>чего-либо</i>; хорошо владеть <i>чем-либо</i></div> <div class="m2"><div class="ex"><span class="py">他长于绘画 [<span class="t1">tā</span> <span class="t2">cháng</span><span class="t2">yú</span> <span class="t4">huì</span><span class="t4">huà</span>] - он - большой мастер в живописи</span></div></div></div>''') html_expected = self.ET.tostring(self.ET.fromstring(u'''<div><div class="m2"><div class="ex">各有所长 [gè yŏu suŏ cháng] - у каждого есть свои преимущества</div></div> <div>5) быть сильным (<i>в какой-либо области</i>); быть мастером <i>чего-либо</i>; хорошо владеть <i>чем-либо</i></div> <div class="m2"><div class="ex">他长于绘画 [tā chángyú huìhuà] - он - большой мастер в живописи</div></div></div>'''), encoding='unicode') colorize_pinyin.uncolorize_DOM(html_in, wrapper_class) html_out = self.ET.tostring(html_in, encoding='unicode') self.assertEqual(html_out, html_expected)
def test_back_and_forth(self): html = u'''<div class="not_full"><div>有规律性的 yǒu guīlǜxìng-de; (<i>во времени</i>) 定期[的] dìngqí[de], 定时[的] dìngshí[de], 按时的 ànshíde; 经常[的] jīngcháng[de]</div> <div class="m2"><div class="ex">регулярная жизнь - 有规律的生活</div></div> <div class="m2"><div class="ex">регулярный рейс самолёта - 飞机定期班次</div></div> <div class="hidden_text" style="display: block;"><div class="m2"><div class="ex">регулярный доход - 经常的收入</div></div> <div class="m2"><div class="ex"><div class="m2">- <a href="http://bkrs.info/slovo.php?ch=регулярная армия">регулярная армия</a></div> <div class="m2">- <a href="http://bkrs.info/slovo.php?ch=регулярные войска">регулярные войска</a></div></div> <div class="m2">- <a href="http://bkrs.info/slovo.php?ch=регулярное выражение">регулярное выражение</a></div></div> </div> </div>''' self.assertEqual( html, self.ET.tostring(self.ET.fromstring(html), encoding='unicode')) el = self.ET.fromstring(html) colorize_pinyin.colorize_DOM(el) colorize_pinyin.uncolorize_DOM(el) self.assertEqual(html, self.ET.tostring(el, encoding='unicode'))
def test_uncolorize_harder(self): wrapper_class = u'py' html_in = self.ET.fromstring( u'''<div><div class="m2"><div class="ex"><span class="py">各有所长 [<span class="t4">gè</span> yŏu <span class="t0">su</span>ŏ <span class="t2">cháng</span>] - у каждого есть свои преимущества</span></div></div> <div>5) быть сильным (<i>в какой-либо области</i>); быть мастером <i>чего-либо</i>; хорошо владеть <i>чем-либо</i></div> <div class="m2"><div class="ex"><span class="py">他长于绘画 [<span class="t1">tā</span> <span class="t2">cháng</span><span class="t2">yú</span> <span class="t4">huì</span><span class="t4">huà</span>] - он - большой мастер в живописи</span></div></div></div>''' ) html_expected = self.ET.tostring(self.ET.fromstring( u'''<div><div class="m2"><div class="ex">各有所长 [gè yŏu suŏ cháng] - у каждого есть свои преимущества</div></div> <div>5) быть сильным (<i>в какой-либо области</i>); быть мастером <i>чего-либо</i>; хорошо владеть <i>чем-либо</i></div> <div class="m2"><div class="ex">他长于绘画 [tā chángyú huìhuà] - он - большой мастер в живописи</div></div></div>''' ), encoding='unicode') colorize_pinyin.uncolorize_DOM(html_in, wrapper_class) html_out = self.ET.tostring(html_in, encoding='unicode') self.assertEqual(html_out, html_expected)