gecko-dev/testing/web-platform/tests/feature-policy
James Graham 4821f7812e Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly
MozReview-Commit-ID: FlhL7aMvsiY


--HG--
rename : testing/web-platform/tests/clipboard/OWNERS => testing/web-platform/tests/clipboard-apis/OWNERS
rename : testing/web-platform/tests/css-font-display/font-display-ref.html => testing/web-platform/tests/css-fonts/font-display/font-display-ref.html
rename : testing/web-platform/tests/css-font-display/font-display.html => testing/web-platform/tests/css-fonts/font-display/font-display.html
rename : testing/web-platform/tests/css/css-logical-properties-1/OWNERS => testing/web-platform/tests/css/css-logical-1/OWNERS
rename : testing/web-platform/tests/css/css-logical-props-1/cascading-001-ref.html => testing/web-platform/tests/css/css-logical-1/cascading-001-ref.html
rename : testing/web-platform/tests/css/css-logical-props-1/cascading-001.html => testing/web-platform/tests/css/css-logical-1/cascading-001.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-block-size-vlr.html => testing/web-platform/tests/css/css-logical-1/logicalprops-block-size-vlr.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-block-size.html => testing/web-platform/tests/css/css-logical-1/logicalprops-block-size.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-inline-size-vlr.html => testing/web-platform/tests/css/css-logical-1/logicalprops-inline-size-vlr.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-inline-size.html => testing/web-platform/tests/css/css-logical-1/logicalprops-inline-size.html
rename : testing/web-platform/tests/css/css-logical-properties-1/resources/style-check.js => testing/web-platform/tests/css/css-logical-1/resources/style-check.js
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy-attribute.https.sub.html => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy-attribute.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy.https.sub.html => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy.https.sub.html.headers => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html.headers
rename : testing/web-platform/tests/payment-request/payment-default-feature-policy.https.sub.html => testing/web-platform/tests/feature-policy/payment-default-feature-policy.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-disabled-by-feature-policy.https.sub.html => testing/web-platform/tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-disabled-by-feature-policy.https.sub.html.headers => testing/web-platform/tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html.headers
rename : testing/web-platform/tests/payment-request/payment-request-update-event-constructor.http.html => testing/web-platform/tests/payment-request/PaymentRequestUpdateEvent/constructor.http.html
rename : testing/web-platform/tests/payment-request/payment-request-update-event-updatewith-method.https.html => testing/web-platform/tests/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
2017-09-23 15:03:31 +01:00
..
resources Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
OWNERS Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
README.md Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
payment-allowed-by-feature-policy-attribute.https.sub.html Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
payment-allowed-by-feature-policy.https.sub.html Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
payment-allowed-by-feature-policy.https.sub.html.headers Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
payment-default-feature-policy.https.sub.html Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
payment-disabled-by-feature-policy.https.sub.html Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00
payment-disabled-by-feature-policy.https.sub.html.headers Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly 2017-09-23 15:03:31 +01:00

README.md

Feature Policy Guide

How to Test a New Feature with Feature Policy

This directory contains a framework to test features with feature policy.

When adding a new feature to feature policy, the following cases should be tested:

  • feature enabled by header policy [HTTP tests]
    • test when feature is enabled by feature policy HTTP headerr;
  • feature disabled by header policy [HTTP tests]
    • test when feature is disabled by feature policy HTTP header;
  • feature enabled on self origin by header policy [HTTP tests]
    • test when feature is enabled only on self origin by feature policy HTTP header.
  • feature allowed by container policy (iframe "allow" attribute);
    • test when feature is enabled by iframe "allow" attribute on self and cross origins.
  • feature allowed by container policy, redirect on load.
    • test when feature is enabled by iframe "allow" attribute when the iframe is being redirected to a new origin upon loading

How to Use the Test Framework

Use test_feature_availability() defined in /feature-policy/resources/featurepolicy.js. Please refer to the comments in /feature-policy/resources/featurepolicy.js for how this function works.

How to Write Header Policy Tests

HTTP tests are used to test features with header policy.

  • Define the header policy in <feature-name>-<enabled | disabled | enabled-on-self-origin>-by-feature-policy.https.sub.html.headers. Example:

    Feature-Policy: {"feature-name": ["*"]}

  • In <feature-name>-<enabled | disabled | enabled-on-self-origin>-by-feature-policy.https.sub.html:

  • test if feature is enabled / disabled in the main frame;

  • test if feature is enabled / disabled in a same-origin iframe;

  • test if feature is enabled / disabled in a cross-origin iframe.

Examples: /feature-policy/payment-disabled-by-feature-policy.https.sub.html /feature-policy/payment-disabled-by-feature-policy.https.sub.html.headers

How to Write Container Policy Tests

Simply use test_feature_availability() with the optional argument feature_name specified to test if:

  • feature is enabled / disabled in a same-origin iframe;
  • feature is enabled / disabled in a cross-origin iframe.

Example: /feature-policy/payment-allowed-by-feature-policy-attribute.https.sub.html

How to Write Container Policy Tests with Redirect

Similar to the section above, append /feature-policy/resources/redirect-on-load.html# to the argument src passed to test_feature_availability().

Example: /feature-policy/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html