Index: grit/tool/transl2tc_unittest.py |
=================================================================== |
--- grit/tool/transl2tc_unittest.py (revision 202) |
+++ grit/tool/transl2tc_unittest.py (working copy) |
@@ -1,131 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-'''Unit tests for the 'grit transl2tc' tool.''' |
- |
- |
-import os |
-import sys |
-if __name__ == '__main__': |
- sys.path.append(os.path.join(os.path.dirname(__file__), '../..')) |
- |
-import StringIO |
-import unittest |
- |
-from grit.tool import transl2tc |
-from grit import grd_reader |
-from grit import util |
- |
- |
-def MakeOptions(): |
- from grit import grit_runner |
- return grit_runner.Options() |
- |
- |
-class TranslationToTcUnittest(unittest.TestCase): |
- |
- def testOutput(self): |
- buf = StringIO.StringIO() |
- tool = transl2tc.TranslationToTc() |
- translations = [ |
- ['1', 'Hello USERNAME, how are you?'], |
- ['12', 'Howdie doodie!'], |
- ['123', 'Hello\n\nthere\n\nhow are you?'], |
- ['1234', 'Hello is > goodbye but < howdie pardner'], |
- ] |
- tool.WriteTranslations(buf, translations) |
- output = buf.getvalue() |
- self.failUnless(output.strip() == ''' |
-1 Hello USERNAME, how are you? |
-12 Howdie doodie! |
-123 Hello |
- |
-there |
- |
-how are you? |
-1234 Hello is > goodbye but < howdie pardner |
-'''.strip()) |
- |
- def testExtractTranslations(self): |
- path = util.PathFromRoot('grit/testdata') |
- current_grd = grd_reader.Parse(StringIO.StringIO('''<?xml version="1.0" encoding="UTF-8"?> |
- <grit latest_public_release="2" source_lang_id="en-US" current_release="3" base_dir="."> |
- <release seq="3"> |
- <messages> |
- <message name="IDS_SIMPLE"> |
- One |
- </message> |
- <message name="IDS_PLACEHOLDER"> |
- <ph name="NUMBIRDS">%s<ex>3</ex></ph> birds |
- </message> |
- <message name="IDS_PLACEHOLDERS"> |
- <ph name="ITEM">%d<ex>1</ex></ph> of <ph name="COUNT">%d<ex>3</ex></ph> |
- </message> |
- <message name="IDS_REORDERED_PLACEHOLDERS"> |
- <ph name="ITEM">$1<ex>1</ex></ph> of <ph name="COUNT">$2<ex>3</ex></ph> |
- </message> |
- <message name="IDS_CHANGED"> |
- This is the new version |
- </message> |
- <message name="IDS_TWIN_1">Hello</message> |
- <message name="IDS_TWIN_2">Hello</message> |
- <message name="IDS_NOT_TRANSLATEABLE" translateable="false">:</message> |
- <message name="IDS_LONGER_TRANSLATED"> |
- Removed document <ph name="FILENAME">$1<ex>c:\temp</ex></ph> |
- </message> |
- <message name="IDS_DIFFERENT_TWIN_1">Howdie</message> |
- <message name="IDS_DIFFERENT_TWIN_2">Howdie</message> |
- </messages> |
- <structures> |
- <structure type="dialog" name="IDD_ABOUTBOX" encoding="utf-16" file="klonk.rc" /> |
- <structure type="menu" name="IDC_KLONKMENU" encoding="utf-16" file="klonk.rc" /> |
- </structures> |
- </release> |
- </grit>'''), path) |
- current_grd.SetOutputLanguage('en') |
- current_grd.RunGatherers() |
- |
- source_rc_path = util.PathFromRoot('grit/testdata/source.rc') |
- source_rc = util.ReadFile(source_rc_path, util.RAW_TEXT) |
- transl_rc_path = util.PathFromRoot('grit/testdata/transl.rc') |
- transl_rc = util.ReadFile(transl_rc_path, util.RAW_TEXT) |
- |
- tool = transl2tc.TranslationToTc() |
- output_buf = StringIO.StringIO() |
- globopts = MakeOptions() |
- globopts.verbose = True |
- globopts.output_stream = output_buf |
- tool.Setup(globopts, []) |
- translations = tool.ExtractTranslations(current_grd, |
- source_rc, source_rc_path, |
- transl_rc, transl_rc_path) |
- |
- values = translations.values() |
- output = output_buf.getvalue() |
- |
- self.failUnless('Ein' in values) |
- self.failUnless('NUMBIRDS Vogeln' in values) |
- self.failUnless('ITEM von COUNT' in values) |
- self.failUnless(values.count('Hallo') == 1) |
- self.failIf('Dass war die alte Version' in values) |
- self.failIf(':' in values) |
- self.failIf('Dokument FILENAME ist entfernt worden' in values) |
- self.failIf('Nicht verwendet' in values) |
- self.failUnless(('Howdie' in values or 'Hallo sagt man' in values) and not |
- ('Howdie' in values and 'Hallo sagt man' in values)) |
- |
- self.failUnless('XX01XX&SkraXX02XX&HaettaXX03XXThetta er "Klonk" sem eg fylaXX04XXgonkurinnXX05XXKlonk && er [good]XX06XX&HjalpXX07XX&Um...XX08XX' in values) |
- |
- self.failUnless('I lagi' in values) |
- |
- self.failUnless(output.count('Structure of message IDS_REORDERED_PLACEHOLDERS has changed')) |
- self.failUnless(output.count('Message IDS_CHANGED has changed')) |
- self.failUnless(output.count('Structure of message IDS_LONGER_TRANSLATED has changed')) |
- self.failUnless(output.count('Two different translations for "Howdie"')) |
- self.failUnless(output.count('IDD_DIFFERENT_LENGTH_IN_TRANSL has wrong # of cliques')) |
- |
- |
-if __name__ == '__main__': |
- unittest.main() |