| <html> |
| <head> |
| <style> |
| .editing { |
| border: 2px solid red; |
| padding: 12px; |
| font-size: 24px; |
| } |
| </style> |
| <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script> |
| <script> |
| |
| function print(message) { |
| var paragraph = document.createElement('p'); |
| paragraph.appendChild(document.createTextNode(message)); |
| document.getElementById('console').appendChild(paragraph); |
| } |
| |
| function editingTest() { |
| if (!window.objCPlugin) |
| return print('FAIL - no objCPlugin'); |
| |
| objCPlugin.removeBridgeRestrictions_(window); |
| if (!window.objc) |
| return print('FAIL - no window.objc'); |
| |
| // get the data for the pasteboard |
| var myURL = document.URL; |
| var resourceURL = myURL.replace('pasteboard/paste-RTFD.html','resources/RTFD-pasteboard-data.dat'); |
| var data = objc('NSData').dataWithContentsOfURL_(objc('NSURL').URLWithString_(resourceURL)); |
| |
| // This actually returns DumpRenderTree's local pasteboard |
| var pasteboard = objc('NSPasteboard').generalPasteboard(); |
| var pasteboardType = 'NeXT RTFD pasteboard type'; |
| |
| pasteboard.declareType_owner_(pasteboardType, 0); |
| pasteboard.setData_forType_(data, pasteboardType); |
| |
| pasteCommand(); |
| |
| |
| } |
| </script> |
| |
| <title>RTFD paste test</title> |
| </head> |
| <body> |
| <p> |
| On Tiger, this test demonstrates a bug in AppKit's -[NSString _documentFromRange:] method where it produces fragments with extra trailing and leading newlines. This bug is fixed in Leopard. |
| </p> |
| <div contentEditable="true" id="root" class="editing"> |
| <div id="test"> </div> |
| </div> |
| <div id='console'/> |
| |
| <script> |
| runEditingTest(); |
| </script> |
| |
| </body> |
| </html> |