1from xdg import RecentFiles 2import resources 3 4import unittest 5import os.path 6import tempfile, shutil 7 8class RecentFilesTest(unittest.TestCase): 9 def setUp(self): 10 self.tmpdir = tempfile.mkdtemp() 11 self.test_file = os.path.join(self.tmpdir, ".recently-used") 12 with open(self.test_file, "w") as f: 13 f.write(resources.recently_used) 14 15 def tearDown(self): 16 shutil.rmtree(self.tmpdir) 17 18 def test_get_files(self): 19 rf = RecentFiles.RecentFiles() 20 rf.parse(self.test_file) 21 last_file = rf.getFiles()[0] 22 self.assertEqual(last_file.URI, "file:///home/thomas/foo/bar.ods") 23 self.assertEqual(last_file.MimeType, "application/vnd.oasis.opendocument.spreadsheet") 24 25 def test_modify(self): 26 rf = RecentFiles.RecentFiles() 27 rf.parse(self.test_file) 28 29 rf.deleteFile("file:///home/thomas/foo/bar.ods") 30 self.assertEqual(len(rf.RecentFiles), 1) 31 32 rf.addFile("file:///home/thomas/foo/baz.png", "image/png") 33 self.assertEqual(len(rf.RecentFiles), 2) 34 35 new_file = os.path.join(self.tmpdir, ".new-recently-used") 36 rf.write(new_file) 37 38 rf2 = RecentFiles.RecentFiles() 39 rf2.parse(new_file) 40 41 last_file = rf.getFiles()[0] 42 self.assertEqual(last_file.URI, "file:///home/thomas/foo/baz.png") 43 self.assertEqual(last_file.MimeType, "image/png") 44 45