Show More
@@ -28,6 +28,7 b' class _hybrid(object):' | |||||
28 | and to access raw values: |
|
28 | and to access raw values: | |
29 | - "{ifcontains(file, files, ...)}", "{ifcontains(key, extras, ...)}" |
|
29 | - "{ifcontains(file, files, ...)}", "{ifcontains(key, extras, ...)}" | |
30 | - "{get(extras, key)}" |
|
30 | - "{get(extras, key)}" | |
|
31 | - "{files|json}" | |||
31 | """ |
|
32 | """ | |
32 |
|
33 | |||
33 | def __init__(self, gen, values, makemap, joinfmt): |
|
34 | def __init__(self, gen, values, makemap, joinfmt): | |
@@ -43,8 +44,11 b' class _hybrid(object):' | |||||
43 | return x in self._values |
|
44 | return x in self._values | |
44 | def __len__(self): |
|
45 | def __len__(self): | |
45 | return len(self._values) |
|
46 | return len(self._values) | |
|
47 | def __iter__(self): | |||
|
48 | return iter(self._values) | |||
46 | def __getattr__(self, name): |
|
49 | def __getattr__(self, name): | |
47 | if name != 'get': |
|
50 | if name not in ('get', 'items', 'iteritems', 'iterkeys', 'itervalues', | |
|
51 | 'keys', 'values'): | |||
48 | raise AttributeError(name) |
|
52 | raise AttributeError(name) | |
49 | return getattr(self._values, name) |
|
53 | return getattr(self._values, name) | |
50 |
|
54 |
@@ -3392,6 +3392,13 b' Test get function:' | |||||
3392 | hg: parse error: get() expects a dict as first argument |
|
3392 | hg: parse error: get() expects a dict as first argument | |
3393 | [255] |
|
3393 | [255] | |
3394 |
|
3394 | |||
|
3395 | Test json filter applied to hybrid object: | |||
|
3396 | ||||
|
3397 | $ hg log -r0 -T '{files|json}\n' | |||
|
3398 | ["a"] | |||
|
3399 | $ hg log -r0 -T '{extras|json}\n' | |||
|
3400 | {"branch": "default"} | |||
|
3401 | ||||
3395 | Test localdate(date, tz) function: |
|
3402 | Test localdate(date, tz) function: | |
3396 |
|
3403 | |||
3397 | $ TZ=JST-09 hg log -r0 -T '{date|localdate|isodate}\n' |
|
3404 | $ TZ=JST-09 hg log -r0 -T '{date|localdate|isodate}\n' |
General Comments 0
You need to be logged in to leave comments.
Login now