1#! /bin/sh 2. "${srcdir=.}/init.sh"; path_prepend_ . ../src 3 4# Test range dependent checking of format strings with plural forms. 5 6# Take as example a plural formula which takes all values infinitely often. 7# Test: 1 - lack %d for value 0 - error 8# 2 - lack %d for value 0 but limited range such that only one n - ok 9# 3 - lack %d for value 1 - error 10# 4 - lack %d for value 1 but limited range such that multiple n - error 11 12cat <<\EOF > mf-17.po1 13# SOME DESCRIPTIVE TITLE. 14# Copyright (C) YEAR Free Software Foundation, Inc. 15# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 16# 17msgid "" 18msgstr "" 19"Project-Id-Version: GNU bison\n" 20"PO-Revision-Date: 2001-04-05 19:47+0200\n" 21"Last-Translator: ABC DEF <abc@gnu.uucp>\n" 22"Language-Team: test <test@li.org>\n" 23"Language: test\n" 24"MIME-Version: 1.0\n" 25"Content-Type: text/plain; charset=UTF-8\n" 26"Content-Transfer-Encoding: 8bit\n" 27"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 28 29#: ../roundup/date.py:851 30#, python-format 31msgid "1 %(number)s/4 hours" 32msgid_plural "1 %(number)s/4 hours" 33msgstr[0] "час с четвертью" 34msgstr[1] "час и %(number)s четверти" 35msgstr[2] "час и %(number)s четвертей" 36EOF 37 38: ${MSGFMT=msgfmt} 39${MSGFMT} --check -o /dev/null mf-17.po1 2>/dev/null 40test $? = 1 || { Exit 1; } 41 42cat <<\EOF > mf-17.po2 43# SOME DESCRIPTIVE TITLE. 44# Copyright (C) YEAR Free Software Foundation, Inc. 45# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 46# 47msgid "" 48msgstr "" 49"Project-Id-Version: GNU bison\n" 50"PO-Revision-Date: 2001-04-05 19:47+0200\n" 51"Last-Translator: ABC DEF <abc@gnu.uucp>\n" 52"Language-Team: test <test@li.org>\n" 53"Language: test\n" 54"MIME-Version: 1.0\n" 55"Content-Type: text/plain; charset=UTF-8\n" 56"Content-Transfer-Encoding: 8bit\n" 57"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 58 59#: ../roundup/date.py:851 60#, python-format, range: 1..3 61msgid "1 %(number)s/4 hours" 62msgid_plural "1 %(number)s/4 hours" 63msgstr[0] "час с четвертью" 64msgstr[1] "час и %(number)s четверти" 65msgstr[2] "час и %(number)s четвертей" 66EOF 67 68: ${MSGFMT=msgfmt} 69${MSGFMT} --check -o /dev/null mf-17.po2 || Exit 1 70 71cat <<\EOF > mf-17.po3 72# SOME DESCRIPTIVE TITLE. 73# Copyright (C) YEAR Free Software Foundation, Inc. 74# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 75# 76msgid "" 77msgstr "" 78"Project-Id-Version: GNU bison\n" 79"PO-Revision-Date: 2001-04-05 19:47+0200\n" 80"Last-Translator: ABC DEF <abc@gnu.uucp>\n" 81"Language-Team: test <test@li.org>\n" 82"Language: test\n" 83"MIME-Version: 1.0\n" 84"Content-Type: text/plain; charset=UTF-8\n" 85"Content-Transfer-Encoding: 8bit\n" 86"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 87 88#: ../roundup/date.py:851 89#, python-format 90msgid "1 %(number)s/4 hours" 91msgid_plural "1 %(number)s/4 hours" 92msgstr[0] "час и %(number)s четверти" 93msgstr[1] "час с четвертью" 94msgstr[2] "час и %(number)s четвертей" 95EOF 96 97: ${MSGFMT=msgfmt} 98${MSGFMT} --check -o /dev/null mf-17.po3 2>/dev/null 99test $? = 1 || { Exit 1; } 100 101cat <<\EOF > mf-17.po4 102# SOME DESCRIPTIVE TITLE. 103# Copyright (C) YEAR Free Software Foundation, Inc. 104# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 105# 106msgid "" 107msgstr "" 108"Project-Id-Version: GNU bison\n" 109"PO-Revision-Date: 2001-04-05 19:47+0200\n" 110"Last-Translator: ABC DEF <abc@gnu.uucp>\n" 111"Language-Team: test <test@li.org>\n" 112"Language: test\n" 113"MIME-Version: 1.0\n" 114"Content-Type: text/plain; charset=UTF-8\n" 115"Content-Transfer-Encoding: 8bit\n" 116"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" 117 118#: ../roundup/date.py:851 119#, python-format, range: 1..3 120msgid "1 %(number)s/4 hours" 121msgid_plural "1 %(number)s/4 hours" 122msgstr[0] "час и %(number)s четверти" 123msgstr[1] "час с четвертью" 124msgstr[2] "час и %(number)s четвертей" 125EOF 126 127: ${MSGFMT=msgfmt} 128${MSGFMT} --check -o /dev/null mf-17.po4 2>/dev/null 129test $? = 1 || { Exit 1; } 130 131exit $result 132