# Copyright 2015 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'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of ImagesAllowedForUrls policy on client look and feel.

This test verifies the effect of the ImagesAllowedForUrls user policy on
Chrome OS client behavior and appearance when the DefaultImagesSetting policy
is set to 2. It exercises a range of policy values using four unique test
cases, named: NotSet_Block, 1Url_Allow, 2Urls_Block, and 3Urls_Allow. See the
test file for a full description of what each test case does.

In general, a test shall pass if the browser only allows images to be shown
on a test page that is in a domain listed in the ImagesAllowedForUrls policy.
A test shall fail if the browser blocks images on a page where they should be
allowed to be shown, or allows images to be shown on a page where they should
be blocked.

'''

args_dict = utils.args_to_dict(args)

job.run_test('policy_ImagesAllowedForUrls', **args_dict)
