# 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:bvt-perbuild'
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')
