/
githubmirror
/
amphtml
Обзор
Документация
Войти
/
githubmirror
/
amphtml
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
validator/testdata/feature_tests/urls.out
205 строк
15 KB
honeybadgerdontcare
Validator rollup 20210819 (#35748)
20 авг 2021, 21:08
Не верифицирован
20 авг 2021, 21:08
15f658d
Код
Авторство
О чём код?
FAIL | <!-- | Test Description: | This tests looks at specific errors related to URLs in href and src | attributes. | --> | <!doctype html> | <html ⚡> | <head> | <meta charset="utf-8"> | <link rel="canonical" href="javascript://llamas"> >> ^~~~~~~~~ feature_tests/urls.html:10:2 Invalid URL protocol 'javascript:' for attribute 'href' in tag 'link rel=canonical'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#required-markup) | <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui"> | <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript> | <script src="https://cdn.ampproject.org/v0.js" async></script> | <script async custom-element="amp-ad" src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script> | <script async custom-element="amp-video" src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script> | </head> | <body> | <a href="https://google.com/">Valid URL</a> | <a href=" http://google.com/ ">Valid URL</a> | <a href="foo">Valid URL</a> | <a href="/bar">Valid URL</a> | <a href="#foobar">Valid URL</a> | <a href="https://⚡">Valid URL</a> | <a href="https://">Valid URL</a> >> ^~~~~~~~~ feature_tests/urls.html:24:2 Malformed URL 'https://' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="HtTpS://Google.com/">Valid URL</a> | <a href="javascript:alert('boo')">Invalid protocol</a> >> ^~~~~~~~~ feature_tests/urls.html:26:2 Invalid URL protocol 'javascript:' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="JavaScript:alert('boo')">Invalid protocol</a> >> ^~~~~~~~~ feature_tests/urls.html:27:2 Invalid URL protocol 'javascript:' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="javascript:alert(1)">Invalid protocol</a> >> ^~~~~~~~~ feature_tests/urls.html:28:2 Invalid URL protocol 'javascript:' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="vbscript:bar">Invalid protocol</a> >> ^~~~~~~~~ feature_tests/urls.html:29:2 Invalid URL protocol 'vbscript:' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="data:baz">Invalid protocol</a> >> ^~~~~~~~~ feature_tests/urls.html:30:2 Invalid URL protocol 'data:' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="ftp://google.com/">Valid protocol</a> | <!-- invalid (javascript is not an allowed protocol: singluar src element) --> | <amp-img srcset="javascript:alert(1)" layout="fill"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:33:2 Invalid URL protocol 'javascript:' for attribute 'srcset' in tag 'amp-img'. (see https://amp.dev/documentation/components/amp-img/) | <!-- invalid (javascript is not an allwoed protocol: second src element) --> | <amp-img srcset="image-1.png 1x, javascript:alert(1)" layout="fill"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:35:2 Multiple image candidates with the same width or pixel density found in attribute 'srcset' in tag 'amp-img'. (see https://amp.dev/documentation/components/amp-img/) | <!-- valid --> | <amp-img srcset="image-1x.png 1x, image-2x.png 2x" layout="fill"></amp-img> | <!-- valid --> | <amp-img srcset="image-1x.png 1x, image-2x.png 2x," layout="fill"></amp-img> | <!-- valid (commas are valid in URLs) --> | <amp-img srcset="image-1,x.png 1x, image-2,x.png 2x" layout="fill"></amp-img> | <!-- invalid (javascript is not an allowed protocol: multi src element) --> | <amp-img srcset="javascript:alert('boo') 1x, foo 2x" layout="fill"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:43:2 Invalid URL protocol 'javascript:' for attribute 'srcset' in tag 'amp-img'. (see https://amp.dev/documentation/components/amp-img/) | <!-- invalid (javascript is not an allowed protocol: case insensitive) --> | <amp-img srcset="image-1x.png 1x, JavaScript:baz 2x" layout="fill"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:45:2 Invalid URL protocol 'javascript:' for attribute 'srcset' in tag 'amp-img'. (see https://amp.dev/documentation/components/amp-img/) | <!-- invalid (empty) --> | <amp-img srcset="" layout="fill"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:47:2 Missing URL for attribute 'srcset' in tag 'amp-img'. (see https://amp.dev/documentation/components/amp-img/) | <!-- invalid (duplicate pixel density) --> | <amp-img srcset="image-1x.png 1x, image-2x.png 1x" layout="fill"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:49:2 Multiple image candidates with the same width or pixel density found in attribute 'srcset' in tag 'amp-img'. (see https://amp.dev/documentation/components/amp-img/) | <!-- invalid (URL has spaces that are not encoded) --> | <amp-img srcset="image 1x.png 1x, image 2x.png 2x" layout="fill"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:51:2 The attribute 'srcset' in tag 'amp-img' is set to the invalid value 'image 1x.png 1x, image 2x.png 2x'. (see https://amp.dev/documentation/components/amp-img/) | <!-- valid (URL has encoded spaces) --> | <amp-img srcset=", image%201x.png 1x, image%202x.png 2x" layout="fill"></amp-img> | <a href="http://foobarbazexample.com\x10.com/">Interesting Case</a> | | <!-- Missing src --> | <amp-ad src="" width="42" height="42" type=""></amp-ad> >> ^~~~~~~~~ feature_tests/urls.html:57:2 Missing URL for attribute 'src' in tag 'amp-ad'. (see https://amp.dev/documentation/components/amp-ad/) | <amp-anim src="" width="42" height="42"></amp-anim> >> ^~~~~~~~~ feature_tests/urls.html:58:2 Missing URL for attribute 'src' in tag 'amp-anim'. (see https://amp.dev/documentation/components/amp-anim/) >> ^~~~~~~~~ feature_tests/urls.html:58:2 The tag 'amp-anim' requires including the 'amp-anim' extension JavaScript. (see https://amp.dev/documentation/components/amp-anim/) | <amp-audio src="" layout="fixed" width="42"></amp-audio> >> ^~~~~~~~~ feature_tests/urls.html:59:2 Missing URL for attribute 'src' in tag 'amp-audio'. (see https://amp.dev/documentation/components/amp-audio/) >> ^~~~~~~~~ feature_tests/urls.html:59:2 The tag 'amp-audio' requires including the 'amp-audio' extension JavaScript. (see https://amp.dev/documentation/components/amp-audio/) | <amp-iframe src="" width="42" height="42"></amp-iframe> >> ^~~~~~~~~ feature_tests/urls.html:60:2 Missing URL for attribute 'src' in tag 'amp-iframe'. (see https://amp.dev/documentation/components/amp-iframe) >> ^~~~~~~~~ feature_tests/urls.html:60:2 The tag 'amp-iframe' requires including the 'amp-iframe' extension JavaScript. (see https://amp.dev/documentation/components/amp-iframe) | <amp-img src="" layout="responsive" width="42" height="42"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:61:2 Missing URL for attribute 'src' in tag 'amp-img'. (see https://amp.dev/documentation/components/amp-img/) | <amp-pixel src="" layout="fixed" width="42"></amp-pixel> | <amp-video src="" width="42" height="42"></amp-video> >> ^~~~~~~~~ feature_tests/urls.html:63:2 Missing URL for attribute 'src' in tag 'amp-video'. (see https://amp.dev/documentation/components/amp-video/) | <!-- src contains only whitespace: regular space followed by non-breaking | space followed by tab. --> | <amp-ad src=" " width="42" height="42" type=""></amp-ad> >> ^~~~~~~~~ feature_tests/urls.html:66:2 Missing URL for attribute 'src' in tag 'amp-ad'. (see https://amp.dev/documentation/components/amp-ad/) | <!-- Invalid protocol --> | <amp-ad src="http://amp-ad" width="42" height="42" type=""></amp-ad> >> ^~~~~~~~~ feature_tests/urls.html:68:2 Invalid URL protocol 'http:' for attribute 'src' in tag 'amp-ad'. (see https://amp.dev/documentation/components/amp-ad/) | <amp-iframe src="http://amp-iframe" width="42" height="42"></amp-iframe> >> ^~~~~~~~~ feature_tests/urls.html:69:2 Invalid URL protocol 'http:' for attribute 'src' in tag 'amp-iframe'. (see https://amp.dev/documentation/components/amp-iframe) >> ^~~~~~~~~ feature_tests/urls.html:69:2 The tag 'amp-iframe' requires including the 'amp-iframe' extension JavaScript. (see https://amp.dev/documentation/components/amp-iframe) | <amp-pixel src="http://amp-pixel" layout="fixed" width="42"></amp-pixel> >> ^~~~~~~~~ feature_tests/urls.html:70:2 Invalid URL protocol 'http:' for attribute 'src' in tag 'amp-pixel'. (see https://amp.dev/documentation/components/amp-pixel/) | <amp-video src="http://amp-video" width="42" height="42"></amp-video> >> ^~~~~~~~~ feature_tests/urls.html:71:2 Invalid URL protocol 'http:' for attribute 'src' in tag 'amp-video'. (see https://amp.dev/documentation/components/amp-video/) | <a href=" j a v a s c r i p t :alert(1)">Invalid protocol</a> >> ^~~~~~~~~ feature_tests/urls.html:72:2 Invalid URL protocol 'j a v a s c r i p t :' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | | <!-- Valid ipv6 addresses --> | <a href="https://[2001:0db8::85a3]/">Valid</a> | <a href="https://[::1]/">Valid</a> | <a href="https://[0:0:0:0:0:0:0:1]/">Valid</a> | <a href="https://[0:0:0:0:0:0:8.8.8.8]/">Valid</a> | <a href="https://[0:0:0:0:0:0:8.124.8.8]/">Valid</a> | <a href="https://[0:0:0:0:0:0:8.8.8.22]/">Valid</a> | <a href="https://[::8.8.8.8]/">Valid</a> | <!-- Invalid ipv6 addresses --> | <a href="https://[2001:0db8:85a3]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:83:2 Malformed URL 'https://[2001:0db8:85a3]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[20012:0db8::85a3]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:84:2 Malformed URL 'https://[20012:0db8::85a3]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[200g:0db8:85a3]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:85:2 Malformed URL 'https://[200g:0db8:85a3]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[:::1]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:86:2 Malformed URL 'https://[:::1]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[0:0:0:0:0:0:1]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:87:2 Malformed URL 'https://[0:0:0:0:0:0:1]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[0:0:0:0:0:0:0:0:1]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:88:2 Malformed URL 'https://[0:0:0:0:0:0:0:0:1]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[0:0:0:0:0:0:0:8.8.8.8]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:89:2 Malformed URL 'https://[0:0:0:0:0:0:0:8.8.8.8]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[0:0:0:0:0:8.8.8.8]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:90:2 Malformed URL 'https://[0:0:0:0:0:8.8.8.8]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <a href="https://[0:0:0:0:0:8.8.8.8:1]/">Invalid</a> >> ^~~~~~~~~ feature_tests/urls.html:91:2 Malformed URL 'https://[0:0:0:0:0:8.8.8.8:1]/' for attribute 'href' in tag 'a'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | | <!-- __amp_source_origin is not an allowed value for URLs. --> | <a href="__amp_source_origin">uhm, no</a> >> ^~~~~~~~~ feature_tests/urls.html:94:2 The attribute 'href' in tag 'a' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml/#links) | <amp-ad src="__amp_source_origin" width="42" height="42" type=""></amp-ad> >> ^~~~~~~~~ feature_tests/urls.html:95:2 The attribute 'src' in tag 'amp-ad' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/components/amp-ad/) | <amp-anim src="__amp_source_origin" width="42" height="42"></amp-anim> >> ^~~~~~~~~ feature_tests/urls.html:96:2 The attribute 'src' in tag 'amp-anim' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/components/amp-anim/) >> ^~~~~~~~~ feature_tests/urls.html:96:2 The tag 'amp-anim' requires including the 'amp-anim' extension JavaScript. (see https://amp.dev/documentation/components/amp-anim/) | <amp-audio src="__amp_source_origin" layout="fixed" width="42"></amp-audio> >> ^~~~~~~~~ feature_tests/urls.html:97:2 The attribute 'src' in tag 'amp-audio' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/components/amp-audio/) >> ^~~~~~~~~ feature_tests/urls.html:97:2 The tag 'amp-audio' requires including the 'amp-audio' extension JavaScript. (see https://amp.dev/documentation/components/amp-audio/) | <amp-iframe src="__amp_source_origin" width="42" height="42"></amp-iframe> >> ^~~~~~~~~ feature_tests/urls.html:98:2 The attribute 'src' in tag 'amp-iframe' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/components/amp-iframe) >> ^~~~~~~~~ feature_tests/urls.html:98:2 The tag 'amp-iframe' requires including the 'amp-iframe' extension JavaScript. (see https://amp.dev/documentation/components/amp-iframe) | <amp-img src="__amp_source_origin" layout="responsive" width="42" height="42"></amp-img> >> ^~~~~~~~~ feature_tests/urls.html:99:2 The attribute 'src' in tag 'amp-img' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/components/amp-img/) | <amp-pixel src="__amp_source_origin" layout="fixed" width="42"></amp-pixel> >> ^~~~~~~~~ feature_tests/urls.html:100:2 The attribute 'src' in tag 'amp-pixel' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/components/amp-pixel/) | <amp-video src="__amp_source_origin" width="42" height="42"></amp-video> >> ^~~~~~~~~ feature_tests/urls.html:101:2 The attribute 'src' in tag 'amp-video' is set to the invalid value '__amp_source_origin'. (see https://amp.dev/documentation/components/amp-video/) | <amp-video src="%5f_amp_source%5forigin" width="42" height="42"></amp-video> | </body> | </html>