# 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_JavaScriptBlockedForUrls.singleurl_block'
ATTRIBUTES = 'suite:ent-nightly, suite:policy'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of JavaScriptBlockedForUrls policy.

This test case verifies the behavior of Chrome OS when JavaScriptBlockedForUrls
user policy is set to a single URL pattern, and the DefaultJavaScriptSetting
policy is set to 1 (allow by default).

The test case shall pass iff the browser blocks javascript on a test page
with an URL that matches any of the URL patterns specified in
JavaScriptBlockedForUrls, and allows javascript 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_JavaScriptBlockedForUrls', case='SingleUrl_Block')
