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

DOC = '''
Verify effects of JavaScriptAllowedForUrls policy.

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

A test case shall pass if the browser allows JavaScript to execute only
on a test page with a URL that matches one or more of the URL patterns listed
in JavaScriptAllowedForUrls. A test shall fail if the browser blocks execution
on a page where it should be allowed, or allows execution on a page where it
should be blocked.

'''

job.run_test('policy_JavaScriptAllowedForUrls', case='SingleUrl_Allow')
