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'
showdiff(
'x\n\nx\n\nx\n\nx\n\nz\n',
'x\n\nx\n\ny\n\nx\n\nx\n\nz\n'):
'x\n\nx\n\n'
6 6 '' -> 'y\n\n'
'x\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'):
'x\n\nx\n\n'
6 6 '' -> 'y\n\n'
'x\n\n'
9 9 '' -> 'y\n\n'
'x\n\nz\n'
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'):
0 0 '' -> 'a\nb\nb\n'
'a\nb\nb\nb\nc\n.\n'
12 12 '' -> 'b\nc\n.\n'
'd\ne\n'
16 18 '.\n' -> ''
'f\n'
done
done
Odd diff for a trivial change:
showdiff(
'<0\n-\n<1\n-\n<2\n-\n<3\n-\n<4\n-\n',
'>0\n-\n>1\n-\n>2\n-\n>3\n-\n>4\n-\n'):
0 8 '<0\n-\n<1\n' -> '>0\n'
'-\n'
10 13 '<2\n' -> '>1\n'
'-\n'
15 18 '<3\n' -> '>2\n'
'-\n'
20 23 '<4\n' -> '>3\n'
'-\n'
25 25 '' -> '>4\n-\n'
Diff 1 to 3 lines - preference for adding / removing at the end of sequences:
showdiff(
'a\n',
'a\na\na\n'):
'a\n'
2 2 '' -> 'a\na\n'
Diff 1 to 5 lines - preference for adding / removing at the end of sequences:
showdiff(
'a\n',
'a\na\na\na\na\n'):
'a\n'
2 2 '' -> 'a\na\na\na\n'
Diff 3 to 1 lines - preference for adding / removing at the end of sequences:
showdiff(
'a\na\na\n',
'a\n'):
'a\n'
2 6 'a\na\n' -> ''
Diff 5 to 1 lines - this diff seems weird:
showdiff(
'a\na\na\na\na\n',
'a\n'):
0 2 'a\n' -> ''
'a\n'
4 10 'a\na\na\n' -> ''