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

Unified Diff: grit/gather/rc_unittest.py

Issue 1442863002: Remove contents of grit's SVN repository. (Closed) Base URL: http://grit-i18n.googlecode.com/svn/trunk/
Patch Set: Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « grit/gather/rc.py ('k') | grit/gather/regexp.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: grit/gather/rc_unittest.py
===================================================================
--- grit/gather/rc_unittest.py (revision 202)
+++ grit/gather/rc_unittest.py (working copy)
@@ -1,370 +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 grit.gather.rc'''
-
-
-import os
-import sys
-if __name__ == '__main__':
- sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
-
-import unittest
-import StringIO
-
-from grit.gather import rc
-from grit import util
-
-
-class RcUnittest(unittest.TestCase):
-
- part_we_want = '''IDC_KLONKACC ACCELERATORS
-BEGIN
- "?", IDM_ABOUT, ASCII, ALT
- "/", IDM_ABOUT, ASCII, ALT
-END'''
-
- def testSectionFromFile(self):
- buf = '''IDC_SOMETHINGELSE BINGO
-BEGIN
- BLA BLA
- BLA BLA
-END
-%s
-
-IDC_KLONK BINGOBONGO
-BEGIN
- HONGO KONGO
-END
-''' % self.part_we_want
-
- f = StringIO.StringIO(buf)
-
- out = rc.Section(f, 'IDC_KLONKACC')
- out.ReadSection()
- self.failUnless(out.GetText() == self.part_we_want)
-
- out = rc.Section(util.PathFromRoot(r'grit/testdata/klonk.rc'),
- 'IDC_KLONKACC',
- encoding='utf-16')
- out.ReadSection()
- out_text = out.GetText().replace('\t', '')
- out_text = out_text.replace(' ', '')
- self.part_we_want = self.part_we_want.replace(' ', '')
- self.failUnless(out_text.strip() == self.part_we_want.strip())
-
-
- def testDialog(self):
- dlg = rc.Dialog(StringIO.StringIO('''IDD_ABOUTBOX DIALOGEX 22, 17, 230, 75
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "System", 0, 0, 0x0
-BEGIN
- ICON IDI_KLONK,IDC_MYICON,14,9,20,20
- LTEXT "klonk Version ""yibbee"" 1.0",IDC_STATIC,49,10,119,8,
- SS_NOPREFIX
- LTEXT "Copyright (C) 2005",IDC_STATIC,49,20,119,8
- DEFPUSHBUTTON "OK",IDOK,195,6,30,11,WS_GROUP
- CONTROL "Jack ""Black"" Daniels",IDC_RADIO1,"Button",
- BS_AUTORADIOBUTTON,46,51,84,10
- // try a line where the ID is on the continuation line
- LTEXT "blablablabla blablabla blablablablablablablabla blablabla",
- ID_SMURF, whatever...
-END
-'''), 'IDD_ABOUTBOX')
- dlg.Parse()
- self.failUnless(len(dlg.GetTextualIds()) == 7)
- self.failUnless(len(dlg.GetCliques()) == 6)
- self.failUnless(dlg.GetCliques()[1].GetMessage().GetRealContent() ==
- 'klonk Version "yibbee" 1.0')
-
- transl = dlg.Translate('en')
- self.failUnless(transl.strip() == dlg.GetText().strip())
-
- def testAlternateSkeleton(self):
- dlg = rc.Dialog(StringIO.StringIO('''IDD_ABOUTBOX DIALOGEX 22, 17, 230, 75
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "System", 0, 0, 0x0
-BEGIN
- LTEXT "Yipee skippy",IDC_STATIC,49,10,119,8,
- SS_NOPREFIX
-END
-'''), 'IDD_ABOUTBOX')
- dlg.Parse()
-
- alt_dlg = rc.Dialog(StringIO.StringIO('''IDD_ABOUTBOX DIALOGEX 040704, 17, 230, 75
-STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION "XXXXXXXXX"
-FONT 8, "System", 0, 0, 0x0
-BEGIN
- LTEXT "XXXXXXXXXXXXXXXXX",IDC_STATIC,110978,10,119,8,
- SS_NOPREFIX
-END
-'''), 'IDD_ABOUTBOX')
- alt_dlg.Parse()
-
- transl = dlg.Translate('en', skeleton_gatherer=alt_dlg)
- self.failUnless(transl.count('040704') and
- transl.count('110978'))
- self.failUnless(transl.count('Yipee skippy'))
-
- def testMenu(self):
- menu = rc.Menu(StringIO.StringIO('''IDC_KLONK MENU
-BEGIN
- POPUP "&File """
- BEGIN
- MENUITEM "E&xit", IDM_EXIT
- MENUITEM "This be ""Klonk"" me like", ID_FILE_THISBE
- POPUP "gonk"
- BEGIN
- MENUITEM "Klonk && is ""good""", ID_GONK_KLONKIS
- END
- MENUITEM "This is a very long menu caption to try to see if we can make the ID go to a continuation line, blablabla blablabla bla blabla blablabla blablabla blablabla blablabla...",
- ID_FILE_THISISAVERYLONGMENUCAPTIONTOTRYTOSEEIFWECANMAKETHEIDGOTOACONTINUATIONLINE
- END
- POPUP "&Help"
- BEGIN
- MENUITEM "&About ...", IDM_ABOUT
- END
-END'''), 'IDC_KLONK')
-
- menu.Parse()
- self.failUnless(len(menu.GetTextualIds()) == 6)
- self.failUnless(len(menu.GetCliques()) == 1)
- self.failUnless(len(menu.GetCliques()[0].GetMessage().GetPlaceholders()) ==
- 9)
-
- transl = menu.Translate('en')
- self.failUnless(transl.strip() == menu.GetText().strip())
-
- def testVersion(self):
- version = rc.Version(StringIO.StringIO('''
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904e4"
- BEGIN
- VALUE "CompanyName", "TODO: <Company name>"
- VALUE "FileDescription", "TODO: <File description>"
- VALUE "FileVersion", "1.0.0.1"
- VALUE "LegalCopyright", "TODO: (c) <Company name>. All rights reserved."
- VALUE "InternalName", "res_format_test.dll"
- VALUE "OriginalFilename", "res_format_test.dll"
- VALUE "ProductName", "TODO: <Product name>"
- VALUE "ProductVersion", "1.0.0.1"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1252
- END
-END
-'''.strip()), 'VS_VERSION_INFO')
- version.Parse()
- self.failUnless(len(version.GetTextualIds()) == 1)
- self.failUnless(len(version.GetCliques()) == 4)
-
- transl = version.Translate('en')
- self.failUnless(transl.strip() == version.GetText().strip())
-
-
- def testRegressionDialogBox(self):
- dialog = rc.Dialog(StringIO.StringIO('''
-IDD_SIDEBAR_WEATHER_PANEL_PROPPAGE DIALOGEX 0, 0, 205, 157
-STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- EDITTEXT IDC_SIDEBAR_WEATHER_NEW_CITY,3,27,112,14,ES_AUTOHSCROLL
- DEFPUSHBUTTON "Add Location",IDC_SIDEBAR_WEATHER_ADD,119,27,50,14
- LISTBOX IDC_SIDEBAR_WEATHER_CURR_CITIES,3,48,127,89,
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "Move Up",IDC_SIDEBAR_WEATHER_MOVE_UP,134,104,50,14
- PUSHBUTTON "Move Down",IDC_SIDEBAR_WEATHER_MOVE_DOWN,134,121,50,14
- PUSHBUTTON "Remove",IDC_SIDEBAR_WEATHER_DELETE,134,48,50,14
- LTEXT "To see current weather conditions and forecasts in the USA, enter the zip code (example: 94043) or city and state (example: Mountain View, CA).",
- IDC_STATIC,3,0,199,25
- CONTROL "Fahrenheit",IDC_SIDEBAR_WEATHER_FAHRENHEIT,"Button",
- BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,3,144,51,10
- CONTROL "Celsius",IDC_SIDEBAR_WEATHER_CELSIUS,"Button",
- BS_AUTORADIOBUTTON,57,144,38,10
-END'''.strip()), 'IDD_SIDEBAR_WEATHER_PANEL_PROPPAGE')
- dialog.Parse()
- self.failUnless(len(dialog.GetTextualIds()) == 10)
-
-
- def testRegressionDialogBox2(self):
- dialog = rc.Dialog(StringIO.StringIO('''
-IDD_SIDEBAR_EMAIL_PANEL_PROPPAGE DIALOG DISCARDABLE 0, 0, 264, 220
-STYLE WS_CHILD
-FONT 8, "MS Shell Dlg"
-BEGIN
- GROUPBOX "Email Filters",IDC_STATIC,7,3,250,190
- LTEXT "Click Add Filter to create the email filter.",IDC_STATIC,16,41,130,9
- PUSHBUTTON "Add Filter...",IDC_SIDEBAR_EMAIL_ADD_FILTER,196,38,50,14
- PUSHBUTTON "Remove",IDC_SIDEBAR_EMAIL_REMOVE,196,174,50,14
- PUSHBUTTON "", IDC_SIDEBAR_EMAIL_HIDDEN, 200, 178, 5, 5, NOT WS_VISIBLE
- LISTBOX IDC_SIDEBAR_EMAIL_LIST,16,60,230,108,
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
- LTEXT "You can prevent certain emails from showing up in the sidebar with a filter.",
- IDC_STATIC,16,18,234,18
-END'''.strip()), 'IDD_SIDEBAR_EMAIL_PANEL_PROPPAGE')
- dialog.Parse()
- self.failUnless('IDC_SIDEBAR_EMAIL_HIDDEN' in dialog.GetTextualIds())
-
-
- def testRegressionMenuId(self):
- menu = rc.Menu(StringIO.StringIO('''
-IDR_HYPERMENU_FOLDER MENU
-BEGIN
- POPUP "HyperFolder"
- BEGIN
- MENUITEM "Open Containing Folder", IDM_OPENFOLDER
- END
-END'''.strip()), 'IDR_HYPERMENU_FOLDER')
- menu.Parse()
- self.failUnless(len(menu.GetTextualIds()) == 2)
-
- def testRegressionNewlines(self):
- menu = rc.Menu(StringIO.StringIO('''
-IDR_HYPERMENU_FOLDER MENU
-BEGIN
- POPUP "Hyper\\nFolder"
- BEGIN
- MENUITEM "Open Containing Folder", IDM_OPENFOLDER
- END
-END'''.strip()), 'IDR_HYPERMENU_FOLDER')
- menu.Parse()
- transl = menu.Translate('en')
- # Shouldn't find \\n (the \n shouldn't be changed to \\n)
- self.failUnless(transl.find('\\\\n') == -1)
-
- def testRegressionTabs(self):
- menu = rc.Menu(StringIO.StringIO('''
-IDR_HYPERMENU_FOLDER MENU
-BEGIN
- POPUP "Hyper\\tFolder"
- BEGIN
- MENUITEM "Open Containing Folder", IDM_OPENFOLDER
- END
-END'''.strip()), 'IDR_HYPERMENU_FOLDER')
- menu.Parse()
- transl = menu.Translate('en')
- # Shouldn't find \\t (the \t shouldn't be changed to \\t)
- self.failUnless(transl.find('\\\\t') == -1)
-
- def testEscapeUnescape(self):
- original = 'Hello "bingo"\n How\\are\\you\\n?'
- escaped = rc.Section.Escape(original)
- self.failUnless(escaped == 'Hello ""bingo""\\n How\\\\are\\\\you\\\\n?')
- unescaped = rc.Section.UnEscape(escaped)
- self.failUnless(unescaped == original)
-
- def testRegressionPathsWithSlashN(self):
- original = '..\\\\..\\\\trs\\\\res\\\\nav_first.gif'
- unescaped = rc.Section.UnEscape(original)
- self.failUnless(unescaped == '..\\..\\trs\\res\\nav_first.gif')
-
- def testRegressionDialogItemsTextOnly(self):
- dialog = rc.Dialog(StringIO.StringIO('''IDD_OPTIONS_SEARCH DIALOGEX 0, 0, 280, 292
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP |
- WS_DISABLED | WS_CAPTION | WS_SYSMENU
-CAPTION "Search"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- GROUPBOX "Select search buttons and options",-1,7,5,266,262
- CONTROL "",IDC_OPTIONS,"SysTreeView32",TVS_DISABLEDRAGDROP |
- WS_BORDER | WS_TABSTOP | 0x800,16,19,248,218
- LTEXT "Use Google site:",-1,26,248,52,8
- COMBOBOX IDC_GOOGLE_HOME,87,245,177,256,CBS_DROPDOWNLIST |
- WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "Restore Defaults...",IDC_RESET,187,272,86,14
-END'''), 'IDD_OPTIONS_SEARCH')
- dialog.Parse()
- translateables = [c.GetMessage().GetRealContent()
- for c in dialog.GetCliques()]
- self.failUnless('Select search buttons and options' in translateables)
- self.failUnless('Use Google site:' in translateables)
-
- def testAccelerators(self):
- acc = rc.Accelerators(StringIO.StringIO('''\
-IDR_ACCELERATOR1 ACCELERATORS
-BEGIN
- "^C", ID_ACCELERATOR32770, ASCII, NOINVERT
- "^V", ID_ACCELERATOR32771, ASCII, NOINVERT
- VK_INSERT, ID_ACCELERATOR32772, VIRTKEY, CONTROL, NOINVERT
-END
-'''), 'IDR_ACCELERATOR1')
- acc.Parse()
- self.failUnless(len(acc.GetTextualIds()) == 4)
- self.failUnless(len(acc.GetCliques()) == 0)
-
- transl = acc.Translate('en')
- self.failUnless(transl.strip() == acc.GetText().strip())
-
-
- def testRegressionEmptyString(self):
- dlg = rc.Dialog(StringIO.StringIO('''\
-IDD_CONFIRM_QUIT_GD_DLG DIALOGEX 0, 0, 267, 108
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP |
- WS_CAPTION
-EXSTYLE WS_EX_TOPMOST
-CAPTION "Google Desktop"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- DEFPUSHBUTTON "&Yes",IDYES,82,87,50,14
- PUSHBUTTON "&No",IDNO,136,87,50,14
- ICON 32514,IDC_STATIC,7,9,21,20
- EDITTEXT IDC_TEXTBOX,34,7,231,60,ES_MULTILINE | ES_READONLY | NOT WS_BORDER
- CONTROL "",
- IDC_ENABLE_GD_AUTOSTART,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,33,70,231,10
-END'''), 'IDD_CONFIRM_QUIT_GD_DLG')
- dlg.Parse()
-
- def Check():
- self.failUnless(transl.count('IDC_ENABLE_GD_AUTOSTART'))
- self.failUnless(transl.count('END'))
-
- transl = dlg.Translate('de', pseudo_if_not_available=True,
- fallback_to_english=True)
- Check()
- transl = dlg.Translate('de', pseudo_if_not_available=True,
- fallback_to_english=False)
- Check()
- transl = dlg.Translate('de', pseudo_if_not_available=False,
- fallback_to_english=True)
- Check()
- transl = dlg.Translate('de', pseudo_if_not_available=False,
- fallback_to_english=False)
- Check()
- transl = dlg.Translate('en', pseudo_if_not_available=True,
- fallback_to_english=True)
- Check()
- transl = dlg.Translate('en', pseudo_if_not_available=True,
- fallback_to_english=False)
- Check()
- transl = dlg.Translate('en', pseudo_if_not_available=False,
- fallback_to_english=True)
- Check()
- transl = dlg.Translate('en', pseudo_if_not_available=False,
- fallback_to_english=False)
- Check()
-
-
-if __name__ == '__main__':
- unittest.main()
« no previous file with comments | « grit/gather/rc.py ('k') | grit/gather/regexp.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698