Index: grit/tool/postprocess_unittest.py |
=================================================================== |
--- grit/tool/postprocess_unittest.py (revision 0) |
+++ grit/tool/postprocess_unittest.py (revision 0) |
@@ -0,0 +1,63 @@ |
+#!/usr/bin/python2.4 |
+# Copyright (c) 2006-2008 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 test that checks postprocessing of files. |
+ Tests postprocessing by having the postprocessor |
+ modify the grd data tree, changing the message name attributes. |
+''' |
+ |
+import os |
+import re |
+import sys |
+if __name__ == '__main__': |
+ sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '..')) |
+ |
+import unittest |
+ |
+import grit.tool.postprocess_interface |
+from grit.tool import rc2grd |
+ |
+ |
+class PostProcessingUnittest(unittest.TestCase): |
+ |
+ def testPostProcessing(self): |
+ rctext = '''STRINGTABLE |
+BEGIN |
+ DUMMY_STRING_1 "String 1" |
+ // Some random description |
+ DUMMY_STRING_2 "This text was added during preprocessing" |
+END |
+ ''' |
+ tool = rc2grd.Rc2Grd() |
+ class DummyOpts(object): |
+ verbose = False |
+ extra_verbose = False |
+ tool.o = DummyOpts() |
+ tool.post_process = 'grit.tool.postprocess_unittest.DummyPostProcessor' |
+ result = tool.Process(rctext, '.\resource.rc') |
+ |
+ self.failUnless( |
+ result.children[2].children[2].children[0].attrs['name'] == 'SMART_STRING_1') |
+ self.failUnless( |
+ result.children[2].children[2].children[1].attrs['name'] == 'SMART_STRING_2') |
+ |
+class DummyPostProcessor(grit.tool.postprocess_interface.PostProcessor): |
+ ''' |
+ Post processing replaces all message name attributes containing "DUMMY" to |
+ "SMART". |
+ ''' |
+ def Process(self, rctext, rcpath, grdnode): |
+ smarter = re.compile(r'(DUMMY)(.*)') |
+ messages = grdnode.children[2].children[2] |
+ for node in messages.children: |
+ name_attr = node.attrs['name'] |
+ m = smarter.search(name_attr) |
+ if m: |
+ node.attrs['name'] = 'SMART' + m.group(2) |
+ return grdnode |
+ |
+if __name__ == '__main__': |
+ unittest.main() |
+ |
Property changes on: grit/tool/postprocess_unittest.py |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |