##// END OF EJS Templates
ui: don't fixup [paths] sub-options...
ui: don't fixup [paths] sub-options As part of developing a subsequent patch I discovered that sub-option values like "." were getting converted to paths. This is because the [paths] section is treated specially during config loading. This patch prevents post-processing sub-options from the [paths] section.

File last commit:

r29013:9a8363d2 stable
r29412:b62bce81 default
Show More
test-bdiff.py
73 lines | 1.7 KiB | text/x-python | PythonLexer
Robert Stanca
py3: use print_function in test-bdiff.py
r28734 from __future__ import absolute_import, print_function
Martin Geisler
removed unused imports
r8656 import struct
Robert Stanca
py3: use absolute_import in test-bdiff.py
r28733 from mercurial import (
bdiff,
mpatch,
)
Martin Geisler
tests: renamed Python tests to .py
r8449
def test1(a, b):
d = bdiff.bdiff(a, b)
c = a
if d:
c = mpatch.patches(a, [d])
if c != b:
Robert Stanca
py3: use print_function in test-bdiff.py
r28734 print("***", repr(a), repr(b))
print("bad:")
print(repr(c)[:200])
print(repr(d))
Martin Geisler
tests: renamed Python tests to .py
r8449
def test(a, b):
Robert Stanca
py3: use print_function in test-bdiff.py
r28734 print("***", repr(a), repr(b))
Martin Geisler
tests: renamed Python tests to .py
r8449 test1(a, b)
test1(b, a)
test("a\nc\n\n\n\n", "a\nb\n\n\n")
test("a\nb\nc\n", "a\nc\n")
test("", "")
test("a\nb\nc", "a\nb\nc")
test("a\nb\nc\nd\n", "a\nd\n")
test("a\nb\nc\nd\n", "a\nc\ne\n")
test("a\nb\nc\n", "a\nc\n")
test("a\n", "c\na\nb\n")
test("a\n", "")
test("a\n", "b\nc\n")
test("a\n", "c\na\n")
test("", "adjfkjdjksdhfksj")
test("", "ab")
test("", "abc")
test("a", "a")
test("ab", "ab")
test("abc", "abc")
test("a\n", "a\n")
test("a\nb", "a\nb")
#issue1295
def showdiff(a, b):
bin = bdiff.bdiff(a, b)
pos = 0
while pos < len(bin):
p1, p2, l = struct.unpack(">lll", bin[pos:pos + 12])
pos += 12
Robert Stanca
py3: use print_function in test-bdiff.py
r28734 print(p1, p2, repr(bin[pos:pos + l]))
Martin Geisler
tests: renamed Python tests to .py
r8449 pos += l
showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\nx\n\nz\n")
showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n")
Matt Mackall
bdiff: deal better with duplicate lines...
r29013 # we should pick up abbbc. rather than bc.de as the longest match
showdiff("a\nb\nb\nb\nc\n.\nd\ne\n.\nf\n",
"a\nb\nb\na\nb\nb\nb\nc\n.\nb\nc\n.\nd\ne\nf\n")
Martin Geisler
tests: renamed Python tests to .py
r8449
Robert Stanca
py3: use print_function in test-bdiff.py
r28734 print("done")
Patrick Mezard
mdiff: replace wscleanup() regexps with C loops...
r15530
def testfixws(a, b, allws):
c = bdiff.fixws(a, allws)
if c != b:
Robert Stanca
py3: use print_function in test-bdiff.py
r28734 print("*** fixws", repr(a), repr(b), allws)
print("got:")
print(repr(c))
Patrick Mezard
mdiff: replace wscleanup() regexps with C loops...
r15530
testfixws(" \ta\r b\t\n", "ab\n", 1)
testfixws(" \ta\r b\t\n", " a b\n", 0)
testfixws("", "", 1)
testfixws("", "", 0)
Robert Stanca
py3: use print_function in test-bdiff.py
r28734 print("done")