OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/python2.4 |
| 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. |
| 5 |
| 6 '''Unit tests for io.FileNode''' |
| 7 |
| 8 import os |
| 9 import sys |
| 10 if __name__ == '__main__': |
| 11 sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '../..')) |
| 12 |
| 13 import os |
| 14 import StringIO |
| 15 import unittest |
| 16 |
| 17 from grit.node import misc |
| 18 from grit.node import io |
| 19 from grit.node import empty |
| 20 from grit import grd_reader |
| 21 from grit import util |
| 22 |
| 23 |
| 24 class FileNodeUnittest(unittest.TestCase): |
| 25 def testGetPath(self): |
| 26 root = misc.GritNode() |
| 27 root.StartParsing(u'grit', None) |
| 28 root.HandleAttribute(u'latest_public_release', u'0') |
| 29 root.HandleAttribute(u'current_release', u'1') |
| 30 root.HandleAttribute(u'base_dir', ur'..\resource') |
| 31 translations = empty.TranslationsNode() |
| 32 translations.StartParsing(u'translations', root) |
| 33 root.AddChild(translations) |
| 34 file_node = io.FileNode() |
| 35 file_node.StartParsing(u'file', translations) |
| 36 file_node.HandleAttribute(u'path', ur'flugel\kugel.pdf') |
| 37 translations.AddChild(file_node) |
| 38 root.EndParsing() |
| 39 |
| 40 self.failUnless(file_node.GetFilePath() == |
| 41 util.normpath( |
| 42 os.path.join(ur'../resource', ur'flugel/kugel.pdf'))) |
| 43 |
| 44 def testLoadTranslations(self): |
| 45 grd = grd_reader.Parse(StringIO.StringIO('''<?xml version="1.0" encoding="UT
F-8"?> |
| 46 <grit latest_public_release="2" source_lang_id="en-US" current_release="3"
base_dir="."> |
| 47 <translations> |
| 48 <file path="generated_resources_fr.xtb" lang="fr" /> |
| 49 </translations> |
| 50 <release seq="3"> |
| 51 <messages> |
| 52 <message name="ID_HELLO">Hello!</message> |
| 53 <message name="ID_HELLO_USER">Hello <ph name="USERNAME">%s<ex>Joi</e
x></ph></message> |
| 54 </messages> |
| 55 </release> |
| 56 </grit>'''), util.PathFromRoot('grit/testdata')) |
| 57 grd.RunGatherers(recursive=True) |
| 58 self.failUnless(True) |
| 59 |
| 60 def testIffyness(self): |
| 61 grd = grd_reader.Parse(StringIO.StringIO('''<?xml version="1.0" encoding="UT
F-8"?> |
| 62 <grit latest_public_release="2" source_lang_id="en-US" current_release="3"
base_dir="."> |
| 63 <translations> |
| 64 <if expr="lang == 'fr'"> |
| 65 <file path="generated_resources_fr.xtb" lang="fr" /> |
| 66 </if> |
| 67 </translations> |
| 68 <release seq="3"> |
| 69 <messages> |
| 70 <message name="ID_HELLO">Hello!</message> |
| 71 <message name="ID_HELLO_USER">Hello <ph name="USERNAME">%s<ex>Joi</e
x></ph></message> |
| 72 </messages> |
| 73 </release> |
| 74 </grit>'''), util.PathFromRoot('grit/testdata')) |
| 75 grd.SetOutputContext('en', {}) |
| 76 grd.RunGatherers(recursive=True) |
| 77 |
| 78 grd.SetOutputContext('fr', {}) |
| 79 grd.RunGatherers(recursive=True) |
| 80 |
| 81 |
| 82 |
| 83 if __name__ == '__main__': |
| 84 unittest.main() |
OLD | NEW |