keepalive: discard legacy Python support for error handling
We never changed the behavior defined by this attribute anyway, so
just jettison all of this support.
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
Nice 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 3 '<0\n' -> '>0\n'
'-\n'
5 8 '<1\n' -> '>1\n'
'-\n'
10 13 '<2\n' -> '>2\n'
'-\n'
15 18 '<3\n' -> '>3\n'
'-\n'
20 23 '<4\n' -> '>4\n'
'-\n'
Diff 1 to 3 lines - preference for appending:
showdiff(
'a\n',
'a\na\na\n'):
'a\n'
2 2 '' -> 'a\na\n'
Diff 1 to 5 lines - preference for appending:
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 removing trailing lines:
showdiff(
'a\na\na\n',
'a\n'):
'a\n'
2 6 'a\na\n' -> ''
Diff 5 to 1 lines - preference for removing trailing lines:
showdiff(
'a\na\na\na\na\n',
'a\n'):
'a\n'
2 10 'a\na\na\na\n' -> ''