view tests/test-i18n.t @ 39239:0617a700ef7b

changegroup: change topics during generation Changegroup generation and consumption currently uses different sets of topics. Generation uses "bundling" and consumption uses the name of the thing being consumed. This commit makes the topic and unit names consistent on both ends. The reason I chose to change the generation side is because when "bundling" is used for 3 different stages, it is unclear which stage of changegroup generation we're in. By making the topics "changesets," "manifests," and "files," one can get a better feel for how far along in the bundling process we are. Differential Revision: https://phab.mercurial-scm.org/D4272
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 10 Aug 2018 13:43:26 -0700
parents 7bc33d677c0c
children 5abc47d4ca6b
line wrap: on
line source

(Translations are optional)

#if gettext no-outer-repo

Test that translations are compiled and installed correctly.

Default encoding in tests is "ascii" and the translation is encoded
using the "replace" error handler:

  $ LANGUAGE=pt_BR hg tip
  abortado: n?o foi encontrado um reposit?rio em '$TESTTMP' (.hg n?o encontrado)!
  [255]

Using a more accommodating encoding:

  $ HGENCODING=UTF-8 LANGUAGE=pt_BR hg tip
  abortado: n\xc3\xa3o foi encontrado um reposit\xc3\xb3rio em '$TESTTMP' (.hg n\xc3\xa3o encontrado)! (esc)
  [255]

Different encoding:

  $ HGENCODING=Latin-1 LANGUAGE=pt_BR hg tip
  abortado: n\xe3o foi encontrado um reposit\xf3rio em '$TESTTMP' (.hg n\xe3o encontrado)! (esc)
  [255]

#endif

#if gettext

Test keyword search in translated help text:

  $ HGENCODING=UTF-8 LANGUAGE=de hg help -k Aktualisiert
  Themen:
  
   subrepos Unterarchive
  
  Befehle:
  
   pull   Ruft \xc3\x84nderungen von der angegebenen Quelle ab (esc)
   update Aktualisiert das Arbeitsverzeichnis (oder wechselt die Version)

#endif

Check Mercurial specific translation problems in each *.po files, and
tool itself by doctest

  $ cd "$TESTDIR"/../i18n
  $ $PYTHON check-translation.py *.po
  $ $PYTHON check-translation.py --doctest
  $ cd $TESTTMP

#if gettext

Check i18n cache isn't reused after encoding change:

  $ cat > $TESTTMP/encodingchange.py << EOF
  > from mercurial.i18n import _
  > from mercurial import encoding, registrar
  > cmdtable = {}
  > command = registrar.command(cmdtable)
  > @command(b'encodingchange', norepo=True)
  > def encodingchange(ui):
  >     for encode in (b'ascii', b'UTF-8', b'ascii', b'UTF-8'):
  >         encoding.encoding = encode
  >         ui.write(b'%s\n' % _(b'(EXPERIMENTAL)'))
  > EOF

  $ LANGUAGE=ja hg --config extensions.encodingchange=$TESTTMP/encodingchange.py encodingchange
  (?????)
  (\xe5\xae\x9f\xe9\xa8\x93\xe7\x9a\x84\xe5\xae\x9f\xe8\xa3\x85) (esc)
  (?????)
  (\xe5\xae\x9f\xe9\xa8\x93\xe7\x9a\x84\xe5\xae\x9f\xe8\xa3\x85) (esc)

#endif