tests/test-bad-pull.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 27 Aug 2011 04:56:12 +0900
branchstable
changeset 15066 24efa83d81cb
parent 12376 97ffc68f71d3
child 15446 c5c9ca3719f9
permissions -rw-r--r--
i18n: calculate terminal columns by width information of each characters neither number of 'bytes' in any encoding nor 'characters' is appropriate to calculate terminal columns for specified string. this patch modifies MBTextWrapper for: - overriding '_wrap_chunks()' to make it use not built-in 'len()' but 'encoding.colwidth()' for columns of string - fixing '_cutdown()' to make it use 'encoding.colwidth()' instead of local, similar but incorrect implementation this patch also modifies 'encoding.py': - dividing 'colwith()' into 2 pieces: one for calculation columns of specified UNICODE string, and another for rest part of original one. the former is used from MBTextWrapper in 'util.py'. - preventing 'colwidth()' from evaluating HGENCODINGAMBIGUOUS configuration per each invocation: 'unicodedata.east_asian_width' checking is kept intact for reducing startup cost.

  $ hg clone http://localhost:$HGPORT/ copy
  abort: error: Connection refused
  [255]

  $ test -d copy || echo copy: No such file or directory
  copy: No such file or directory

  $ cat > dumb.py <<EOF
  > import BaseHTTPServer, SimpleHTTPServer, os, signal
  > def run(server_class=BaseHTTPServer.HTTPServer,
  >         handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
  >     server_address = ('localhost', int(os.environ['HGPORT']))
  >     httpd = server_class(server_address, handler_class)
  >     httpd.serve_forever()
  > signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
  > run()
  > EOF

  $ python dumb.py 2>/dev/null &
  $ echo $! >> $DAEMON_PIDS

give the server some time to start running

  $ sleep 1

  $ hg clone http://localhost:$HGPORT/foo copy2 2>&1
  abort: HTTP Error 404: * (glob)
  [255]

  $ kill $!