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

Side by Side Diff: chrome/test/functional/policy.py

Issue 10784009: screenshot disabling policy tests (Closed) Base URL: http://git.chromium.org/chromium/src.git@disable_screenshots
Patch Set: Tests Created 8 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 logging 6 import logging
7 import os 7 import os
8 8
9 import pyauto_functional # must come before pyauto. 9 import pyauto_functional # must come before pyauto.
10 import policy_base 10 import policy_base
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 681
682 # With the policy set, the cookie should be gone after a restart. 682 # With the policy set, the cookie should be gone after a restart.
683 self.SetUserPolicy({ 683 self.SetUserPolicy({
684 'ClearSiteDataOnExit': True 684 'ClearSiteDataOnExit': True
685 }) 685 })
686 self.RestartBrowser(clear_profile=False) 686 self.RestartBrowser(clear_profile=False)
687 self.assertFalse( 687 self.assertFalse(
688 self.GetCookie(pyauto.GURL(cookie_url)), 688 self.GetCookie(pyauto.GURL(cookie_url)),
689 msg='Cookie present on ' + cookie_url + '.'); 689 msg='Cookie present on ' + cookie_url + '.');
690 690
691 def testDisableScreenshotFile(self):
Nirnimesh 2012/07/16 20:01:50 one-line docstring please
qfel 2012/07/17 10:07:25 Done.
692 if not self.IsChromeOS():
693 return # Screenshot accelerator available only on ChromeOS
694
695 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.
696
697 def files_count():
698 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.
699
700 download_dir = self.GetDownloadDirectory().value()
701 original_count = files_count()
702
703 # Make sure screenshots actually go to downloads directory.
704 self.assertTrue(self.ApplyAshAccelerator(TAKE_SCREENSHOT))
705 self.assertTrue(self.WaitUntil(files_count,
706 expect_retval=original_count + 1))
707
708 # Real testing here: check if disabling screenshots works.
709 policy = {
710 'DisableScreenshots': True
711 }
712 self.SetUserPolicy(policy)
713 self.assertTrue(self.ApplyAshAccelerator(TAKE_SCREENSHOT))
714 self.assertFalse(self.WaitUntil(lambda: files_count() != original_count + 1,
715 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
716
717 def testDisableScreenshotFeedback(self):
Nirnimesh 2012/07/16 20:01:50 docstring please
qfel 2012/07/17 10:07:25 Done.
718 # Make sure screenshot is normally displayed in feedback form.
719 self.assertTrue(self.ApplyAccelerator(pyauto.IDC_FEEDBACK))
720 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.
721 self.WaitForDomNode('//img[starts-with(@id, "current-screenshots")]',
722 tab_index=1)
723
724 # The feedback tab is a singleton tab, so close it first before trying to
725 # reopen. Otherwise it might not reload.
726 self.GetBrowserWindow(0).GetTab(1).Close(True)
727
728 # Real testing here: check if disabling screenshots works.
729 policy = {
730 'DisableScreenshots': True
731 }
732 self.SetUserPolicy(policy)
733 self.assertTrue(self.ApplyAccelerator(pyauto.IDC_FEEDBACK))
734 self.WaitUntilNavigationCompletes(tab_index=1)
735 self.assertRaises(pyauto.JSONInterfaceError, lambda: self.WaitForDomNode(
736 '//img[starts-with(@id, "current-screenshots")]', tab_index=1,
737 timeout=3))
738
691 739
692 if __name__ == '__main__': 740 if __name__ == '__main__':
693 pyauto_functional.Main() 741 pyauto_functional.Main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698