- #!/usr/bin/env python
- """
- Tests the behaviour of filelog w.r.t. data starting with '\1\n'
- """
- from mercurial import ui, hg
- from mercurial.node import nullid, hex
-
- myui = ui.ui()
- repo = hg.repository(myui, path='.', create=True)
-
- fl = repo.file('foobar')
-
- def addrev(text, renamed=False):
- if renamed:
- # data doesnt matter. Just make sure filelog.renamed() returns True
- meta = dict(copyrev=hex(nullid), copy='bar')
- else:
- meta = {}
-
- t = repo.transaction('commit')
- try:
- node = fl.add(text, meta, t, 0, nullid, nullid)
- return node
- finally:
- t.close()
-
- def error(text):
- print 'ERROR: ' + text
-
- textwith = '\1\nfoo'
- without = 'foo'
-
- node = addrev(textwith)
- if not textwith == fl.read(node):
- error('filelog.read for data starting with \\1\\n')
- if fl.cmp(node, textwith) or not fl.cmp(node, without):
- error('filelog.cmp for data starting with \\1\\n')
- if fl.size(0) != len(textwith):
- error('FIXME: This is a known failure of filelog.size for data starting '
- 'with \\1\\n')
-
- node = addrev(textwith, renamed=True)
- if not textwith == fl.read(node):
- error('filelog.read for a renaming + data starting with \\1\\n')
- if fl.cmp(node, textwith) or not fl.cmp(node, without):
- error('filelog.cmp for a renaming + data starting with \\1\\n')
- if fl.size(1) != len(textwith):
- error('filelog.size for a renaming + data starting with \\1\\n')
-
- print 'OK.'
# |
Change |
User |
Description |
Committed |
|
#1
|
8266 |
Mojmir Svoboda |
branch sven/mercurial -> mojmir/mercurial |
12 years ago
|
|
//guest/sven_erik_knop/mercurial/tests/test-filelog |
#1
|
7918 |
Sven Erik Knop |
Added Mercurial Exporter to Perforce Mk 1. |
14 years ago
|
|