# 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_ImagesAllowedForUrls.2urls_block'
ATTRIBUTES = 'suite:bvt-perbuild'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of ImagesAllowedForUrls policy.

This test case verifies the behavior of Chrome OS when ImagesAllowedForUrls
user policy is set to multiple URL patterns, and DefaultImagesSetting policy
is set to 2 (do not allow by default).

The test case shall pass iff the browser allows images for any test page with
an URL that matches any of the URL patterns specified in ImagesAllowedForUrls,
and blocks images 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_ImagesAllowedForUrls', case='2Urls_Block')
