tests/test-i18n.t
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
Mon, 18 Nov 2024 15:42:09 +0100
changeset 52314 33d8cb64e9da
parent 45911 8939062597f0
permissions -rw-r--r--
rust: fix darwin build
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21024
diff changeset
     1
(Translations are optional)
13442
bb107a31820e test-i18n: make test conditional on msgfmt availability
Martin Geisler <mg@lazybytes.net>
parents: 13414
diff changeset
     2
26252
a3edce86f430 test-i18n: always run non gettext tests
timeless@mozdev.org
parents: 22046
diff changeset
     3
#if gettext no-outer-repo
17015
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16981
diff changeset
     4
13414
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
     5
Test that translations are compiled and installed correctly.
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
     6
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
     7
Default encoding in tests is "ascii" and the translation is encoded
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
     8
using the "replace" error handler:
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
     9
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    10
  $ LANGUAGE=pt_BR hg tip
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 39707
diff changeset
    11
  abortado: n?o foi encontrado um reposit?rio em '$TESTTMP' (.hg n?o encontrado)
45911
8939062597f0 errors: raise InputError on bad repo arguments
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
    12
  [10]
13414
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    13
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 20338
diff changeset
    14
Using a more accommodating encoding:
13414
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    15
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    16
  $ HGENCODING=UTF-8 LANGUAGE=pt_BR hg tip
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 39707
diff changeset
    17
  abortado: n\xc3\xa3o foi encontrado um reposit\xc3\xb3rio em '$TESTTMP' (.hg n\xc3\xa3o encontrado) (esc)
45911
8939062597f0 errors: raise InputError on bad repo arguments
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
    18
  [10]
13414
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    19
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    20
Different encoding:
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    21
a0e49e129151 test-i18n: test translations
Martin Geisler <mg@aragost.com>
parents:
diff changeset
    22
  $ HGENCODING=Latin-1 LANGUAGE=pt_BR hg tip
45906
95c4cca641f6 errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents: 39707
diff changeset
    23
  abortado: n\xe3o foi encontrado um reposit\xf3rio em '$TESTTMP' (.hg n\xe3o encontrado) (esc)
45911
8939062597f0 errors: raise InputError on bad repo arguments
Martin von Zweigbergk <martinvonz@google.com>
parents: 45906
diff changeset
    24
  [10]
16895
430714e2a876 help: test keyword search in translated text.
Olav Reinert <seroton10@gmail.com>
parents: 14920
diff changeset
    25
17015
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16981
diff changeset
    26
#endif
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16981
diff changeset
    27
26252
a3edce86f430 test-i18n: always run non gettext tests
timeless@mozdev.org
parents: 22046
diff changeset
    28
#if gettext
a3edce86f430 test-i18n: always run non gettext tests
timeless@mozdev.org
parents: 22046
diff changeset
    29
16895
430714e2a876 help: test keyword search in translated text.
Olav Reinert <seroton10@gmail.com>
parents: 14920
diff changeset
    30
Test keyword search in translated help text:
430714e2a876 help: test keyword search in translated text.
Olav Reinert <seroton10@gmail.com>
parents: 14920
diff changeset
    31
30943
a0e4df5a4d5d tests: update test-i18n.t to not depend on the pager extension
Augie Fackler <augie@google.com>
parents: 26252
diff changeset
    32
  $ HGENCODING=UTF-8 LANGUAGE=de hg help -k Aktualisiert
20338
b9e7af5bd5e5 i18n-de: update many fuzzy entries and translate some simple ones
Simon Heimberg <simohe@besonet.ch>
parents: 20152
diff changeset
    33
  Themen:
16895
430714e2a876 help: test keyword search in translated text.
Olav Reinert <seroton10@gmail.com>
parents: 14920
diff changeset
    34
  
30943
a0e4df5a4d5d tests: update test-i18n.t to not depend on the pager extension
Augie Fackler <augie@google.com>
parents: 26252
diff changeset
    35
   subrepos Unterarchive
16895
430714e2a876 help: test keyword search in translated text.
Olav Reinert <seroton10@gmail.com>
parents: 14920
diff changeset
    36
  
30943
a0e4df5a4d5d tests: update test-i18n.t to not depend on the pager extension
Augie Fackler <augie@google.com>
parents: 26252
diff changeset
    37
  Befehle:
16895
430714e2a876 help: test keyword search in translated text.
Olav Reinert <seroton10@gmail.com>
parents: 14920
diff changeset
    38
  
30943
a0e4df5a4d5d tests: update test-i18n.t to not depend on the pager extension
Augie Fackler <augie@google.com>
parents: 26252
diff changeset
    39
   pull   Ruft \xc3\x84nderungen von der angegebenen Quelle ab (esc)
a0e4df5a4d5d tests: update test-i18n.t to not depend on the pager extension
Augie Fackler <augie@google.com>
parents: 26252
diff changeset
    40
   update Aktualisiert das Arbeitsverzeichnis (oder wechselt die Version)
16895
430714e2a876 help: test keyword search in translated text.
Olav Reinert <seroton10@gmail.com>
parents: 14920
diff changeset
    41
26252
a3edce86f430 test-i18n: always run non gettext tests
timeless@mozdev.org
parents: 22046
diff changeset
    42
#endif
a3edce86f430 test-i18n: always run non gettext tests
timeless@mozdev.org
parents: 22046
diff changeset
    43
20152
84939b728749 i18n: add the tool to check Mercurial specific translation problems in *.po
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17015
diff changeset
    44
Check Mercurial specific translation problems in each *.po files, and
84939b728749 i18n: add the tool to check Mercurial specific translation problems in *.po
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17015
diff changeset
    45
tool itself by doctest
84939b728749 i18n: add the tool to check Mercurial specific translation problems in *.po
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17015
diff changeset
    46
84939b728749 i18n: add the tool to check Mercurial specific translation problems in *.po
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17015
diff changeset
    47
  $ cd "$TESTDIR"/../i18n
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36645
diff changeset
    48
  $ "$PYTHON" check-translation.py *.po
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36645
diff changeset
    49
  $ "$PYTHON" check-translation.py --doctest
20152
84939b728749 i18n: add the tool to check Mercurial specific translation problems in *.po
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 17015
diff changeset
    50
  $ cd $TESTTMP
34660
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    51
34688
a88166a4dce3 test-i18n: guard gettext test appropriately
Yuya Nishihara <yuya@tcha.org>
parents: 34660
diff changeset
    52
#if gettext
a88166a4dce3 test-i18n: guard gettext test appropriately
Yuya Nishihara <yuya@tcha.org>
parents: 34660
diff changeset
    53
34660
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    54
Check i18n cache isn't reused after encoding change:
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    55
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    56
  $ cat > $TESTTMP/encodingchange.py << EOF
36645
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 34688
diff changeset
    57
  > from mercurial.i18n import _
34660
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    58
  > from mercurial import encoding, registrar
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    59
  > cmdtable = {}
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    60
  > command = registrar.command(cmdtable)
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    61
  > @command(b'encodingchange', norepo=True)
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    62
  > def encodingchange(ui):
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    63
  >     for encode in (b'ascii', b'UTF-8', b'ascii', b'UTF-8'):
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    64
  >         encoding.encoding = encode
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    65
  >         ui.write(b'%s\n' % _(b'(EXPERIMENTAL)'))
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    66
  > EOF
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    67
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    68
  $ LANGUAGE=ja hg --config extensions.encodingchange=$TESTTMP/encodingchange.py encodingchange
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    69
  (?????)
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    70
  (\xe5\xae\x9f\xe9\xa8\x93\xe7\x9a\x84\xe5\xae\x9f\xe8\xa3\x85) (esc)
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    71
  (?????)
d00ec62d156f i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org>
parents: 32940
diff changeset
    72
  (\xe5\xae\x9f\xe9\xa8\x93\xe7\x9a\x84\xe5\xae\x9f\xe8\xa3\x85) (esc)
34688
a88166a4dce3 test-i18n: guard gettext test appropriately
Yuya Nishihara <yuya@tcha.org>
parents: 34660
diff changeset
    73
a88166a4dce3 test-i18n: guard gettext test appropriately
Yuya Nishihara <yuya@tcha.org>
parents: 34660
diff changeset
    74
#endif