diff --git a/.travis.yml b/.travis.yml index db4454d8..ed294142 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,3 +12,7 @@ before_script: script: - vendor/bin/phpunit tests + +matrix: + allow_failures: + - php: nightly diff --git a/README.md b/README.md index 405390dc..371351e3 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ $ ./amp-console amp:convert sample-html/several_errors.html --full-document ``` Note that you need to provide `--full-document` if you're providing a full html document file for conversion. -Lets see the output output of the first example command above. The first few lines is the AMPized HTML provided by our library. The rest of the headings are self explanatory. +Lets see the output of the first example command above. The first few lines is the AMPized HTML provided by our library. The rest of the headings are self explanatory. ```html $ cd @@ -161,18 +161,18 @@ FAIL on line 1 - The attribute 'style' may not appear in tag 'a'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.style attribute was removed due to validation issues. - Invalid URL protocol 'javascript:' for attribute 'href' in tag 'a'. - [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML] + [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 2 - The attribute 'style' may not appear in tag 'a'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.style attribute was removed due to validation issues. - The attribute 'target' in tag 'a' is set to the invalid value '_parent'. - [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML] + [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#html-tags] ACTION TAKEN: a.target attribute was removed due to validation issues. on line 5 @@ -182,7 +182,7 @@ FAIL
on line 6 - The attribute 'onmouseover' may not appear in tag 'div'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: div.onmouseover attribute was removed due to validation issues. + @@ -117,7 +118,7 @@ - + @@ -272,7 +273,7 @@ Line 110: Line 111: Line 112: Line 113: -Line 114: +Line 114: Line 115: Line 116: Line 117: @@ -343,7 +344,6 @@ FAIL on line 117 - The mandatory attribute 'height' is missing in tag 'amp-img'. [code: MANDATORY_ATTR_MISSING category: AMP_LAYOUT_PROBLEM see: https://www.ampproject.org/docs/reference/amp-img.html] - ACTION TAKEN: amp-img tried to fix problems with amp-img by trying to fetch height, width from image directly and/or setting layout to responsive on line 118 - The mandatory attribute 'width' is missing in tag 'amp-img'. diff --git a/tests/test-data/full-html/regexps.html.out b/tests/test-data/full-html/regexps.html.out index fa529fe9..905f51af 100644 --- a/tests/test-data/full-html/regexps.html.out +++ b/tests/test-data/full-html/regexps.html.out @@ -192,36 +192,36 @@ FAIL on line 46 - The attribute 'href' in tag 'link rel=stylesheet for fonts' is set to the invalid value 'http://xss.com/https://fonts.googleapis.com/css?foobar'. - [code: INVALID_ATTR_VALUE category: AUTHOR_STYLESHEET_PROBLEM] + [code: INVALID_ATTR_VALUE category: AUTHOR_STYLESHEET_PROBLEM see: https://www.ampproject.org/docs/reference/spec.html#custom-fonts] ACTION TAKEN: link.href attribute was removed due to validation issues. - FINAL ACTION TAKEN: link tag removed from head as it still does not validate. Could not fix tag validation problems. on line 55 - The attribute 'rel' in tag 'link rel=' is set to the invalid value 'import'. - [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML] + [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#html-tags] ACTION TAKEN: link.rel attribute was removed due to validation issues. - FINAL ACTION TAKEN: link tag removed from head as it still does not validate. Could not fix tag validation problems. on line 56 - The attribute 'rel' in tag 'link rel=' is set to the invalid value 'accessibility subresource'. - [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML] + [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#html-tags] ACTION TAKEN: link.rel attribute was removed due to validation issues. - FINAL ACTION TAKEN: link tag removed from head as it still does not validate. Could not fix tag validation problems. on line 57 - The attribute 'rel' in tag 'link rel=' is set to the invalid value 'manifest accessibility'. - [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML] + [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#html-tags] ACTION TAKEN: link.rel attribute was removed due to validation issues. - FINAL ACTION TAKEN: link tag removed from head as it still does not validate. Could not fix tag validation problems. on line 65 - The attribute 'name' in tag 'meta name= and content=' is set to the invalid value 'content-disposition'. - [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML] + [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#html-tags] ACTION TAKEN: meta.name attribute was removed due to validation issues. on line 66 - The attribute 'name' in tag 'meta name= and content=' is set to the invalid value 'invalid content-disposition'. - [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML] + [code: INVALID_ATTR_VALUE category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#html-tags] ACTION TAKEN: meta.name attribute was removed due to validation issues. on line 77 diff --git a/tests/test-data/full-html/several_errors.html.out b/tests/test-data/full-html/several_errors.html.out index c2eb7209..c02e35e2 100644 --- a/tests/test-data/full-html/several_errors.html.out +++ b/tests/test-data/full-html/several_errors.html.out @@ -21,6 +21,7 @@ + @@ -89,7 +90,7 @@ FAIL on line 23 - The attribute 'charset' may not appear in tag 'meta name= and content='. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: meta.charset attribute was removed due to validation issues. - + +

Sample document

diff --git a/tests/test-data/full-html/urls.html.out b/tests/test-data/full-html/urls.html.out index 9406edb6..034ffd97 100644 --- a/tests/test-data/full-html/urls.html.out +++ b/tests/test-data/full-html/urls.html.out @@ -23,6 +23,7 @@ + Valid URL @@ -186,37 +187,37 @@ FAIL on line 37 - Malformed URL 'https://' for attribute 'href' in tag 'a'. - [code: INVALID_URL category: DISALLOWED_HTML] + [code: INVALID_URL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 39 - Invalid URL protocol 'javascript:' for attribute 'href' in tag 'a'. - [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML] + [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 40 - Invalid URL protocol 'javascript:' for attribute 'href' in tag 'a'. - [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML] + [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 41 - Invalid URL protocol 'javascript:' for attribute 'href' in tag 'a'. - [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML] + [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 42 - Invalid URL protocol 'vbscript:' for attribute 'href' in tag 'a'. - [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML] + [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 43 - Invalid URL protocol 'data:' for attribute 'href' in tag 'a'. - [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML] + [code: INVALID_URL_PROTOCOL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 45 - Malformed URL 'http://site:80808/%AFpage' for attribute 'href' in tag 'a'. - [code: INVALID_URL category: DISALLOWED_HTML] + [code: INVALID_URL category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: a.href attribute was removed due to validation issues. on line 47 diff --git a/tests/test-data/full-html/validator-amp-jwplayer.html.out b/tests/test-data/full-html/validator-amp-jwplayer.html.out index ea30e0fe..7d604ae2 100644 --- a/tests/test-data/full-html/validator-amp-jwplayer.html.out +++ b/tests/test-data/full-html/validator-amp-jwplayer.html.out @@ -107,13 +107,13 @@ FAIL on line 48 - The tag 'amp-jwplayer' is missing a mandatory attribute - pick one of data-media-id or data-playlist-id. - [code: MANDATORY_ONEOF_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-jwplayer/amp-jwplayer.md] + [code: MANDATORY_ONEOF_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-jwplayer.html] - The mandatory attribute 'data-player-id' is missing in tag 'amp-jwplayer'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-jwplayer/amp-jwplayer.md] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-jwplayer.html] on line 52 - The tag 'amp-jwplayer' is missing a mandatory attribute - pick one of data-media-id or data-playlist-id. - [code: MANDATORY_ONEOF_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-jwplayer/amp-jwplayer.md] + [code: MANDATORY_ONEOF_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-jwplayer.html] COMPONENT NAMES WITH JS PATH ------------------------------ diff --git a/tests/test-data/full-html/validator-amp-mustache.html.out b/tests/test-data/full-html/validator-amp-mustache.html.out index 21d22e3a..4235aeb7 100644 --- a/tests/test-data/full-html/validator-amp-mustache.html.out +++ b/tests/test-data/full-html/validator-amp-mustache.html.out @@ -267,37 +267,37 @@ FAIL

on line 53 - The attribute 'notallowed' may not appear in tag 'p'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: p.notallowed attribute was removed due to validation issues.

on line 54 - The attribute 'notallowed' may not appear in tag 'p'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: p.notallowed attribute was removed due to validation issues.

on line 55 - The attribute 'notallowed' may not appear in tag 'p'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: p.notallowed attribute was removed due to validation issues.

on line 56 - The attribute 'notallowed' may not appear in tag 'p'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: p.notallowed attribute was removed due to validation issues.

on line 59 - The attribute 'notallowed' may not appear in tag 'p'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: p.notallowed attribute was removed due to validation issues.

on line 62 - The attribute 'notallowed' may not appear in tag 'p'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: p.notallowed attribute was removed due to validation issues.

on line 63 - The attribute 'notallowed' may not appear in tag 'p'. - [code: DISALLOWED_ATTR category: DISALLOWED_HTML] + [code: DISALLOWED_ATTR category: DISALLOWED_HTML see: https://www.ampproject.org/docs/reference/spec.html#links] ACTION TAKEN: p.notallowed attribute was removed due to validation issues.

on line 64 diff --git a/tests/test-data/full-html/validator-amp-sidebar.html.out b/tests/test-data/full-html/validator-amp-sidebar.html.out index fe1b62d8..a103d11a 100644 --- a/tests/test-data/full-html/validator-amp-sidebar.html.out +++ b/tests/test-data/full-html/validator-amp-sidebar.html.out @@ -26,6 +26,7 @@ + @@ -135,5 +136,6 @@ FAIL COMPONENT NAMES WITH JS PATH ------------------------------ +'amp-sidebar', include path 'https://cdn.ampproject.org/v0/amp-sidebar-0.1.js' 'amp-fit-text', include path 'https://cdn.ampproject.org/v0/amp-fit-text-0.1.js' diff --git a/tests/test-data/full-html/validator-amp-springboard-player.html.out b/tests/test-data/full-html/validator-amp-springboard-player.html.out index ba904860..4575c428 100644 --- a/tests/test-data/full-html/validator-amp-springboard-player.html.out +++ b/tests/test-data/full-html/validator-amp-springboard-player.html.out @@ -145,48 +145,48 @@ FAIL on line 41 - The attribute 'data-site-id' in tag 'amp-springboard-player' is set to the invalid value 'a261'. - [code: INVALID_ATTR_VALUE category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: INVALID_ATTR_VALUE category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] ACTION TAKEN: amp-springboard-player.data-site-id attribute was removed due to validation issues. on line 46 - The attribute 'data-player-id' in tag 'amp-springboard-player' is set to the invalid value 'test 401'. - [code: INVALID_ATTR_VALUE category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: INVALID_ATTR_VALUE category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] ACTION TAKEN: amp-springboard-player.data-player-id attribute was removed due to validation issues. on line 51 - The mandatory attribute 'data-content-id' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] on line 56 - The mandatory attribute 'data-domain' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] on line 61 - The mandatory attribute 'data-items' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] on line 66 - The mandatory attribute 'data-mode' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] on line 71 - The mandatory attribute 'data-player-id' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] on line 76 - The mandatory attribute 'data-site-id' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] on line 80 - The specified layout 'FIXED_HEIGHT' is not supported by tag 'amp-springboard-player'. - [code: SPECIFIED_LAYOUT_INVALID category: AMP_LAYOUT_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: SPECIFIED_LAYOUT_INVALID category: AMP_LAYOUT_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] ACTION TAKEN: amp-springboard-player.layout attribute was removed due to validation issues. - The mandatory attribute 'data-content-id' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] - The mandatory attribute 'data-domain' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] - The mandatory attribute 'data-items' is missing in tag 'amp-springboard-player'. - [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://github.com/ampproject/amphtml/blob/master/extensions/amp-springboard-player/amp-springboard-player.html] + [code: MANDATORY_ATTR_MISSING category: AMP_TAG_PROBLEM see: https://www.ampproject.org/docs/reference/extended/amp-springboard-player.html] COMPONENT NAMES WITH JS PATH ------------------------------