# 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_PluginsBlockedForUrls.sitenotblocked_run'
ATTRIBUTES = 'suite:regression'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of PluginsBlockedForUrls policy.

This test case verifies the behavior and appearance of Chrome OS when user
policy PluginsBlockedForUrls contains URLs whose domains do not match the page
that uses a plugin, and DefaultPluginsSetting=1 (Allow Plugins).

'''

job.run_test('policy_PluginsBlockedForUrls', case='SiteNotBlocked_Run')
