| <html> |
| <head> |
| <style> |
| body { margin: 0; padding: 0 } |
| </style> |
| </head> |
| <body> |
| <div id="test" contenteditable>FAILURE</div> |
| <p id="console"></p> |
| <script type="text/javascript"> |
| |
| var console_messages = document.createElement("ol"); |
| |
| function log(message) |
| { |
| var item = document.createElement("li"); |
| item.appendChild(document.createTextNode(message)); |
| console_messages.appendChild(item); |
| } |
| |
| if (window.layoutTestController) { |
| |
| try { |
| |
| layoutTestController.dumpAsText(); |
| document.getElementById("test").focus(); |
| |
| var substr = textInputController.attributedSubstringFromRange(0, 2); |
| // log(substr); -- attributedSubstringFromRange is not implemented in WebKit yet |
| |
| var attrString = textInputController.makeAttributedString("test"); |
| log(attrString.getAttributeNamesAtIndex(0)); |
| log(attrString.length()); |
| log(attrString.string()); |
| |
| attrString.addAttribute("NSToolTip", "Tool Tip"); |
| attrString.addFontAttribute("NSFont", "Monaco", 14); |
| attrString.addColorAttribute("NSForegroundColor", 1, 1, 1, 0.5); |
| |
| attrString.addFontAttributeForRange("NSFont", "Monaco", 12, 0, 2); |
| attrString.addColorAttributeForRange("NSForegroundColor", 1, 0.5, 1, 0.5, 0, 2); |
| attrString.addAttributeForRange("NSObliqueness", 0.5, 0, 2); |
| |
| log(attrString.length()); |
| log(attrString.string()); |
| |
| log(attrString.getAttributeNamesAtIndex(0)); |
| log(attrString.getAttributeNamesAtIndex(3)); |
| |
| log(attrString.getAttributeValueAtIndex("NSObliqueness", 0)); |
| log(attrString.getAttributeValueAtIndex("NSObliqueness", 3)); |
| |
| log(attrString.getAttributeValueAtIndex("NSForegroundColor", 1)); |
| |
| document.execCommand("SelectAll"); |
| |
| textInputController.insertText(attrString); |
| |
| } catch (ex) { |
| document.write("Exception: " + ex.description); |
| } |
| |
| document.getElementById("console").appendChild(console_messages); |
| |
| } else { |
| document.write("(cannot run interactively)"); |
| } |
| </script> |
| </body> |
| </html> |