Exemplo n.º 1
0
    def test_omit_with_filter(self):
        html_in = self.ET.fromstring(u'''\
<div class="forum-post">
    <div class="author"><a href="/user/lǎowài">lǎowài</a></div>
    <div class="content">
        ...
        теперь выбираем цвета, и скачиваем ещё один архивчик:
        <ul>
            <li>(百闻不如一见 bǎiwén bùrú yījiàn)<br />
                mandarin.css.zip (Размер: 242 байт / Загрузок: 59)</li>
        </ul>
    </div>
    <div class="reply"><input type="button" value="new reply" /></div>
</div>''')
        html_expected = self.ET.tostring(self.ET.fromstring(u'''\
<div class="forum-post">
    <div class="author"><a href="/user/lǎowài">lǎowài</a></div>
    <div class="content">
        ...
        теперь выбираем цвета, и скачиваем ещё один архивчик:
        <ul>
            <li><span class="pinYinWrapper">(百闻不如一见 <span class="t3">bǎi</span><span class="t2">wén</span> <span class="t4">bù</span><span class="t2">rú</span> <span class="t1">yī</span><span class="t4">jiàn</span>)</span><br />
                mandarin.css.zip (Размер: 242 байт / Загрузок: 59)</li>
        </ul>
    </div>
    <div class="reply"><input type="button" value="new reply" /></div>
</div>'''),
                                         encoding='unicode')
        colorize_pinyin.colorize_DOM(html_in)
        html_out = self.ET.tostring(html_in, encoding='unicode')
        self.assertEqual(html_out, html_expected)
Exemplo n.º 2
0
    def test_omit_with_filter(self):
        html_in = self.ET.fromstring(u'''\
<div class="forum-post">
    <div class="author"><a href="/user/lǎowài">lǎowài</a></div>
    <div class="content">
        ...
        теперь выбираем цвета, и скачиваем ещё один архивчик:
        <ul>
            <li>(百闻不如一见 bǎiwén bùrú yījiàn)<br />
                mandarin.css.zip (Размер: 242 байт / Загрузок: 59)</li>
        </ul>
    </div>
    <div class="reply"><input type="button" value="new reply" /></div>
</div>''')
        html_expected = self.ET.tostring(self.ET.fromstring(u'''\
<div class="forum-post">
    <div class="author"><a href="/user/lǎowài">lǎowài</a></div>
    <div class="content">
        ...
        теперь выбираем цвета, и скачиваем ещё один архивчик:
        <ul>
            <li><span class="pinYinWrapper">(百闻不如一见 <span class="t3">bǎi</span><span class="t2">wén</span> <span class="t4">bù</span><span class="t2">rú</span> <span class="t1">yī</span><span class="t4">jiàn</span>)</span><br />
                mandarin.css.zip (Размер: 242 байт / Загрузок: 59)</li>
        </ul>
    </div>
    <div class="reply"><input type="button" value="new reply" /></div>
</div>'''), encoding='unicode')
        colorize_pinyin.colorize_DOM(html_in)
        html_out = self.ET.tostring(html_in, encoding='unicode')
        self.assertEqual(html_out, html_expected)
Exemplo n.º 3
0
 def test_custom_class(self):
     html_in = self.ET.fromstring(
         u'''<div class="ex">很长的过程 [hěn chángde guòchéng] - очень длительный процесс</div>''')
     html_expected = self.ET.tostring(self.ET.fromstring(
         u'''<div class="ex"><span class="py">很长的过程 [<span class="third">hěn</span> <span class="second">cháng</span><span class="zero">de</span> <span class="forth">guò</span><span class="second">chéng</span>] - очень длительный процесс</span></div>'''),
         encoding='unicode')
     colorize_pinyin.colorize_DOM(html_in, None, 'py', ('zero', 'first', 'second', 'third', 'forth'))
     html_out = self.ET.tostring(html_in, encoding='unicode')
     self.assertEqual(html_out, html_expected)
Exemplo n.º 4
0
 def test_custom_class(self):
     html_in = self.ET.fromstring(
         u'''<div class="ex">很长的过程 [hěn chángde guòchéng] - очень длительный процесс</div>'''
     )
     html_expected = self.ET.tostring(self.ET.fromstring(
         u'''<div class="ex"><span class="py">很长的过程 [<span class="third">hěn</span> <span class="second">cháng</span><span class="zero">de</span> <span class="forth">guò</span><span class="second">chéng</span>] - очень длительный процесс</span></div>'''
     ),
                                      encoding='unicode')
     colorize_pinyin.colorize_DOM(
         html_in, None, 'py', ('zero', 'first', 'second', 'third', 'forth'))
     html_out = self.ET.tostring(html_in, encoding='unicode')
     self.assertEqual(html_out, html_expected)
Exemplo n.º 5
0
    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'))
Exemplo n.º 6
0
    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'))
Exemplo n.º 7
0
    def test_bkrs_ch_ru(self):
        html_in = self.ET.fromstring(u'''<div class="ch_ru"><div>1) 从属[的] cóngshǔ[de]</div>
<div class="m2"><div class="ex">функциональные отношения - 从属关系</div></div>
<div>2) 机能[的] jīnéng[de], 宫能[的] guānnéng[-de]; 职能[的] zhínéng[de]</div>
<div class="m2"><div class="ex">функциональное заболевание - 官能[性]病</div></div>
<div class="m2"><div class="ex">функциональная ценность денег - 货币的职能价值</div></div>
<div>3) <i class="green">мат.</i> 函数[的] hánshù[de], 函数式[的] hánshùshì[de]</div>
</div>''')
        html_expected = self.ET.tostring(self.ET.fromstring(u'''<div class="ch_ru"><div><span class="pinYinWrapper">1) 从属[的] <span class="t2">cóng</span><span class="t3">shǔ</span>[<span class="t0">de</span>]</span></div>
<div class="m2"><div class="ex">функциональные отношения - 从属关系</div></div>
<div><span class="pinYinWrapper">2) 机能[的] <span class="t1">jī</span><span class="t2">néng</span>[<span class="t0">de</span>], 宫能[的] <span class="t1">guān</span><span class="t2">néng</span>[-<span class="t0">de</span>]; 职能[的] <span class="t2">zhí</span><span class="t2">néng</span>[<span class="t0">de</span>]</span></div>
<div class="m2"><div class="ex">функциональное заболевание - 官能[性]病</div></div>
<div class="m2"><div class="ex">функциональная ценность денег - 货币的职能价值</div></div>
<div>3) <i class="green">мат.</i><span class="pinYinWrapper"> 函数[的] <span class="t2">hán</span><span class="t4">shù</span>[<span class="t0">de</span>], 函数式[的] <span class="t2">hán</span><span class="t4">shù</span><span class="t4">shì</span>[<span class="t0">de</span>]</span></div>
</div>'''), encoding='unicode')
        colorize_pinyin.colorize_DOM(html_in)
        html_out = self.ET.tostring(html_in, encoding='unicode')
        self.assertEqual(html_out, html_expected)
Exemplo n.º 8
0
    def test_bkrs_ch_ru(self):
        html_in = self.ET.fromstring(
            u'''<div class="ch_ru"><div>1) 从属[的] cóngshǔ[de]</div>
<div class="m2"><div class="ex">функциональные отношения - 从属关系</div></div>
<div>2) 机能[的] jīnéng[de], 宫能[的] guānnéng[-de]; 职能[的] zhínéng[de]</div>
<div class="m2"><div class="ex">функциональное заболевание - 官能[性]病</div></div>
<div class="m2"><div class="ex">функциональная ценность денег - 货币的职能价值</div></div>
<div>3) <i class="green">мат.</i> 函数[的] hánshù[de], 函数式[的] hánshùshì[de]</div>
</div>''')
        html_expected = self.ET.tostring(self.ET.fromstring(
            u'''<div class="ch_ru"><div><span class="pinYinWrapper">1) 从属[的] <span class="t2">cóng</span><span class="t3">shǔ</span>[<span class="t0">de</span>]</span></div>
<div class="m2"><div class="ex">функциональные отношения - 从属关系</div></div>
<div><span class="pinYinWrapper">2) 机能[的] <span class="t1">jī</span><span class="t2">néng</span>[<span class="t0">de</span>], 宫能[的] <span class="t1">guān</span><span class="t2">néng</span>[-<span class="t0">de</span>]; 职能[的] <span class="t2">zhí</span><span class="t2">néng</span>[<span class="t0">de</span>]</span></div>
<div class="m2"><div class="ex">функциональное заболевание - 官能[性]病</div></div>
<div class="m2"><div class="ex">функциональная ценность денег - 货币的职能价值</div></div>
<div>3) <i class="green">мат.</i><span class="pinYinWrapper"> 函数[的] <span class="t2">hán</span><span class="t4">shù</span>[<span class="t0">de</span>], 函数式[的] <span class="t2">hán</span><span class="t4">shù</span><span class="t4">shì</span>[<span class="t0">de</span>]</span></div>
</div>'''),
                                         encoding='unicode')
        colorize_pinyin.colorize_DOM(html_in)
        html_out = self.ET.tostring(html_in, encoding='unicode')
        self.assertEqual(html_out, html_expected)