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

Unified Diff: grit/format/policy_templates/policy_template_generator_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
Index: grit/format/policy_templates/policy_template_generator_unittest.py
===================================================================
--- grit/format/policy_templates/policy_template_generator_unittest.py (revision 202)
+++ grit/format/policy_templates/policy_template_generator_unittest.py (working copy)
@@ -1,395 +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.
-
-
-import os
-import sys
-if __name__ == '__main__':
- sys.path.append(os.path.join(os.path.dirname(__file__), '../../..'))
-
-import unittest
-
-from grit.format.policy_templates import policy_template_generator
-from grit.format.policy_templates.writers import mock_writer
-from grit.format.policy_templates.writers import template_writer
-
-
-class PolicyTemplateGeneratorUnittest(unittest.TestCase):
- '''Unit tests for policy_template_generator.py.'''
-
- def do_test(self, policy_data, writer):
- '''Executes a test case.
-
- Creates and invokes an instance of PolicyTemplateGenerator with
- the given arguments.
-
- Notice: Plain comments are used in test methods instead of docstrings,
- so that method names do not get overridden by the docstrings in the
- test output.
-
- Args:
- policy_data: The list of policies and groups as it would be
- loaded from policy_templates.json.
- writer: A writer used for this test. It is usually derived from
- mock_writer.MockWriter.
- '''
- writer.tester = self
- config = {
- 'app_name': '_app_name',
- 'frame_name': '_frame_name',
- 'os_name': '_os_name',
- }
- if not 'messages' in policy_data:
- policy_data['messages'] = {}
- if not 'placeholders' in policy_data:
- policy_data['placeholders'] = []
- if not 'policy_definitions' in policy_data:
- policy_data['policy_definitions'] = []
- policy_generator = policy_template_generator.PolicyTemplateGenerator(
- config,
- policy_data)
- res = policy_generator.GetTemplateText(writer)
- writer.Test()
- return res
-
- def testSequence(self):
- # Test the sequence of invoking the basic PolicyWriter operations,
- # in case of empty input data structures.
- class LocalMockWriter(mock_writer.MockWriter):
- def __init__(self):
- self.log = 'init;'
- def Init(self):
- self.log += 'prepare;'
- def BeginTemplate(self):
- self.log += 'begin;'
- def EndTemplate(self):
- self.log += 'end;'
- def GetTemplateText(self):
- self.log += 'get_text;'
- return 'writer_result_string'
- def Test(self):
- self.tester.assertEquals(self.log,
- 'init;prepare;begin;end;get_text;')
- result = self.do_test({}, LocalMockWriter())
- self.assertEquals(result, 'writer_result_string')
-
- def testEmptyGroups(self):
- # Test that empty policy groups are not passed to the writer.
- policies_mock = {
- 'policy_definitions': [
- {'name': 'Group1', 'type': 'group', 'policies': [],
- 'desc': '', 'caption': ''},
- {'name': 'Group2', 'type': 'group', 'policies': [],
- 'desc': '', 'caption': ''},
- {'name': 'Group3', 'type': 'group', 'policies': [],
- 'desc': '', 'caption': ''},
- ]
- }
- class LocalMockWriter(mock_writer.MockWriter):
- def __init__(self):
- self.log = ''
- def BeginPolicyGroup(self, group):
- self.log += '['
- def EndPolicyGroup(self):
- self.log += ']'
- def Test(self):
- self.tester.assertEquals(self.log, '')
- self.do_test(policies_mock, LocalMockWriter())
-
- def testGroups(self):
- # Test that policy groups are passed to the writer in the correct order.
- policies_mock = {
- 'policy_definitions': [
- {
- 'name': 'Group1', 'type': 'group',
- 'caption': '', 'desc': '',
- 'policies': [{'name': 'TAG1', 'type': 'mock', 'supported_on': [],
- 'caption': '', 'desc': ''}]
- },
- {
- 'name': 'Group2', 'type': 'group',
- 'caption': '', 'desc': '',
- 'policies': [{'name': 'TAG2', 'type': 'mock', 'supported_on': [],
- 'caption': '', 'desc': ''}]
- },
- {
- 'name': 'Group3', 'type': 'group',
- 'caption': '', 'desc': '',
- 'policies': [{'name': 'TAG3', 'type': 'mock', 'supported_on': [],
- 'caption': '', 'desc': ''}]
- },
- ]
- }
- class LocalMockWriter(mock_writer.MockWriter):
- def __init__(self):
- self.log = ''
- def BeginPolicyGroup(self, group):
- self.log += '[' + group['policies'][0]['name']
- def EndPolicyGroup(self):
- self.log += ']'
- def Test(self):
- self.tester.assertEquals(self.log, '[TAG1][TAG2][TAG3]')
- self.do_test(policies_mock, LocalMockWriter())
-
- def testPolicies(self):
- # Test that policies are passed to the writer in the correct order.
- policy_defs_mock = {
- 'policy_definitions': [
- {
- 'name': 'Group1',
- 'type': 'group',
- 'caption': '',
- 'desc': '',
- 'policies': [
- {'name': 'Group1Policy1', 'type': 'string', 'supported_on': [],
- 'caption': '', 'desc': ''},
- {'name': 'Group1Policy2', 'type': 'string', 'supported_on': [],
- 'caption': '', 'desc': ''},
- ]
- },
- {
- 'name': 'Group2',
- 'type': 'group',
- 'caption': '',
- 'desc': '',
- 'policies': [
- {'name': 'Group2Policy3', 'type': 'string', 'supported_on': [],
- 'caption': '', 'desc': ''},
- ]
- }
- ]
- }
- class LocalMockWriter(mock_writer.MockWriter):
- def __init__(self):
- self.policy_name = None
- self.policy_list = []
- def BeginPolicyGroup(self, group):
- self.group = group;
- def EndPolicyGroup(self):
- self.group = None
- def WritePolicy(self, policy):
- self.tester.assertEquals(policy['name'][0:6], self.group['name'])
- self.policy_list.append(policy['name'])
- def Test(self):
- self.tester.assertEquals(
- self.policy_list,
- ['Group1Policy1', 'Group1Policy2', 'Group2Policy3'])
- self.do_test( policy_defs_mock, LocalMockWriter())
-
- def testPolicyTexts(self):
- # Test that GUI messages of policies all get placeholders replaced.
- policy_data_mock = {
- 'policy_definitions': [
- {
- 'name': 'Group1',
- 'type': 'group',
- 'desc': '',
- 'caption': '',
- 'policies': [
- {
- 'name': 'Policy1',
- 'caption': '1. app_name -- $1',
- 'label': '2. os_name -- $2',
- 'desc': '3. frame_name -- $3',
- 'type': 'string',
- 'supported_on': []
- },
- ]
- }
- ]
- }
- class LocalMockWriter(mock_writer.MockWriter):
- def WritePolicy(self, policy):
- if policy['name'] == 'Policy1':
- self.tester.assertEquals(policy['caption'],
- '1. app_name -- _app_name')
- self.tester.assertEquals(policy['label'],
- '2. os_name -- _os_name')
- self.tester.assertEquals(policy['desc'],
- '3. frame_name -- _frame_name')
- elif policy['name'] == 'Group1':
- pass
- else:
- self.tester.fail()
- self.do_test(policy_data_mock, LocalMockWriter())
-
- def testIntEnumTexts(self):
- # Test that GUI messages are assigned correctly to int-enums
- # (aka dropdown menus).
- policy_defs_mock = {
- 'policy_definitions': [{
- 'name': 'Policy1',
- 'type': 'int-enum',
- 'caption': '', 'desc': '',
- 'supported_on': [],
- 'items': [
- {'name': 'item1', 'value': 0, 'caption': 'string1', 'desc': ''},
- {'name': 'item2', 'value': 1, 'caption': 'string2', 'desc': ''},
- {'name': 'item3', 'value': 3, 'caption': 'string3', 'desc': ''},
- ]
- }]
- }
-
- class LocalMockWriter(mock_writer.MockWriter):
- def WritePolicy(self, policy):
- self.tester.assertEquals(policy['items'][0]['caption'], 'string1')
- self.tester.assertEquals(policy['items'][1]['caption'], 'string2')
- self.tester.assertEquals(policy['items'][2]['caption'], 'string3')
- self.do_test(policy_defs_mock, LocalMockWriter())
-
- def testStringEnumTexts(self):
- # Test that GUI messages are assigned correctly to string-enums
- # (aka dropdown menus).
- policy_data_mock = {
- 'policy_definitions': [{
- 'name': 'Policy1',
- 'type': 'string-enum',
- 'caption': '', 'desc': '',
- 'supported_on': [],
- 'items': [
- {'name': 'item1', 'value': 'one', 'caption': 'string1', 'desc': ''},
- {'name': 'item2', 'value': 'two', 'caption': 'string2', 'desc': ''},
- {'name': 'item3', 'value': 'three', 'caption': 'string3', 'desc': ''},
- ]
- }]
- }
- class LocalMockWriter(mock_writer.MockWriter):
- def WritePolicy(self, policy):
- self.tester.assertEquals(policy['items'][0]['caption'], 'string1')
- self.tester.assertEquals(policy['items'][1]['caption'], 'string2')
- self.tester.assertEquals(policy['items'][2]['caption'], 'string3')
- self.do_test(policy_data_mock, LocalMockWriter())
-
- def testStringEnumTexts(self):
- # Test that GUI messages are assigned correctly to string-enums
- # (aka dropdown menus).
- policy_data_mock = {
- 'policy_definitions': [{
- 'name': 'Policy1',
- 'type': 'string-enum-list',
- 'caption': '', 'desc': '',
- 'supported_on': [],
- 'items': [
- {'name': 'item1', 'value': 'one', 'caption': 'string1', 'desc': ''},
- {'name': 'item2', 'value': 'two', 'caption': 'string2', 'desc': ''},
- {'name': 'item3', 'value': 'three', 'caption': 'string3', 'desc': ''},
- ]
- }]
- }
- class LocalMockWriter(mock_writer.MockWriter):
- def WritePolicy(self, policy):
- self.tester.assertEquals(policy['items'][0]['caption'], 'string1')
- self.tester.assertEquals(policy['items'][1]['caption'], 'string2')
- self.tester.assertEquals(policy['items'][2]['caption'], 'string3')
- self.do_test(policy_data_mock, LocalMockWriter())
-
- def testPolicyFiltering(self):
- # Test that policies are filtered correctly based on their annotations.
- policy_data_mock = {
- 'policy_definitions': [
- {
- 'name': 'Group1',
- 'type': 'group',
- 'caption': '',
- 'desc': '',
- 'policies': [
- {
- 'name': 'Group1Policy1',
- 'type': 'string',
- 'caption': '',
- 'desc': '',
- 'supported_on': [
- 'chrome.aaa:8-', 'chrome.bbb:8-', 'chrome.ccc:8-'
- ]
- },
- {
- 'name': 'Group1Policy2',
- 'type': 'string',
- 'caption': '',
- 'desc': '',
- 'supported_on': ['chrome.ddd:8-']
- },
- ]
- }, {
- 'name': 'Group2',
- 'type': 'group',
- 'caption': '',
- 'desc': '',
- 'policies': [
- {
- 'name': 'Group2Policy3',
- 'type': 'string',
- 'caption': '',
- 'desc': '',
- 'supported_on': ['chrome.eee:8-']
- },
- ]
- }, {
- 'name': 'SinglePolicy',
- 'type': 'int',
- 'caption': '',
- 'desc': '',
- 'supported_on': ['chrome.eee:8-']
- }
- ]
- }
- # This writer accumulates the list of policies it is asked to write.
- # This list is stored in the result_list member variable and can
- # be used later for assertions.
- class LocalMockWriter(mock_writer.MockWriter):
- def __init__(self, platforms):
- self.platforms = platforms
- self.policy_name = None
- self.result_list = []
- def BeginPolicyGroup(self, group):
- self.group = group;
- self.result_list.append('begin_' + group['name'])
- def EndPolicyGroup(self):
- self.result_list.append('end_group')
- self.group = None
- def WritePolicy(self, policy):
- self.result_list.append(policy['name'])
- def IsPolicySupported(self, policy):
- # Call the original (non-mock) implementation of this method.
- return template_writer.TemplateWriter.IsPolicySupported(self, policy)
-
- local_mock_writer = LocalMockWriter(['eee'])
- self.do_test(policy_data_mock, local_mock_writer)
- # Test that only policies of platform 'eee' were written:
- self.assertEquals(
- local_mock_writer.result_list,
- ['begin_Group2', 'Group2Policy3', 'end_group', 'SinglePolicy'])
-
- local_mock_writer = LocalMockWriter(['ddd', 'bbb'])
- self.do_test(policy_data_mock, local_mock_writer)
- # Test that only policies of platforms 'ddd' and 'bbb' were written:
- self.assertEquals(
- local_mock_writer.result_list,
- ['begin_Group1', 'Group1Policy1', 'Group1Policy2', 'end_group'])
-
- def testSortingInvoked(self):
- # Tests that policy-sorting happens before passing policies to the writer.
- policy_data = {
- 'policy_definitions': [
- {'name': 'zp', 'type': 'string', 'supported_on': [],
- 'caption': '', 'desc': ''},
- {'name': 'ap', 'type': 'string', 'supported_on': [],
- 'caption': '', 'desc': ''},
- ]
- }
- class LocalMockWriter(mock_writer.MockWriter):
- def __init__(self):
- self.result_list = []
- def WritePolicy(self, policy):
- self.result_list.append(policy['name'])
- def Test(self):
- self.tester.assertEquals(
- self.result_list,
- ['ap', 'zp'])
- self.do_test(policy_data, LocalMockWriter())
-
-
-if __name__ == '__main__':
- unittest.main()
« no previous file with comments | « grit/format/policy_templates/policy_template_generator.py ('k') | grit/format/policy_templates/template_formatter.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698