X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b2d72160e2a68991c66ea6017b871d7f42c0b29d..04cb1fe38e5bea62b7ed31956e5548f58fb79689:/lib/wlrepo/tests/test_mercurial.py diff --git a/lib/wlrepo/tests/test_mercurial.py b/lib/wlrepo/tests/test_mercurial.py index a4e1cfb4..69978260 100644 --- a/lib/wlrepo/tests/test_mercurial.py +++ b/lib/wlrepo/tests/test_mercurial.py @@ -29,33 +29,33 @@ class testBasicLibrary(object): shutil.rmtree(self.path, True) pass - def testOpening(self): + def test_opening(self): library = MercurialLibrary(self.path + '/cleanrepo') - def testMainCabinet(self): + def test_main_cabinett(self): library = MercurialLibrary(self.path + '/cleanrepo') mcab = library.main_cabinet - assert_equal(mcab.maindoc_name(), '') + assert_equal(mcab.maindoc_name, '') # @type mcab MercurialCabinet doclist = mcab.documents() assert_equal( list(doclist), ['valid_file']) - def testReadDocument(self): + def test_read_document(self): library = MercurialLibrary(self.path + '/testrepoI') doc = library.main_cabinet.retrieve('valid_file') assert_equal(doc.read().strip(), 'Ala ma kota') - def testReadUTF8Document(self): + def test_read_UTF8_document(self): library = MercurialLibrary(self.path + '/testrepoI') doc = library.main_cabinet.retrieve('polish_file') assert_equal(doc.read().strip(), u'Gąska!'.encode('utf-8')) - def testWriteDocument(self): + def test_write_document(self): library = MercurialLibrary(self.path + '/testrepoI') doc = library.main_cabinet.retrieve('valid_file') @@ -66,26 +66,164 @@ class testBasicLibrary(object): assert_equal(doc.read(), STRING) - def testCreateDocument(self): + def test_create_document(self): repopath = os.path.join(self.path, 'testrepoI') library = MercurialLibrary(repopath) - doc = library.main_cabinet.create("another_file") - doc.write("Some text") + doc = library.main_cabinet.create("another_file", "Some text") assert_equal( doc.read(), "Some text") assert_true( os.path.isfile( os.path.join(repopath, "pub_another_file.xml")) ) - def testSwitchBranch(self): + def test_switch_branch(self): library = MercurialLibrary(self.path + '/testrepoII') tester_cab = library.cabinet("valid_file", "tester", create=False) assert_equal( list(tester_cab.documents()), ['valid_file']) @raises(wlrepo.CabinetNotFound) - def testNoBranch(self): + def test_branch_not_found(self): library = MercurialLibrary(self.path + '/testrepoII') tester_cab = library.cabinet("ugh", "tester", create=False) + def test_no_branches(self): + library = MercurialLibrary(self.path + '/testrepoII') + n4 = library.shelf(4) + n3 = library.shelf(3) + n2 = library.shelf(2) + n1 = library.shelf(1) + n0 = library.shelf(0) + + assert_true( n3.parentof(n4) ) + assert_false( n4.parentof(n3) ) + assert_true( n0.parentof(n1) ) + assert_false( n1.parentof(n0) ) + assert_false( n0.parentof(n4) ) + + # def test_ancestor_of_simple(self): + assert_true( n3.ancestorof(n4) ) + assert_true( n2.ancestorof(n4) ) + assert_true( n1.ancestorof(n4) ) + assert_true( n0.ancestorof(n4) ) + + assert_true( n2.ancestorof(n3) ) + assert_true( n1.ancestorof(n3) ) + assert_true( n0.ancestorof(n3) ) + + assert_false( n4.ancestorof(n4) ) + assert_false( n4.ancestorof(n3) ) + assert_false( n3.ancestorof(n2) ) + assert_false( n3.ancestorof(n1) ) + assert_false( n3.ancestorof(n0) ) + + # def test_common_ancestor_simple(self): + assert_true( n3.has_common_ancestor(n4) ) + assert_true( n3.has_common_ancestor(n3) ) + assert_true( n3.has_common_ancestor(n3) ) + + + def test_once_branched(self): + library = MercurialLibrary(self.path + '/test3') + + n7 = library.shelf(7) + n6 = library.shelf(6) + n5 = library.shelf(5) + n4 = library.shelf(4) + n3 = library.shelf(3) + n2 = library.shelf(2) + + assert_true( n2.parentof(n3) ) + assert_false( n3.parentof(n2) ) + + assert_true( n2.parentof(n5) ) + assert_false( n5.parentof(n2) ) + + assert_false( n2.parentof(n4) ) + assert_false( n2.parentof(n6) ) + assert_false( n3.parentof(n5) ) + assert_false( n5.parentof(n3) ) + + # def test_ancestorof_branched(self): + assert_true( n2.ancestorof(n7) ) + assert_false( n7.ancestorof(n2) ) + assert_true( n2.ancestorof(n6) ) + assert_false( n6.ancestorof(n2) ) + assert_true( n2.ancestorof(n5) ) + assert_false( n5.ancestorof(n2) ) + + assert_false( n3.ancestorof(n5) ) + assert_false( n5.ancestorof(n3) ) + assert_false( n4.ancestorof(n5) ) + assert_false( n5.ancestorof(n4) ) + assert_false( n3.ancestorof(n7) ) + assert_false( n7.ancestorof(n3) ) + assert_false( n4.ancestorof(n6) ) + assert_false( n6.ancestorof(n4) ) + + # def test_common_ancestor_branched(self): + assert_true( n2.has_common_ancestor(n4) ) + assert_true( n2.has_common_ancestor(n7) ) + assert_true( n2.has_common_ancestor(n6) ) + + # cause it's not in the right branch + assert_false( n5.has_common_ancestor(n3) ) + assert_false( n7.has_common_ancestor(n4) ) + + def test_after_merge(self): + library = MercurialLibrary(self.path + '/test4') + n8 = library.shelf(8) + n7 = library.shelf(7) + n6 = library.shelf(6) + + assert_true( n7.parentof(n8) ) + assert_false( n8.parentof(n7) ) + + assert_true( n7.ancestorof(n8) ) + assert_true( n6.ancestorof(n8) ) + + + assert_true( n7.has_common_ancestor(n8) ) + # cause it's not in the right branch + assert_false( n8.has_common_ancestor(n7) ) + + + def test_after_merge_and_local_commit(self): + library = MercurialLibrary(self.path + '/test5b') + n9 = library.shelf(9) + n8 = library.shelf(8) + n7 = library.shelf(7) + n6 = library.shelf(6) + + assert_true( n7.parentof(n8) ) + assert_false( n8.parentof(n7) ) + + assert_true( n9.has_common_ancestor(n8) ) + # cause it's not in the right branch + assert_false( n8.has_common_ancestor(n9) ) + + + def test_merge_personal_to_default(self): + library = MercurialLibrary(self.path + '/test3') + + main = library.shelf(2) + local = library.shelf(7) + + document = library.document("ala", "admin") + shared = document.shared() + print document, shared + + document.share("Here is my copy!") + + assert_equal( document.shelf(), local) # local didn't change + + + new_main = shared.shelf() + assert_not_equal( new_main, main) # main has new revision + + # check for parents + assert_true( main.parentof(new_main) ) + assert_true( local.parentof(new_main) ) + + def testCreateBranch(self): repopath = os.path.join(self.path, 'testrepoII') @@ -96,4 +234,4 @@ class testBasicLibrary(object): - \ No newline at end of file +