Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(816)

Side by Side Diff: grit/node/io_unittest.py

Issue 7994004: Initial source commit to grit-i18n project. (Closed) Base URL: http://grit-i18n.googlecode.com/svn/trunk/
Patch Set: Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « grit/node/io.py ('k') | grit/node/mapping.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(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()
OLDNEW
« no previous file with comments | « grit/node/io.py ('k') | grit/node/mapping.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698