# 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.2urls_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 set to multiple URL patterns, and DefaultPopupsSetting policy
is set to 2 (do not allow by default).

The test case shall pass iff the browser allows popups for any test page with
an URL that matches any of the URL patterns specified in PopupsAllowedForUrls,
and blocks popups on any page with an URL that does not match. It shall fail
if the browser does not enforce this behavior.

'''

job.run_test('policy_PopupsAllowedForUrls', case='2Urls_Block')
