data-uri.htm (1913B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <title>XMLHttpRequest: data URLs</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <div id="log"></div> 7 8 <script> 9 function do_test(method, url, mimeType, testNamePostfix) { 10 if (typeof mimeType === 'undefined' || mimeType === null) mimeType = 'text/plain'; 11 var test = async_test("XHR method " + method + " with MIME type " + mimeType + (testNamePostfix||'')); 12 test.step(function() { 13 var client = new XMLHttpRequest(), 14 body = method === "HEAD" ? "" : "Hello, World!"; 15 client.onreadystatechange = test.step_func(function () { 16 if (client.readyState !== 4) { 17 return; 18 } 19 assert_equals(client.responseText, body); 20 assert_equals(client.status, 200); 21 assert_equals(client.getResponseHeader('Content-Type'), mimeType); 22 var allHeaders = client.getAllResponseHeaders(); 23 assert_regexp_match(allHeaders, /content\-type\:/i, 'getAllResponseHeaders() includes Content-Type'); 24 assert_false(/content\-length\:/i.test(allHeaders), 'getAllResponseHeaders() must not include Content-Length'); 25 test.done(); 26 }); 27 client.open(method, url); 28 client.send(null); 29 }); 30 } 31 do_test('GET', "data:text/plain,Hello, World!"); 32 do_test('GET', "data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==", undefined, " (base64)"); 33 do_test('GET', "data:text/html,Hello, World!", 'text/html'); 34 do_test('GET', "data:text/html;charset=UTF-8,Hello, World!", 'text/html;charset=UTF-8'); 35 do_test('GET', "data:image/png,Hello, World!", 'image/png'); 36 do_test('POST', "data:text/plain,Hello, World!"); 37 do_test('PUT', "data:text/plain,Hello, World!"); 38 do_test('DELETE', "data:text/plain,Hello, World!"); 39 do_test('HEAD', "data:text/plain,Hello, World!"); 40 do_test('UNICORN', "data:text/plain,Hello, World!"); 41 </script>