import vstorage
-NULL_PARENT = -1
-
-
def clear_directory(top):
for root, dirs, files in os.walk(top, topdown=False):
for name in files:
text=text,
author=author,
comment=comment,
- parent=NULL_PARENT,
+ parent=None,
)
- saved = self.repo.open_page(title).read()
- assert_equal(saved, text)
+ saved_text, rev = self.repo.page_text(title)
+ assert_equal(saved_text, text)
+ assert_equal(rev, 0)
def test_save_text_noparent(self):
text = u"test text"
text=text, author=author,
comment=comment, parent=None)
- saved = self.repo.open_page(title).read()
- assert_equal(saved, text)
+
+ saved_text, rev = self.repo.page_text(title)
+ assert_equal(saved_text, text)
+ assert_equal(rev, 0)
def test_save_merge_no_conflict(self):
text = u"test\ntext"
comment = u"test comment"
self.repo.save_text(title=title,
text=text, author=author,
- comment=comment, parent=NULL_PARENT)
+ comment=comment, parent=None)
self.repo.save_text(title=title,
text=text, author=author,
- comment=comment, parent=NULL_PARENT)
- saved = self.repo.open_page(title).read()
- assert_equal(saved, text)
+ comment=comment, parent=None)
+
+ saved_text, rev = self.repo.page_text(title)
+ assert_equal(saved_text, text)
+ assert_equal(rev, 0)
def test_save_merge_line_conflict(self):
text = u"test\ntest\n"
self.repo.save_text(title=title,
text=text, author=author,
- comment=comment, parent=NULL_PARENT)
+ comment=comment, parent=None)
+
+ saved_text, rev = self.repo.page_text(title)
+ assert_equal(saved_text, text)
+ assert_equal(rev, 0)
self.repo.save_text(title=title,
text=text1, author=author,
comment=comment, parent=0)
+ saved_text, rev = self.repo.page_text(title)
+ assert_equal(saved_text, text1)
+ assert_equal(rev, 1)
+
self.repo.save_text(title=title,
text=text2, author=author,
comment=comment, parent=0)
- saved = self.repo.open_page(title).read()
-
+ saved_text, rev = self.repo.page_text(title)
# Other conflict markers placement can also be correct
- assert_equal(saved, u'''\
+ assert_equal(saved_text, u'''\
text
test
<<<<<<< local
comment = u"test comment"
self.repo.save_text(title=title,
text=text, author=author,
- comment=comment, parent=NULL_PARENT)
+ comment=comment, parent=None)
- assert title in self.repo
+ ok_(title in self.repo, "Document not in repository.")
self.repo.delete_page(title, author, comment)
- assert title not in self.repo
+ ok_(title not in self.repo, "Document in repository after delete")
@raises(vstorage.DocumentNotFound)
def test_document_not_found(self):
- self.repo.open_page(u'unknown entity')
+ self.repo.page_text(u'unknown entity')
def test_open_existing_repository(self):
self.repo.save_text(title=u'Python!', text=u'ham and spam')
assert_equal(entry["description"], COMMITS[n]["comment"])
assert_equal(entry["tag"], [])
+ def test_data_revert(self):
+ COMMITS = [
+ {u"title": u"one", "author": "bunny", "text":"1.1", "comment": "1"},
+ {u"title": u"one", "author": "frank", "text":"1.2", "comment": "2"},
+ {u"title": u"two", "author": "bunny", "text":"2.1", "comment": "3"},
+ {u"title": u"one", "author": "frank", "text":"1.3", "comment": "4"},
+ ]
+
+ for commit in COMMITS:
+ self.repo.save_text(**commit)
+
+ # now revert last change on one
+ self.repo.revert(u"one", 0)
+ assert_equal(self.repo.page_text(u"one"), (u"1.1", 3))
+ assert_equal(self.repo.page_text(u"two"), (u"2.1", 0))
+
+ self.repo.revert(u"one", 2)
+ assert_equal(self.repo.page_text(u"one"), (u"1.3", 4))
class TestVSTags(object):
for entry in reversed(history):
expected = [tag[1] for tag in tags if tag[0] == entry["version"]]
assert_equal(set(entry["tag"]), set(expected))
-
-
-if __name__ == '__main__':
- runmodule()