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)
def test_hanzi_none(self): with patch('chinese.sound.AudioDownloader'): result = update_fields({ 'Hanzi': None, 'Pinyin': '' }, 'Hanzi', ('Pinyin', 'Hanzi')) self.assertIs(result, False)