# Copyright 2016 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = 'scunningham'
NAME = 'policy_PopupsAllowedForUrls.notset_block'
ATTRIBUTES = 'suite:bvt-perbuild'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of PopupsAllowedForUrls policy.

This test case verifies the behavior of Chrome OS when PopupsAllowedForUrls
user policy is not set to any URL pattern, and DefaultPopupsSetting policy
is set to 2 (do not allow by default).

The test case shall pass iff the browser blocks popups for every test page.
It shall fail if the browser allows popups on any test page.

'''

job.run_test('policy_PopupsAllowedForUrls', case='NotSet_Block')
