view tests/test-template-filters.t @ 38226:7824783a6d5e

templater: add wrapped types for pure non-list/dict values These wrapper types will allow us to get rid of some isinstance() business. A bytes object needs to support sequence-like operations (e.g. join(), ifcontains(), etc.) That's why we have two wrapper classes. Tests will be added later.
author Yuya Nishihara <yuya@tcha.org>
date Tue, 20 Mar 2018 23:56:26 +0900
parents 56dd15178190
children fabfbbf4dee2
line wrap: on
line source

  $ hg debugtemplate '{""|splitlines|commonprefix}\n'
  
  $ hg debugtemplate '{"foo/bar\nfoo/baz\nfoo/foobar\n"|splitlines|commonprefix}\n'
  foo
  $ hg debugtemplate '{"foo/bar\nfoo/bar\n"|splitlines|commonprefix}\n'
  foo
  $ hg debugtemplate '{"/foo/bar\n/foo/bar\n"|splitlines|commonprefix}\n'
  foo
  $ hg debugtemplate '{"/foo\n/foo\n"|splitlines|commonprefix}\n'
  
  $ hg debugtemplate '{"foo/bar\nbar/baz"|splitlines|commonprefix}\n'
  
  $ hg debugtemplate '{"foo/bar\nbar/baz\nbar/foo\n"|splitlines|commonprefix}\n'
  
  $ hg debugtemplate '{"foo/../bar\nfoo/bar"|splitlines|commonprefix}\n'
  foo
  $ hg debugtemplate '{"foo\n/foo"|splitlines|commonprefix}\n'
  
  $ hg init
  $ hg log -r null -T '{rev|commonprefix}'
  hg: parse error: argument is not a list of text
  (template filter 'commonprefix' is not compatible with keyword 'rev')
  [255]