# 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_CookiesBlockedForUrls.notset_allow'
ATTRIBUTES = 'suite:bvt-perbuild'
TIME = 'SHORT'
TEST_CATEGORY = 'General'
TEST_CLASS = 'enterprise'
TEST_TYPE = 'client'

DOC = '''
Verify effects of CookiesBlockedForUrls policy.

This test case verifies the behavior of Chrome OS when CookiesBlockedForUrls
user policy is not set to any URL pattern, and DefaultCookiesSetting policy
is set to 1 (allow by default).

The test case shall pass iff the browser allows cookies for every test page.
It shall fail if the browser blocks cookies on any test page.

'''

job.run_test('policy_CookiesBlockedForUrls', case='NotSet_Allow')
