Chromium Code Reviews| Index: chrome/test/functional/policy.py |
| diff --git a/chrome/test/functional/policy.py b/chrome/test/functional/policy.py |
| index 5908a176b00a30cfed41c1e0ce2adf2cc75ab14b..eaba0e7d74a4e6a242fba538081ea3476d55dac2 100755 |
| --- a/chrome/test/functional/policy.py |
| +++ b/chrome/test/functional/policy.py |
| @@ -688,6 +688,54 @@ class PolicyTest(policy_base.PolicyTestBase): |
| self.GetCookie(pyauto.GURL(cookie_url)), |
| msg='Cookie present on ' + cookie_url + '.'); |
| + def testDisableScreenshotFile(self): |
|
Nirnimesh
2012/07/16 20:01:50
one-line docstring please
qfel
2012/07/17 10:07:25
Done.
|
| + if not self.IsChromeOS(): |
| + return # Screenshot accelerator available only on ChromeOS |
| + |
| + TAKE_SCREENSHOT = 34 # See AcceleratorAction enum in accelerator_table.h |
|
Nirnimesh
2012/07/16 20:01:50
This seems bad. Can you try to swig out the accele
qfel
2012/07/17 10:07:25
Done.
|
| + |
| + def files_count(): |
| + return len(os.listdir(download_dir)) |
|
Nirnimesh
2012/07/16 20:01:50
It's bad to have a function use vars defined after
qfel
2012/07/17 10:07:25
Done.
|
| + |
| + download_dir = self.GetDownloadDirectory().value() |
| + original_count = files_count() |
| + |
| + # Make sure screenshots actually go to downloads directory. |
| + self.assertTrue(self.ApplyAshAccelerator(TAKE_SCREENSHOT)) |
| + self.assertTrue(self.WaitUntil(files_count, |
| + expect_retval=original_count + 1)) |
| + |
| + # Real testing here: check if disabling screenshots works. |
| + policy = { |
| + 'DisableScreenshots': True |
| + } |
| + self.SetUserPolicy(policy) |
| + self.assertTrue(self.ApplyAshAccelerator(TAKE_SCREENSHOT)) |
| + self.assertFalse(self.WaitUntil(lambda: files_count() != original_count + 1, |
| + timeout=5, expect_retval=True)) |
|
Mattias Nissler (ping if slow)
2012/07/16 10:51:55
nirnimesh: I'm unhappy with these timeouts, but es
Nirnimesh
2012/07/16 20:01:50
Unfortunately, I don't have a good solution for th
qfel
2012/07/17 10:07:25
The accelerator is always considered handled. Its
|
| + |
| + def testDisableScreenshotFeedback(self): |
|
Nirnimesh
2012/07/16 20:01:50
docstring please
qfel
2012/07/17 10:07:25
Done.
|
| + # Make sure screenshot is normally displayed in feedback form. |
| + self.assertTrue(self.ApplyAccelerator(pyauto.IDC_FEEDBACK)) |
| + self.WaitUntilNavigationCompletes(tab_index=1) |
|
Nirnimesh
2012/07/16 20:01:50
you might want to wait for tab count to become 2 b
qfel
2012/07/17 10:07:25
Done.
|
| + self.WaitForDomNode('//img[starts-with(@id, "current-screenshots")]', |
| + tab_index=1) |
| + |
| + # The feedback tab is a singleton tab, so close it first before trying to |
| + # reopen. Otherwise it might not reload. |
| + self.GetBrowserWindow(0).GetTab(1).Close(True) |
| + |
| + # Real testing here: check if disabling screenshots works. |
| + policy = { |
| + 'DisableScreenshots': True |
| + } |
| + self.SetUserPolicy(policy) |
| + self.assertTrue(self.ApplyAccelerator(pyauto.IDC_FEEDBACK)) |
| + self.WaitUntilNavigationCompletes(tab_index=1) |
| + self.assertRaises(pyauto.JSONInterfaceError, lambda: self.WaitForDomNode( |
| + '//img[starts-with(@id, "current-screenshots")]', tab_index=1, |
| + timeout=3)) |
| + |
| if __name__ == '__main__': |
| pyauto_functional.Main() |