| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/python | |
| 2 # Copyright 2014 The Chromium Authors. All rights reserved. | |
| 3 # Use of this source code is governed by a BSD-style license that can be | |
| 4 # found in the LICENSE file. | |
| 5 | |
| 6 """Unittests for generate_resources_map.py""" | |
| 7 | |
| 8 import unittest | |
| 9 | |
| 10 import generate_resources_map | |
| 11 | |
| 12 | |
| 13 class GenerateResourcesMapUnittest(unittest.TestCase): | |
| 14 TEST_INPUT = """ | |
| 15 // This file is automatically generated by GRIT. Do not edit. | |
| 16 | |
| 17 #pragma once | |
| 18 | |
| 19 #define IDS_BOOKMARKS_NO_ITEMS 12500 | |
| 20 #define IDS_BOOKMARK_BAR_IMPORT_LINK 12501 | |
| 21 #define IDS_BOOKMARK_GROUP_FROM_IE 12502 | |
| 22 #define IDS_BOOKMARK_GROUP_FROM_FIREFOX 12503 | |
| 23 """ | |
| 24 | |
| 25 def testGetResourceListFromString(self): | |
| 26 expected_tuples = [(301430091, "IDS_BOOKMARKS_NO_ITEMS", "12500"), | |
| 27 (2654138887, "IDS_BOOKMARK_BAR_IMPORT_LINK", "12501"), | |
| 28 (2894469061, "IDS_BOOKMARK_GROUP_FROM_IE", "12502"), | |
| 29 (3847176170, "IDS_BOOKMARK_GROUP_FROM_FIREFOX", "12503")] | |
| 30 expected = [generate_resources_map.Resource(*t) for t in expected_tuples] | |
| 31 | |
| 32 actual_tuples = generate_resources_map._GetResourceListFromString( | |
| 33 self.TEST_INPUT) | |
| 34 | |
| 35 self.assertEqual(expected_tuples, actual_tuples) | |
| 36 | |
| 37 | |
| 38 def testCheckForHashCollisions(self): | |
| 39 collisions_tuples = [(123, "IDS_FOO", "12500"), | |
| 40 (456, "IDS_BAR", "12501"), | |
| 41 (456, "IDS_BAZ", "12502"), | |
| 42 (890, "IDS_QUX", "12503"), | |
| 43 (899, "IDS_NO", "12504"), | |
| 44 (899, "IDS_YES", "12505")] | |
| 45 list_with_collisions = [generate_resources_map.Resource(*t) | |
| 46 for t in collisions_tuples] | |
| 47 | |
| 48 expected_collision_tuples = [(456, "IDS_BAR", "12501"), | |
| 49 (456, "IDS_BAZ", "12502"), | |
| 50 (899, "IDS_NO", "12504"), | |
| 51 (899, "IDS_YES", "12505")] | |
| 52 expected_collisions = [generate_resources_map.Resource(*t) | |
| 53 for t in expected_collision_tuples] | |
| 54 | |
| 55 actual_collisions = sorted( | |
| 56 generate_resources_map._CheckForHashCollisions(list_with_collisions)) | |
| 57 actual_collisions | |
| 58 | |
| 59 self.assertEqual(expected_collisions, actual_collisions) | |
| 60 | |
| 61 def testGenerateFileContent(self): | |
| 62 expected = ( | |
| 63 """// This file was generated by generate_resources_map.py. Do not edit. | |
| 64 | |
| 65 | |
| 66 #include "chrome/browser/metrics/variations/generated_resources_map.h" | |
| 67 | |
| 68 namespace chrome_variations { | |
| 69 | |
| 70 const size_t kNumResources = 4; | |
| 71 | |
| 72 const uint32_t kResourceHashes[] = { | |
| 73 301430091U, // IDS_BOOKMARKS_NO_ITEMS | |
| 74 2654138887U, // IDS_BOOKMARK_BAR_IMPORT_LINK | |
| 75 2894469061U, // IDS_BOOKMARK_GROUP_FROM_IE | |
| 76 3847176170U, // IDS_BOOKMARK_GROUP_FROM_FIREFOX | |
| 77 }; | |
| 78 | |
| 79 const int kResourceIndices[] = { | |
| 80 12500, // IDS_BOOKMARKS_NO_ITEMS | |
| 81 12501, // IDS_BOOKMARK_BAR_IMPORT_LINK | |
| 82 12502, // IDS_BOOKMARK_GROUP_FROM_IE | |
| 83 12503, // IDS_BOOKMARK_GROUP_FROM_FIREFOX | |
| 84 }; | |
| 85 | |
| 86 } // namespace chrome_variations | |
| 87 """) | |
| 88 actual = generate_resources_map._GenerateFileContent(self.TEST_INPUT) | |
| 89 | |
| 90 self.assertEqual(expected, actual) | |
| 91 | |
| 92 if __name__ == '__main__': | |
| 93 unittest.main() | |
| OLD | NEW |