| <html> |
| <head> |
| <script> |
| function log(message) |
| { |
| var paragraph = document.createElement("p"); |
| paragraph.appendChild(document.createTextNode(message)); |
| document.getElementById("console").appendChild(paragraph); |
| } |
| |
| function expect(expected, actual) |
| { |
| var msg = "Expected " + expected + ", got " + actual + ": "; |
| if (expected == actual) |
| log(msg + "PASS"); |
| else |
| log(msg + "FAIL"); |
| } |
| |
| function createTitleElement(title) |
| { |
| var t = document.createElement('title'); |
| t.appendChild(document.createTextNode(title)); |
| return t; |
| } |
| |
| function test() |
| { |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var head = document.getElementsByTagName('head')[0]; |
| |
| expect('', document.title); |
| head.appendChild(createTitleElement('First title')); |
| expect('First title', document.title); |
| document.title = 'Second title'; |
| expect('Second title', document.title); |
| head.appendChild(createTitleElement('Third title')); |
| expect('Second title', document.title); |
| document.title = 'Fourth title'; |
| expect('Fourth title', document.title); |
| |
| var titles = head.getElementsByTagName('title'); |
| var expectedTitles = {1: 'Third title', 0: ''}; |
| while (titles.length) { |
| titles[0].parentNode.removeChild(titles[0]); |
| expect(expectedTitles[titles.length], document.title); |
| } |
| |
| head.appendChild(createTitleElement('Fifth title')); |
| expect('Fifth title', document.title); |
| } |
| </script> |
| </head> |
| <body> |
| <p>Test for <a href='http://bugs.webkit.org/show_bug.cgi?id=11692'>http://bugs.webkit.org/show_bug.cgi?id=11692</a>. |
| If the title has been explicitly set via document.title, any further <title> tags parsed should not effect |
| the document title.</p> |
| <hr> |
| <div id='console'/> |
| <script> |
| test(); |
| </script> |
| </body> |
| </html> |