htmlanchorelement_attribute-getter-setter.html (2994B)
1 <!doctype html> 2 <meta charset="utf-8"> 3 <html> 4 <head> 5 <title>HTMLAnchorElement getters and setters</title> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <a>anchor</a> 9 <script> 10 function test_gettersetter(property, oldresult, newval, newresult, oldurl, newurl) { 11 var a = document.querySelector('a'); 12 a.href = oldurl; 13 var r1 = a[property]; 14 assert_equals(r1, oldresult); 15 a[property] = newval; 16 var r2 = a[property]; 17 assert_equals(r2, newresult); 18 var r3 = a.href; 19 assert_equals(r3, newurl); 20 } 21 22 //Elements for each test: [property, oldresult, newvalue, newresult, oldurl, newurl] 23 // [0] [1] [2] [3] [4] [5] 24 tests = [ 25 ["hash", "#somehash", "someother", "#someother", 26 "http://google.com/index.html#somehash", 27 "http://google.com/index.html#someother"], 28 ["hash", "#somehash", "#someother", "#someother", 29 "http://google.com/index.html#somehash", 30 "http://google.com/index.html#someother"], 31 ["host", "google.com:1234", "github.com:4444", "github.com:4444", 32 "http://google.com:1234/somedir", 33 "http://github.com:4444/somedir"], 34 ["hostname", "google.com", "github.com", "github.com", 35 "http://google.com:1234/somedir", 36 "http://github.com:1234/somedir"], 37 ["href", "http://google.com:1234/somedir", "http://goo-gle.com:1234/other/x.html", "http://goo-gle.com:1234/other/x.html", 38 "http://google.com:1234/somedir", 39 "http://goo-gle.com:1234/other/x.html"], 40 ["password", "flabada", "blubb", "blubb", 41 "https://anonymous:flabada@developer.mozilla.org/en-US/docs/", 42 "https://anonymous:blubb@developer.mozilla.org/en-US/docs/"], 43 ["pathname", "/somedir/someotherdir/index.html", "/newpath/x.txt", "/newpath/x.txt", 44 "http://google.com:1234/somedir/someotherdir/index.html", 45 "http://google.com:1234/newpath/x.txt"], 46 ["port", "1234", "4444", "4444", "http://google.com:1234/somedir", "http://google.com:4444/somedir"], 47 ["protocol", "http:", "ftp:", "ftp:", "http://google.com/somedir", "ftp://google.com/somedir"], 48 ["protocol", "http:", "ftp", "ftp:", "http://google.com/somedir", "ftp://google.com/somedir"], 49 ["search", "?ho", "?hi", "?hi", "http://google.com/q.php?ho", "http://google.com/q.php?hi"], 50 ["search", "?ho", "hi", "?hi", "http://google.com/q.php?ho", "http://google.com/q.php?hi"], 51 ["search", "?ho", "?hi", "?hi", "http://google.com/?ho", "http://google.com/?hi"], 52 ["search", "?ho", "hi", "?hi", "http://google.com/?ho", "http://google.com/?hi"], 53 ["username", "anonymous", "wellknown", "wellknown", 54 "https://anonymous:pwd@developer.mozilla.org:1234/en-US/", 55 "https://wellknown:pwd@developer.mozilla.org:1234/en-US/"] 56 ]; 57 58 for (var i = 0; i < tests.length; i++) { 59 test(function() { 60 test_gettersetter(tests[i][0], tests[i][1], tests[i][2], tests[i][3], tests[i][4], tests[i][5]) 61 }, "Getter and setter for attribute of anchor element(" + i + "):" + tests[i][0] ); 62 } 63 </script> 64 </head> 65 </html>