OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 '''Unit tests for grit.format.resource_map''' | 6 '''Unit tests for grit.format.resource_map''' |
7 | 7 |
8 import os | 8 import os |
9 import sys | 9 import sys |
10 if __name__ == '__main__': | 10 if __name__ == '__main__': |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 const GritResourceMap kTheRcHeader[] = { | 87 const GritResourceMap kTheRcHeader[] = { |
88 {"grit/testdata/klonk.rc", IDC_KLONKMENU}, | 88 {"grit/testdata/klonk.rc", IDC_KLONKMENU}, |
89 {"abc", IDS_FIRSTPRESENT}, | 89 {"abc", IDS_FIRSTPRESENT}, |
90 {"def", IDS_MISSING}, | 90 {"def", IDS_MISSING}, |
91 {"ghi", IDS_LANGUAGESPECIFIC}, | 91 {"ghi", IDS_LANGUAGESPECIFIC}, |
92 {"jkl", IDS_LANGUAGESPECIFIC}, | 92 {"jkl", IDS_LANGUAGESPECIFIC}, |
93 {"mno", IDS_THIRDPRESENT}, | 93 {"mno", IDS_THIRDPRESENT}, |
94 }; | 94 }; |
95 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output) | 95 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output) |
96 | 96 |
| 97 def testFormatStringResourceMap(self): |
| 98 grd = grd_reader.Parse(StringIO.StringIO( |
| 99 '''<?xml version="1.0" encoding="UTF-8"?> |
| 100 <grit latest_public_release="2" source_lang_id="en" current_release="3" |
| 101 base_dir="."> |
| 102 <outputs> |
| 103 <output type="rc_header" filename="the_rc_header.h" /> |
| 104 <output type="resource_map_header" filename="the_rc_map_header.h" /> |
| 105 <output type="resource_map_source" filename="the_rc_map_source.cc" /> |
| 106 </outputs> |
| 107 <release seq="1" allow_pseudo="false"> |
| 108 <messages fallback_to_english="true"> |
| 109 <message name="IDS_PRODUCT_NAME" desc="The application name"> |
| 110 Application |
| 111 </message> |
| 112 <if expr="1"> |
| 113 <message name="IDS_DEFAULT_TAB_TITLE_TITLE_CASE" |
| 114 desc="In Title Case: The default title in a tab."> |
| 115 New Tab |
| 116 </message> |
| 117 </if> |
| 118 <if expr="0"> |
| 119 <message name="IDS_DEFAULT_TAB_TITLE" |
| 120 desc="The default title in a tab."> |
| 121 New tab |
| 122 </message> |
| 123 </if> |
| 124 </messages> |
| 125 </release> |
| 126 </grit>'''), util.PathFromRoot('.')) |
| 127 grd.SetOutputLanguage('en') |
| 128 grd.RunGatherers() |
| 129 output = util.StripBlankLinesAndComments(''.join( |
| 130 resource_map.GetFormatter('resource_map_header')(grd, 'en', '.'))) |
| 131 self.assertEqual('''\ |
| 132 #include <stddef.h> |
| 133 #ifndef GRIT_RESOURCE_MAP_STRUCT_ |
| 134 #define GRIT_RESOURCE_MAP_STRUCT_ |
| 135 struct GritResourceMap { |
| 136 const char* const name; |
| 137 int value; |
| 138 }; |
| 139 #endif // GRIT_RESOURCE_MAP_STRUCT_ |
| 140 extern const GritResourceMap kTheRcHeader[]; |
| 141 extern const size_t kTheRcHeaderSize;''', output) |
| 142 output = util.StripBlankLinesAndComments(''.join( |
| 143 resource_map.GetFormatter('resource_map_source')(grd, 'en', '.'))) |
| 144 self.assertEqual('''\ |
| 145 #include "the_rc_map_header.h" |
| 146 #include "base/basictypes.h" |
| 147 #include "the_rc_header.h" |
| 148 const GritResourceMap kTheRcHeader[] = { |
| 149 {"IDS_PRODUCT_NAME", IDS_PRODUCT_NAME}, |
| 150 {"IDS_DEFAULT_TAB_TITLE_TITLE_CASE", IDS_DEFAULT_TAB_TITLE_TITLE_CASE}, |
| 151 }; |
| 152 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output) |
| 153 |
97 | 154 |
98 if __name__ == '__main__': | 155 if __name__ == '__main__': |
99 unittest.main() | 156 unittest.main() |
OLD | NEW |