Merge remote-tracking branch 'upstream/master'

Conflicts:
	picard/util/__init__.py
	test/test_utils.py
This commit is contained in:
Ionuț Ciocîrlan
2013-07-06 10:21:00 +03:00
94 changed files with 2967 additions and 1576 deletions

View File

@@ -9,57 +9,57 @@ from picard import util
class UnaccentTest(unittest.TestCase):
def test_correct(self):
self.failUnlessEqual(util.unaccent(u"Lukáš"), u"Lukas")
self.failUnlessEqual(util.unaccent(u"Björk"), u"Bjork")
self.failUnlessEqual(util.unaccent(u"Trentemøller"), u"Trentemoller")
self.failUnlessEqual(util.unaccent(u"小室哲哉"), u"小室哲哉")
self.failUnlessEqual(util.unaccent(u"Ænima"), u"AEnima")
self.failUnlessEqual(util.unaccent(u"ænima"), u"aenima")
self.assertEqual(util.unaccent(u"Lukáš"), u"Lukas")
self.assertEqual(util.unaccent(u"Björk"), u"Bjork")
self.assertEqual(util.unaccent(u"Trentemøller"), u"Trentemoller")
self.assertEqual(util.unaccent(u"小室哲哉"), u"小室哲哉")
self.assertEqual(util.unaccent(u"Ænima"), u"AEnima")
self.assertEqual(util.unaccent(u"ænima"), u"aenima")
def test_incorrect(self):
self.failIfEqual(util.unaccent(u"Björk"), u"Björk")
self.failIfEqual(util.unaccent(u"小室哲哉"), u"Tetsuya Komuro")
self.assertNotEqual(util.unaccent(u"Björk"), u"Björk")
self.assertNotEqual(util.unaccent(u"小室哲哉"), u"Tetsuya Komuro")
class ReplaceNonAsciiTest(unittest.TestCase):
def test_correct(self):
self.failUnlessEqual(util.replace_non_ascii(u"Lukáš"), u"Luk__")
self.failUnlessEqual(util.replace_non_ascii(u"Björk"), u"Bj_rk")
self.failUnlessEqual(util.replace_non_ascii(u"Trentemøller"), u"Trentem_ller")
self.failUnlessEqual(util.replace_non_ascii(u"小室哲哉"), u"____")
self.assertEqual(util.replace_non_ascii(u"Lukáš"), u"Luk__")
self.assertEqual(util.replace_non_ascii(u"Björk"), u"Bj_rk")
self.assertEqual(util.replace_non_ascii(u"Trentemøller"), u"Trentem_ller")
self.assertEqual(util.replace_non_ascii(u"小室哲哉"), u"____")
def test_incorrect(self):
self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš")
self.failIfEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")
self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Lukáš")
self.assertNotEqual(util.replace_non_ascii(u"Lukáš"), u"Luk____")
class ReplaceWin32IncompatTest(unittest.TestCase):
def test_correct(self):
self.failUnlessEqual(util.replace_win32_incompat("c:\\test\\te\"st/2"),
self.assertEqual(util.replace_win32_incompat("c:\\test\\te\"st/2"),
"c_\\test\\te_st/2")
self.failUnlessEqual(util.replace_win32_incompat("A\"*:<>?|b"),
self.assertEqual(util.replace_win32_incompat("A\"*:<>?|b"),
"A_______b")
def test_incorrect(self):
self.failIfEqual(util.replace_win32_incompat("c:\\test\\te\"st2"),
self.assertNotEqual(util.replace_win32_incompat("c:\\test\\te\"st2"),
"c:\\test\\te\"st2")
class SanitizeDateTest(unittest.TestCase):
def test_correct(self):
self.failUnlessEqual(util.sanitize_date("2006--"), "2006")
self.failUnlessEqual(util.sanitize_date("2006--02"), "2006")
self.failUnlessEqual(util.sanitize_date("2006 "), "2006")
self.failUnlessEqual(util.sanitize_date("2006 02"), "")
self.failUnlessEqual(util.sanitize_date("2006.02"), "")
self.failUnlessEqual(util.sanitize_date("2006-02"), "2006-02")
self.assertEqual(util.sanitize_date("2006--"), "2006")
self.assertEqual(util.sanitize_date("2006--02"), "2006")
self.assertEqual(util.sanitize_date("2006 "), "2006")
self.assertEqual(util.sanitize_date("2006 02"), "")
self.assertEqual(util.sanitize_date("2006.02"), "")
self.assertEqual(util.sanitize_date("2006-02"), "2006-02")
def test_incorrect(self):
self.failIfEqual(util.sanitize_date("2006--02"), "2006-02")
self.failIfEqual(util.sanitize_date("2006.03.02"), "2006-03-02")
self.assertNotEqual(util.sanitize_date("2006--02"), "2006-02")
self.assertNotEqual(util.sanitize_date("2006.03.02"), "2006-03-02")
class ShortFilenameTest(unittest.TestCase):
@@ -165,33 +165,33 @@ class ShortFilenameTest(unittest.TestCase):
class TranslateArtistTest(unittest.TestCase):
def test_latin(self):
self.failUnlessEqual(u"Jean Michel Jarre", util.translate_from_sortname(u"Jean Michel Jarre", u"Jarre, Jean Michel"))
self.failIfEqual(u"Jarre, Jean Michel", util.translate_from_sortname(u"Jean Michel Jarre", u"Jarre, Jean Michel"))
self.assertEqual(u"Jean Michel Jarre", util.translate_from_sortname(u"Jean Michel Jarre", u"Jarre, Jean Michel"))
self.assertNotEqual(u"Jarre, Jean Michel", util.translate_from_sortname(u"Jean Michel Jarre", u"Jarre, Jean Michel"))
def test_kanji(self):
self.failUnlessEqual(u"Tetsuya Komuro", util.translate_from_sortname(u"小室哲哉", u"Komuro, Tetsuya"))
self.failIfEqual(u"Komuro, Tetsuya", util.translate_from_sortname(u"小室哲哉", u"Komuro, Tetsuya"))
self.failIfEqual(u"小室哲哉", util.translate_from_sortname(u"小室哲哉", u"Komuro, Tetsuya"))
self.assertEqual(u"Tetsuya Komuro", util.translate_from_sortname(u"小室哲哉", u"Komuro, Tetsuya"))
self.assertNotEqual(u"Komuro, Tetsuya", util.translate_from_sortname(u"小室哲哉", u"Komuro, Tetsuya"))
self.assertNotEqual(u"小室哲哉", util.translate_from_sortname(u"小室哲哉", u"Komuro, Tetsuya"))
def test_kanji2(self):
self.failUnlessEqual(u"Ayumi Hamasaki & Keiko", util.translate_from_sortname(u"浜崎あゆみ & KEIKO", u"Hamasaki, Ayumi & Keiko"))
self.failIfEqual(u"浜崎あゆみ & KEIKO", util.translate_from_sortname(u"浜崎あゆみ & KEIKO", u"Hamasaki, Ayumi & Keiko"))
self.failIfEqual(u"Hamasaki, Ayumi & Keiko", util.translate_from_sortname(u"浜崎あゆみ & KEIKO", u"Hamasaki, Ayumi & Keiko"))
self.assertEqual(u"Ayumi Hamasaki & Keiko", util.translate_from_sortname(u"浜崎あゆみ & KEIKO", u"Hamasaki, Ayumi & Keiko"))
self.assertNotEqual(u"浜崎あゆみ & KEIKO", util.translate_from_sortname(u"浜崎あゆみ & KEIKO", u"Hamasaki, Ayumi & Keiko"))
self.assertNotEqual(u"Hamasaki, Ayumi & Keiko", util.translate_from_sortname(u"浜崎あゆみ & KEIKO", u"Hamasaki, Ayumi & Keiko"))
def test_cyrillic(self):
self.failUnlessEqual(U"Pyotr Ilyich Tchaikovsky", util.translate_from_sortname(u"Пётр Ильич Чайковский", u"Tchaikovsky, Pyotr Ilyich"))
self.failIfEqual(u"Tchaikovsky, Pyotr Ilyich", util.translate_from_sortname(u"Пётр Ильич Чайковский", u"Tchaikovsky, Pyotr Ilyich"))
self.failIfEqual(u"Пётр Ильич Чайковский", util.translate_from_sortname(u"Пётр Ильич Чайковский", u"Tchaikovsky, Pyotr Ilyich"))
self.assertEqual(U"Pyotr Ilyich Tchaikovsky", util.translate_from_sortname(u"Пётр Ильич Чайковский", u"Tchaikovsky, Pyotr Ilyich"))
self.assertNotEqual(u"Tchaikovsky, Pyotr Ilyich", util.translate_from_sortname(u"Пётр Ильич Чайковский", u"Tchaikovsky, Pyotr Ilyich"))
self.assertNotEqual(u"Пётр Ильич Чайковский", util.translate_from_sortname(u"Пётр Ильич Чайковский", u"Tchaikovsky, Pyotr Ilyich"))
class FormatTimeTest(unittest.TestCase):
def test(self):
self.failUnlessEqual("?:??", util.format_time(0))
self.failUnlessEqual("3:00", util.format_time(179750))
self.failUnlessEqual("3:00", util.format_time(179500))
self.failUnlessEqual("2:59", util.format_time(179499))
def test(self):
self.assertEqual("?:??", util.format_time(0))
self.assertEqual("3:00", util.format_time(179750))
self.assertEqual("3:00", util.format_time(179500))
self.assertEqual("2:59", util.format_time(179499))
class LoadReleaseTypeScoresTest(unittest.TestCase):
@@ -221,4 +221,3 @@ class SaveReleaseTypeScoresTest(unittest.TestCase):
self.assertTrue("Single 0.50" in saved_scores)
self.assertTrue("Other 0.00" in saved_scores)
self.assertEqual(6, len(saved_scores.split()))