diff --git a/pubs/bibstruct.py b/pubs/bibstruct.py index 9832164..808f61e 100644 --- a/pubs/bibstruct.py +++ b/pubs/bibstruct.py @@ -26,11 +26,6 @@ def str2citekey(s): def check_citekey(citekey): if citekey is None or not citekey.strip(): raise ValueError(u"Empty citekeys are not valid") - # TODO This is not the right way to test that (17/12/2012) - if ustr(citekey) != str2citekey(citekey): - raise ValueError(u"Invalid `{}` citekey; ".format(citekey) + - u"utf-8 citekeys are not supported yet.\n" - u"See https://github.com/pubs/pubs/issues/28 for details.") def verify_bibdata(bibdata): diff --git a/tests/fake_env.py b/tests/fake_env.py index b49cec0..8c026a3 100644 --- a/tests/fake_env.py +++ b/tests/fake_env.py @@ -39,7 +39,6 @@ def redirect(f): # Test helpers # automating input - real_input = input diff --git a/tests/test_usecase.py b/tests/test_usecase.py index f6eaaa4..d503393 100644 --- a/tests/test_usecase.py +++ b/tests/test_usecase.py @@ -276,14 +276,18 @@ class TestAdd(URLContentTestCase): self.assertEqual(set(os.listdir(bib_dir)), {'CustomCitekey.bib'}) def test_add_utf8_citekey(self): - err = ("error: Invalid `hausdorff1949grundzüge` citekey; " - "utf-8 citekeys are not supported yet.\n" - "See https://github.com/pubs/pubs/issues/28 for details.") # actually not checked + correct = ["", + ("added to pubs:\n" + "[hausdorff1949grundzüge] Hausdorff, Felix \"Grundzüge der Mengenlehre\" (1949) \n"), + "The 'hausdorff1949grundzüge' citekey has been renamed into 'アスキー'\n", + "The 'アスキー' citekey has been renamed into 'Ḽơᶉëᶆ_ȋṕšᶙṁ'\n" + ] cmds = ['pubs init', - ('pubs add bibexamples/utf8.bib', [], '', err), + ('pubs add bibexamples/utf8.bib', [], correct[1]), + ('pubs rename hausdorff1949grundzüge アスキー', [], correct[2]), + ('pubs rename アスキー Ḽơᶉëᶆ_ȋṕšᶙṁ', [], correct[3]), ] - with self.assertRaises(FakeSystemExit): - self.execute_cmds(cmds) + self.execute_cmds(cmds) def test_add_doc_nocopy_does_not_copy(self): cmds = ['pubs init', @@ -350,10 +354,11 @@ class TestList(DataCommandTestCase): self.assertEqual(0, len(outs[1].splitlines())) self.assertEqual(1, len(outs[3].splitlines())) - @unittest.expectedFailure #FIXME pyfakefs's shutil.rmtree seems to have problems: submit an issue. def test_list_several_no_date(self): self.execute_cmds(['pubs init -p testrepo']) - shutil.rmtree('testrepo') + os.chdir('/') # weird fix for shutil.rmtree invocation. + shutil.rmtree(self.rootpath + '/testrepo') + os.chdir(self.rootpath) self.fs.add_real_directory(os.path.join(self.rootpath, 'testrepo'), read_only=False) #fake_env.copy_dir(self.fs, testrepo, 'testrepo')