tests/printrepr.py
author Steve Losh <steve@stevelosh.com>
Wed, 18 Aug 2010 18:18:26 -0400
changeset 11988 8380ed691df8
parent 10263 25e572394f5c
permissions -rwxr-xr-x
util: add an interpolate() function to for replacing multiple values util.interpolate can be used to replace multiple items in a string all at once (and optionally apply a function to the replacement), without worrying about recursing: >>> import util >>> s = '$foo, $spam' >>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s) 'bar, eggs' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s) 'spam, foo' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper()) 'SPAM, FOO' The patch also changes filemerge.py to use this new function.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8445
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     1
#!/usr/bin/env python
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     2
#
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     3
# Copyright 2009 Matt Mackall <mpm@selenic.com> and others
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     4
#
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     5
# This software may be used and distributed according to the terms of the
10263
25e572394f5c Update license to GPLv2+
Matt Mackall <mpm@selenic.com>
parents: 8448
diff changeset
     6
# GNU General Public License version 2 or any later version.
8445
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     7
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     8
"""prints repr(sys.stdin) but preserves newlines in input"""
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     9
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    10
import sys
0a06ae261392 tests: new helper for tests with binary output
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    11
print repr(sys.stdin.read())[1:-1].replace('\\n', '\n'),