def test_no_sound(self):
     with patch('chinese.sound.download') as m:
         update_fields({
             'Hanzi': '床单',
             'Pinyin': ''
         }, 'Hanzi', ('Pinyin', 'Hanzi'))
         m.assert_not_called()
    def test_all(self):
        class Note(dict):
            def model(self):
                return ''

        expected = {
            'Hanzi':
            '床单',
            'Hanzi (Color)':
            '<span class="tone2">床</span><span class="tone1">单</span>',
            'Classifier':
            ('<span class="tone2"><ruby>條<rt>tiáo</rt></ruby></span>|'
             '<span class="tone2">条</span>, '
             '<span class="tone4"><ruby>件<rt>jiàn</rt></ruby></span>, '
             '<span class="tone1"><ruby>張<rt>zhāng</rt></ruby></span>|'
             '<span class="tone1">张</span>, '
             '<span class="tone2"><ruby>床<rt>chuáng</rt></ruby></span>'),
            'Pinyin':
            '<span class="tone2">chuáng</span><span class="tone1">dān</span> <!-- chuang dan -->',
            'Pinyin (Taiwan)':
            '<span class="tone2">chuáng</span><span class="tone1">dān</span> <!-- chuang dan -->',
            'Bopomofo':
            '<span class="tone2">ㄔㄨㄤˊ</span><span class="tone1">ㄉㄢ</span> <!-- ㄔㄨㄤˊㄉㄢ -->',
            'Jyutping':
            '',
            # FIXME
            'English':
            ' \tbed sheet\n<br>',
            'German':
            ' \tLaken, Bettlaken, Betttuch (u.E.) (S)\n<br>',
            'French':
            ' \tdrap de lit\n<br>',
            'Ruby (Pinyin)':
            '<span class="tone2"><ruby>床<rt>chuáng</rt></ruby></span><span class="tone1"><ruby>单<rt>dān</rt></ruby></span>',
            'Ruby (Taiwan Pinyin)':
            '<span class="tone2"><ruby>床<rt>chuáng</rt></ruby></span><span class="tone1"><ruby>单<rt>dān</rt></ruby></span>',
            'Ruby (Bopomofo)':
            '<span class="tone2"><ruby>床<rt>ㄔㄨㄤˊ</rt></ruby></span><span class="tone1"><ruby>单<rt>ㄉㄢ</rt></ruby></span>',
            'Ruby (Jyutping)':
            '',
            'Silhouette':
            '_ _',
            'Sound (Mandarin)':
            '[sound:床单_google_zh-cn.mp3]',
            'Sound (Cantonese)':
            '',
        }
        fields = expected.keys()
        note = Note.fromkeys(fields, '')
        note['Hanzi'] = '床单'
        update_fields(note, 'Hanzi', fields)
        self.assertEqual(expected, note)
Exemple #3
0
 def test_hanzi_none(self):
     with patch('chinese.sound.AudioDownloader'):
         result = update_fields({
             'Hanzi': None,
             'Pinyin': ''
         }, 'Hanzi', ('Pinyin', 'Hanzi'))
         self.assertIs(result, False)