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

Unified Diff: grit/format/policy_templates/writers/ios_plist_writer_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/writers/ios_plist_writer_unittest.py
===================================================================
--- grit/format/policy_templates/writers/ios_plist_writer_unittest.py (revision 202)
+++ grit/format/policy_templates/writers/ios_plist_writer_unittest.py (working copy)
@@ -1,240 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2014 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.format.policy_templates.writers.ios_plist_writer'''
-
-
-import base64
-import functools
-import os
-import plistlib
-import sys
-if __name__ == '__main__':
- sys.path.append(os.path.join(os.path.dirname(__file__), '../../../..'))
-
-import unittest
-
-try:
- import Cocoa
-except:
- Cocoa = None
-
-from grit.format.policy_templates.writers import writer_unittest_common
-
-
-class IOSPListWriterUnittest(writer_unittest_common.WriterUnittestCommon):
- '''Unit tests for IOSPListWriter.'''
-
- def _ParseWithPython(self, decode, text):
- '''Parses a serialized Plist, using Python's plistlib.
-
- If |decode| is true then |text| is decoded as Base64 before being
- deserialized as a Plist.'''
- if decode:
- text = base64.b64decode(text)
- return plistlib.readPlistFromString(text)
-
- def _ParseWithCocoa(self, decode, text):
- '''Parses a serialized Plist, using Cocoa's python bindings.
-
- If |decode| is true then |text| is decoded as Base64 before being
- deserialized as a Plist.'''
- if decode:
- data = Cocoa.NSData.alloc().initWithBase64EncodedString_options_(text, 0)
- else:
- data = Cocoa.NSData.alloc().initWithBytes_length_(text, len(text))
- result = Cocoa.NSPropertyListSerialization. \
- propertyListFromData_mutabilityOption_format_errorDescription_(
- data, Cocoa.NSPropertyListImmutable, None, None)
- return result[0]
-
- def _VerifyGeneratedOutputWithParsers(self,
- templates,
- expected_output,
- parse,
- decode_and_parse):
-
-
- _defines = { '_chromium': '1',
- 'mac_bundle_id': 'com.example.Test',
- 'version': '39.0.0.0' }
-
- # Generate the grit output for |templates|.
- output = self.GetOutput(
- self.PrepareTest(templates),
- 'fr',
- _defines,
- 'ios_plist',
- 'en')
-
- # Parse it as a Plist.
- plist = parse(output)
- self.assertEquals(len(plist), 2)
- self.assertTrue('ChromePolicy' in plist)
- self.assertTrue('EncodedChromePolicy' in plist)
-
- # Get the 2 expected fields.
- chrome_policy = plist['ChromePolicy']
- encoded_chrome_policy = plist['EncodedChromePolicy']
-
- # Verify the ChromePolicy.
- self.assertEquals(chrome_policy, expected_output)
-
- # Decode the EncodedChromePolicy and verify it.
- decoded_chrome_policy = decode_and_parse(encoded_chrome_policy)
- self.assertEquals(decoded_chrome_policy, expected_output)
-
- def _VerifyGeneratedOutput(self, templates, expected):
- # plistlib is available on all Python platforms.
- parse = functools.partial(self._ParseWithPython, False)
- decode_and_parse = functools.partial(self._ParseWithPython, True)
- self._VerifyGeneratedOutputWithParsers(
- templates, expected, parse, decode_and_parse)
-
- # The Cocoa bindings are available on Mac OS X only.
- if Cocoa:
- parse = functools.partial(self._ParseWithCocoa, False)
- decode_and_parse = functools.partial(self._ParseWithCocoa, True)
- self._VerifyGeneratedOutputWithParsers(
- templates, expected, parse, decode_and_parse)
-
- def _MakeTemplate(self, name, type, example, extra=''):
- return '''
- {
- 'policy_definitions': [
- {
- 'name': '%s',
- 'type': '%s',
- 'desc': '',
- 'caption': '',
- 'supported_on': ['ios:35-'],
- 'example_value': %s,
- %s
- },
- ],
- 'placeholders': [],
- 'messages': {},
- }
- ''' % (name, type, example, extra)
-
- def testEmpty(self):
- templates = '''
- {
- 'policy_definitions': [],
- 'placeholders': [],
- 'messages': {},
- }
- '''
- expected = {}
- self._VerifyGeneratedOutput(templates, expected)
-
- def testEmptyVersion(self):
- templates = '''
- {
- 'policy_definitions': [],
- 'placeholders': [],
- 'messages': {},
- }
- '''
- expected = {}
- self._VerifyGeneratedOutput(templates, expected)
-
- def testBoolean(self):
- templates = self._MakeTemplate('BooleanPolicy', 'main', 'True')
- expected = {
- 'BooleanPolicy': True,
- }
- self._VerifyGeneratedOutput(templates, expected)
-
- def testString(self):
- templates = self._MakeTemplate('StringPolicy', 'string', '"Foo"')
- expected = {
- 'StringPolicy': 'Foo',
- }
- self._VerifyGeneratedOutput(templates, expected)
-
- def testStringEnum(self):
- templates = self._MakeTemplate(
- 'StringEnumPolicy', 'string-enum', '"Foo"',
- '''
- 'items': [
- { 'name': 'Foo', 'value': 'Foo', 'caption': '' },
- { 'name': 'Bar', 'value': 'Bar', 'caption': '' },
- ],
- ''')
- expected = {
- 'StringEnumPolicy': 'Foo',
- }
- self._VerifyGeneratedOutput(templates, expected)
-
- def testInt(self):
- templates = self._MakeTemplate('IntPolicy', 'int', '42')
- expected = {
- 'IntPolicy': 42,
- }
- self._VerifyGeneratedOutput(templates, expected)
-
- def testIntEnum(self):
- templates = self._MakeTemplate(
- 'IntEnumPolicy', 'int-enum', '42',
- '''
- 'items': [
- { 'name': 'Foo', 'value': 100, 'caption': '' },
- { 'name': 'Bar', 'value': 42, 'caption': '' },
- ],
- ''')
- expected = {
- 'IntEnumPolicy': 42,
- }
- self._VerifyGeneratedOutput(templates, expected)
-
- def testStringList(self):
- templates = self._MakeTemplate('StringListPolicy', 'list', '["a", "b"]')
- expected = {
- 'StringListPolicy': [ "a", "b" ],
- }
- self._VerifyGeneratedOutput(templates, expected)
-
- def testStringEnumList(self):
- templates = self._MakeTemplate('StringEnumListPolicy',
- 'string-enum-list', '["a", "b"]',
- '''
- 'items': [
- { 'name': 'Foo', 'value': 'a', 'caption': '' },
- { 'name': 'Bar', 'value': 'b', 'caption': '' },
- ],
- ''')
-
- expected = {
- 'StringEnumListPolicy': [ "a", "b" ],
- }
- self._VerifyGeneratedOutput(templates, expected)
-
- def testListOfDictionary(self):
- templates = self._MakeTemplate(
- 'ManagedBookmarks', 'dict',
- '''
- [
- {
- "name": "Google Search",
- "url": "www.google.com",
- },
- {
- "name": "Youtube",
- "url": "www.youtube.com",
- }
- ]
- ''')
- expected = {
- 'ManagedBookmarks': [
- { "name": "Google Search", "url": "www.google.com" },
- { "name": "Youtube", "url": "www.youtube.com" },
- ],
- }
- self._VerifyGeneratedOutput(templates, expected)
-
-
-if __name__ == '__main__':
- unittest.main()
« no previous file with comments | « grit/format/policy_templates/writers/ios_plist_writer.py ('k') | grit/format/policy_templates/writers/json_writer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698