histedit: render a rolled up description using the proper roll colours
Users have rightfully complained that the old behaviour of completely
removing the description of a rolled commit makes it difficult to
remember what was in that commit. Instead, we now render the removed
description in red.
I couldn't think of a simpler way to do this. You can't just combine
existing curses colours into new effects; only secondary effects like
bold or underline can be logically OR'ed to generate a combined text
effect. It seems easier to just redundantly keep track of what the
roll colour should be.
from __future__ import absolute_import
from __future__ import print_function
import unittest
from mercurial import mdiff
class splitnewlinesTests(unittest.TestCase):
def test_splitnewlines(self):
cases = {
b'a\nb\nc\n': [b'a\n', b'b\n', b'c\n'],
b'a\nb\nc': [b'a\n', b'b\n', b'c'],
b'a\nb\nc\n\n': [b'a\n', b'b\n', b'c\n', b'\n'],
b'': [],
b'abcabc': [b'abcabc'],
}
for inp, want in cases.items():
self.assertEqual(mdiff.splitnewlines(inp), want)
if __name__ == '__main__':
import silenttestrunner
silenttestrunner.main(__name__)