123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- #!/usr/bin/env python
- # Copyright 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.
- """Unittests for generate_ui_string_overrider.py"""
- import unittest
- import generate_ui_string_overrider
- class GenerateResourcesMapUnittest(unittest.TestCase):
- NAMESPACE = "chrome_variations"
- OUT_HEADER = "components/variations/service/ui_string_overrider_factory.h"
- TEST_INPUT = """
- // This file is automatically generated by GRIT. Do not edit.
- #pragma once
- #define IDS_BOOKMARKS_NO_ITEMS 12500
- #define IDS_BOOKMARK_BAR_IMPORT_LINK 12501
- #define IDS_BOOKMARK_GROUP_FROM_IE 12502
- #define IDS_BOOKMARK_GROUP_FROM_FIREFOX 12503
- """
- def testGetResourceListFromString(self):
- expected_tuples = [(301430091, "IDS_BOOKMARKS_NO_ITEMS", "12500"),
- (2654138887, "IDS_BOOKMARK_BAR_IMPORT_LINK", "12501"),
- (2894469061, "IDS_BOOKMARK_GROUP_FROM_IE", "12502"),
- (3847176170, "IDS_BOOKMARK_GROUP_FROM_FIREFOX", "12503")]
- expected = [
- generate_ui_string_overrider.Resource(*t) for t in expected_tuples]
- actual_tuples = generate_ui_string_overrider._GetResourceListFromString(
- self.TEST_INPUT)
- self.assertEqual(expected_tuples, actual_tuples)
- def testCheckForHashCollisions(self):
- collisions_tuples = [(123, "IDS_FOO", "12500"),
- (456, "IDS_BAR", "12501"),
- (456, "IDS_BAZ", "12502"),
- (890, "IDS_QUX", "12503"),
- (899, "IDS_NO", "12504"),
- (899, "IDS_YES", "12505")]
- list_with_collisions = [generate_ui_string_overrider.Resource(*t)
- for t in collisions_tuples]
- expected_collision_tuples = [(456, "IDS_BAR", "12501"),
- (456, "IDS_BAZ", "12502"),
- (899, "IDS_NO", "12504"),
- (899, "IDS_YES", "12505")]
- expected_collisions = [generate_ui_string_overrider.Resource(*t)
- for t in expected_collision_tuples]
- actual_collisions = sorted(
- generate_ui_string_overrider._CheckForHashCollisions(
- list_with_collisions))
- actual_collisions
- self.assertEqual(expected_collisions, actual_collisions)
- def testGenerateSourceFileContent(self):
- expected = (
- """\
- // This file was generated by generate_ui_string_overrider.py. Do not edit.
- #include "components/variations/service/ui_string_overrider_factory.h"
- namespace chrome_variations {
- namespace {
- const size_t kNumResources = 4;
- const uint32_t kResourceHashes[] = {
- 301430091U, // IDS_BOOKMARKS_NO_ITEMS
- 2654138887U, // IDS_BOOKMARK_BAR_IMPORT_LINK
- 2894469061U, // IDS_BOOKMARK_GROUP_FROM_IE
- 3847176170U, // IDS_BOOKMARK_GROUP_FROM_FIREFOX
- };
- const int kResourceIndices[] = {
- 12500, // IDS_BOOKMARKS_NO_ITEMS
- 12501, // IDS_BOOKMARK_BAR_IMPORT_LINK
- 12502, // IDS_BOOKMARK_GROUP_FROM_IE
- 12503, // IDS_BOOKMARK_GROUP_FROM_FIREFOX
- };
- } // namespace
- variations::UIStringOverrider CreateUIStringOverrider() {
- return variations::UIStringOverrider(
- kResourceHashes, kResourceIndices, kNumResources);
- }
- } // namespace chrome_variations
- """)
- actual = generate_ui_string_overrider._GenerateSourceFileContent(
- self.TEST_INPUT, self.NAMESPACE, self.OUT_HEADER)
- self.assertEqual(expected, actual)
- def testGenerateHeaderFileContent(self):
- expected = (
- """\
- // This file was generated by generate_ui_string_overrider.py. Do not edit.
- #ifndef COMPONENTS_VARIATIONS_SERVICE_UI_STRING_OVERRIDER_FACTORY_H_
- #define COMPONENTS_VARIATIONS_SERVICE_UI_STRING_OVERRIDER_FACTORY_H_
- #include "components/variations/service/ui_string_overrider.h"
- namespace chrome_variations {
- // Returns an initialized UIStringOverrider.
- variations::UIStringOverrider CreateUIStringOverrider();
- } // namespace chrome_variations
- #endif // COMPONENTS_VARIATIONS_SERVICE_UI_STRING_OVERRIDER_FACTORY_H_
- """)
- actual = generate_ui_string_overrider._GenerateHeaderFileContent(
- self.NAMESPACE, self.OUT_HEADER)
- self.assertEqual(expected, actual)
- if __name__ == '__main__':
- unittest.main()
|