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

Side by Side Diff: tools/metrics/actions/extract_actions_test.py

Issue 848453002: Improve script to find user actions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 2014 The Chromium Authors. All rights reserved. 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 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 import extract_actions 8 import extract_actions
9 9
10 # Empty value to be inserted to |ACTIONS_MOCK|. 10 # Empty value to be inserted to |ACTIONS_MOCK|.
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 '<!--comment-->\n\n' 107 '<!--comment-->\n\n'
108 '<actions>\n\n' 108 '<actions>\n\n'
109 '<action name="action1">\n' 109 '<action name="action1">\n'
110 ' <owner>name1@google.com</owner>\n' 110 ' <owner>name1@google.com</owner>\n'
111 ' <owner>name2@google.com</owner>\n' 111 ' <owner>name2@google.com</owner>\n'
112 ' <description>Description.</description>\n' 112 ' <description>Description.</description>\n'
113 '</action>\n\n' 113 '</action>\n\n'
114 '</actions>\n' 114 '</actions>\n'
115 ) 115 )
116 116
117
118 class ActionXmlTest(unittest.TestCase): 117 class ActionXmlTest(unittest.TestCase):
119 118
120 def _GetProcessedAction(self, owner, description, obsolete, new_actions=[], 119 def _GetProcessedAction(self, owner, description, obsolete, new_actions=[],
121 comment=NO_VALUE): 120 comment=NO_VALUE):
122 """Forms an actions XML string and returns it after processing. 121 """Forms an actions XML string and returns it after processing.
123 122
124 It parses the original XML string, adds new user actions (if there is any), 123 It parses the original XML string, adds new user actions (if there is any),
125 and pretty prints it. 124 and pretty prints it.
126 125
127 Args: 126 Args:
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 def testAddNewActions(self): 186 def testAddNewActions(self):
188 xml_result = self._GetProcessedAction(TWO_OWNERS, DESCRIPTION, NO_VALUE, 187 xml_result = self._GetProcessedAction(TWO_OWNERS, DESCRIPTION, NO_VALUE,
189 new_actions=['action2']) 188 new_actions=['action2'])
190 self.assertEqual(ADD_ACTION_EXPECTED_XML, xml_result) 189 self.assertEqual(ADD_ACTION_EXPECTED_XML, xml_result)
191 190
192 def testComment(self): 191 def testComment(self):
193 xml_result = self._GetProcessedAction(TWO_OWNERS, DESCRIPTION, NO_VALUE, 192 xml_result = self._GetProcessedAction(TWO_OWNERS, DESCRIPTION, NO_VALUE,
194 comment=COMMENT) 193 comment=COMMENT)
195 self.assertEqual(COMMENT_EXPECTED_XML, xml_result) 194 self.assertEqual(COMMENT_EXPECTED_XML, xml_result)
196 195
196 def testUserMetricsActionSpanningTwoLines(self):
197 code = 'base::UserMetricsAction(\n"Foo.Bar"));'
198 names, _ = extract_actions.FindActionNames(code, 0)
199 self.assertEqual(['Foo.Bar'], names)
200
201 def testTernaryUserMetricsAction(self):
202 code = 'base::UserMetricsAction(foo ? "Foo.Bar" : "Bar.Foo"));'
Ilya Sherman 2015/01/09 22:25:44 I'm not convinced that we want to support this. I
Alexei Svitkine (slow) 2015/01/12 19:58:24 We could do that. The disadvantage is we'll need t
203 names, _ = extract_actions.FindActionNames(code, 0)
204 self.assertEqual(['Foo.Bar', 'Bar.Foo'], names)
197 205
198 if __name__ == '__main__': 206 if __name__ == '__main__':
199 unittest.main() 207 unittest.main()
OLDNEW
« tools/metrics/actions/extract_actions.py ('K') | « tools/metrics/actions/extract_actions.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698