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

Side by Side Diff: chrome/common/extensions/docs/server2/features_utility_test.py

Issue 23867003: Docserver: Consolidate features caching and access. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: let's try this again, shall we? Created 7 years, 2 months 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 unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import unittest 6 import unittest
7 7
8 from features_utility import Parse, Filtered, MergedWith 8 from features_utility import Parse, Filtered, MergedWith
9 9
10 class FeaturesUtilityTest(unittest.TestCase): 10 class FeaturesUtilityTest(unittest.TestCase):
(...skipping 15 matching lines...) Expand all
26 'doc5': { 26 'doc5': {
27 'extension_types': ['extension'] 27 'extension_types': ['extension']
28 }, 28 },
29 'doc1.sub1': { 29 'doc1.sub1': {
30 'extension_types': ['platform_app', 'hosted_app', 'packaged_app'] 30 'extension_types': ['platform_app', 'hosted_app', 'packaged_app']
31 } 31 }
32 } 32 }
33 33
34 expected = { 34 expected = {
35 'doc1': { 35 'doc1': {
36 'platforms': ['app', 'extension'], 36 'platforms': ['apps', 'extensions'],
37 'name': 'doc1' 37 'name': 'doc1'
38 }, 38 },
39 'doc2': { 39 'doc2': {
40 'platforms': [], 40 'platforms': [],
41 'name': 'doc2' 41 'name': 'doc2'
42 }, 42 },
43 'doc4': { 43 'doc4': {
44 'platforms': ['app', 'extension'], 44 'platforms': ['apps', 'extensions'],
45 'name': 'doc4' 45 'name': 'doc4'
46 }, 46 },
47 'doc5': { 47 'doc5': {
48 'platforms': ['extension'], 48 'platforms': ['extensions'],
49 'name': 'doc5' 49 'name': 'doc5'
50 }, 50 },
51 'doc1.sub1': { 51 'doc1.sub1': {
52 'platforms': ['app'], 52 'platforms': ['apps'],
53 'name': 'doc1.sub1' 53 'name': 'doc1.sub1'
54 } 54 }
55 } 55 }
56 56
57 self.assertEqual(expected, Parse(raw_features_json)) 57 self.assertEqual(expected, Parse(raw_features_json))
58 58
59 def testFilter(self): 59 def testFilter(self):
60 unfiltered = { 60 unfiltered = {
61 'doc1': { 'platforms': ['app'] }, 61 'doc1': { 'platforms': ['apps'] },
62 'doc2': { 'platforms': ['extension'] }, 62 'doc2': { 'platforms': ['extensions'] },
63 'doc3': { 'platforms': ['app', 'extension'] }, 63 'doc3': { 'platforms': ['apps', 'extensions'] },
64 'doc4': { 'platforms': [] } 64 'doc4': { 'platforms': [] }
65 } 65 }
66 66
67 apps_names = set(('doc1', 'doc3')) 67 apps_names = set(('doc1', 'doc3'))
68 extension_names = set(('doc2', 'doc3')) 68 extension_names = set(('doc2', 'doc3'))
69 69
70 self.assertEqual( 70 self.assertEqual(
71 apps_names, set(Filtered(unfiltered, 'app').keys())) 71 apps_names, set(Filtered(unfiltered, 'apps').keys()))
72 self.assertEqual( 72 self.assertEqual(
73 extension_names, set(Filtered(unfiltered, 'extension').keys())) 73 extension_names, set(Filtered(unfiltered, 'extensions').keys()))
74 74
75 def testMergeFeatures(self): 75 def testMergeFeatures(self):
76 features = { 76 features = {
77 'doc1': { 77 'doc1': {
78 'platforms': ['app'] 78 'platforms': ['apps']
79 }, 79 },
80 'doc3': { 80 'doc3': {
81 'name': 'doc3' 81 'name': 'doc3'
82 } 82 }
83 } 83 }
84 84
85 other = { 85 other = {
86 'doc1': { 86 'doc1': {
87 'name': 'doc1', 87 'name': 'doc1',
88 'platforms': ['extension'] 88 'platforms': ['extensions']
89 }, 89 },
90 'doc2': { 90 'doc2': {
91 'name': 'doc2' 91 'name': 'doc2'
92 }, 92 },
93 'doc3': { 93 'doc3': {
94 'platforms': ['extension', 'app'] 94 'platforms': ['extensions', 'apps']
95 } 95 }
96 } 96 }
97 97
98 expected = { 98 expected = {
99 'doc1': { 99 'doc1': {
100 'name': 'doc1', 100 'name': 'doc1',
101 'platforms': ['extension'] 101 'platforms': ['extensions']
102 }, 102 },
103 'doc2': { 103 'doc2': {
104 'name': 'doc2', 104 'name': 'doc2',
105 'platforms': [] 105 'platforms': []
106 }, 106 },
107 'doc3': { 107 'doc3': {
108 'name': 'doc3', 108 'name': 'doc3',
109 'platforms': ['extension', 'app'] 109 'platforms': ['extensions', 'apps']
110 } 110 }
111 } 111 }
112 112
113 self.assertEqual(expected, MergedWith(features, other)) 113 self.assertEqual(expected, MergedWith(features, other))
114 114
115 if __name__ == '__main__': 115 if __name__ == '__main__':
116 unittest.main() 116 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698