mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-09-28 20:56:36 +00:00
65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
#!/usr/bin/env python
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
|
|
import os
|
|
import tempfile
|
|
import unittest
|
|
import mozfile
|
|
|
|
from mozprofile.profile import Profile
|
|
|
|
|
|
class CloneCleanupTest(unittest.TestCase):
|
|
"""
|
|
test cleanup logic for the clone functionality
|
|
see https://bugzilla.mozilla.org/show_bug.cgi?id=642843
|
|
"""
|
|
|
|
def setUp(self):
|
|
# make a profile with one preference
|
|
path = tempfile.mktemp()
|
|
self.addCleanup(mozfile.remove, path)
|
|
self.profile = Profile(path,
|
|
preferences={'foo': 'bar'},
|
|
restore=False)
|
|
user_js = os.path.join(self.profile.profile, 'user.js')
|
|
self.assertTrue(os.path.exists(user_js))
|
|
|
|
def test_restore_true(self):
|
|
# make a clone of this profile with restore=True
|
|
clone = Profile.clone(self.profile.profile, restore=True)
|
|
self.addCleanup(mozfile.remove, clone.profile)
|
|
|
|
clone.cleanup()
|
|
|
|
# clone should be deleted
|
|
self.assertFalse(os.path.exists(clone.profile))
|
|
|
|
def test_restore_false(self):
|
|
# make a clone of this profile with restore=False
|
|
clone = Profile.clone(self.profile.profile, restore=False)
|
|
self.addCleanup(mozfile.remove, clone.profile)
|
|
|
|
clone.cleanup()
|
|
|
|
# clone should still be around on the filesystem
|
|
self.assertTrue(os.path.exists(clone.profile))
|
|
|
|
def test_cleanup_on_garbage_collected(self):
|
|
clone = Profile.clone(self.profile.profile)
|
|
self.addCleanup(mozfile.remove, clone.profile)
|
|
profile_dir = clone.profile
|
|
self.assertTrue(os.path.exists(profile_dir))
|
|
del clone
|
|
# clone should be deleted
|
|
self.assertFalse(os.path.exists(profile_dir))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|
|
|