90
90
vfile = weave_store.get_weave_or_empty(file_id, transaction)
91
91
vfile.add_lines(rev_id, parents, contents)
93
def check_text(file_id, revision_id, contents):
94
vfile = weave_store.get_weave(file_id, trans)
95
self.assertEqual(contents, vfile.get_lines(revision_id))
93
97
add_text('a', 'r', ['a'], [], trans)
94
98
self.failUnlessExists('62/a.weave')
95
self.assertEqual(['a'], weave_store.get_lines('a', 'r', trans))
99
check_text('a', 'r', ['a'])
97
101
add_text(' ', 'r', ['space'], [], trans)
98
102
self.failIfExists('21/ .weave')
99
103
self.failUnlessExists('88/%20.weave')
100
self.assertEquals(['space'], weave_store.get_lines(' ', 'r', trans))
104
check_text(' ', 'r', ['space'])
102
106
add_text('@:<>', 'r', ['surprise'], [], trans)
103
107
self.failUnlessExists('72/@%3a%3c%3e.weave')
104
self.assertEquals(['surprise'], weave_store.get_lines('@:<>', 'r', trans))
108
check_text('@:<>', 'r', ['surprise'])
106
110
add_text(u'\xe5', 'r', ['unicode'], [], trans)
107
111
self.failUnlessExists('77/%c3%a5.weave')
108
self.assertEquals(['unicode'], weave_store.get_lines(u'\xe5', 'r', trans))
112
check_text(u'\xe5', 'r', ['unicode'])