formatter: populate ctx from repo and node value
This will basically replace the fm.contexthint() API. I originally thought
this would be too complicated, and I wrote
8399438bc7ef "formatter: provide
hint of context keys required by template" because of that. However, I had
to add a similar mechanism for fctx templates, and the overall machinery
became way simpler than my original patch.
The test output slightly changed as {author} is no longer available in
the {manifest} context, which isn't the point this test targeted on.
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__)