[webkit-changes] cvs commit: LayoutTests/fast/text attributed-substring-from-range-expected.txt attributed-substring-from-range-lines-expected.txt attributed-substring-from-range-lines.html attributed-substring-from-range.html

Darin darin at opensource.apple.com
Fri Dec 16 08:51:41 PST 2005


darin       05/12/16 08:51:41

  Modified:    .        ChangeLog
  Added:       fast/text attributed-substring-from-range-expected.txt
                        attributed-substring-from-range-lines-expected.txt
                        attributed-substring-from-range-lines.html
                        attributed-substring-from-range.html
  Log:
          - Added layout tests Evan Gross contributed about converting to attributed string.
            The results here currently seem wrong, but are what I get with TOT.
  
          * fast/text/attributed-substring-from-range-expected.txt: Added.
          * fast/text/attributed-substring-from-range-lines-expected.txt: Added.
          * fast/text/attributed-substring-from-range-lines.html: Added.
          * fast/text/attributed-substring-from-range.html: Added.
  
  Revision  Changes    Path
  1.159     +10 -0     LayoutTests/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/LayoutTests/ChangeLog,v
  retrieving revision 1.158
  retrieving revision 1.159
  diff -u -r1.158 -r1.159
  --- ChangeLog	16 Dec 2005 16:40:17 -0000	1.158
  +++ ChangeLog	16 Dec 2005 16:51:39 -0000	1.159
  @@ -1,3 +1,13 @@
  +2005-12-16  Darin Adler  <darin at apple.com>
  +
  +        - Added layout tests Evan Gross contributed about converting to attributed string.
  +          The results here currently seem wrong, but are what I get with TOT.
  +
  +        * fast/text/attributed-substring-from-range-expected.txt: Added.
  +        * fast/text/attributed-substring-from-range-lines-expected.txt: Added.
  +        * fast/text/attributed-substring-from-range-lines.html: Added.
  +        * fast/text/attributed-substring-from-range.html: Added.
  +
   2005-12-16  Mitz Pettel  <opendarwin.org at mitzpettel.com>
   
           Reviewed and landed by Darin.
  
  
  
  1.1                  LayoutTests/fast/text/attributed-substring-from-range-expected.txt
  
  Index: attributed-substring-from-range-expected.txt
  ===================================================================
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > I > B > BODY > HTML > #document to 1 of #text > I > B > BODY > HTML > #document toDOMRange:range from 1 of #text > I > B > BODY > HTML > #document to 3 of #text > I > B > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  Testing styled text (12<b>3<i>456</i></b>)
  (0, 0): { NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Roman 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }
  (0, 2): 12{ NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Roman 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }
  (0, 3): 12{ NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Roman 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }3{ NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Bold 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }
  (0, 6): 12{ NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Roman 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }3{ NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Bold 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }456{ NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-BoldItalic 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }
  (0, 7): { NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Roman 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }
  (0, 100): { NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-Roman 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }
  (5, 1): 6{ NSColor = NSCalibratedWhiteColorSpace 0 1; NSFont = "Times-BoldItalic 16.00 pt. P [] (0xXXXXXXXX) fobj=0xXXXXXXXX, spc=4.00"; }
  (5, 2):
  (100, 0):
  (100, 100):
  Testing proper space runs (1._2.__3.___4_5)
  total length: 0
  one space: " "
  two spaces: "  "
  three spaces: "   "
  four spaces: "    "
  Testing space-only runs (1..2...3....4.5)
  total length: 0
  (0, 100):
  
  
  
  
  
  1.1                  LayoutTests/fast/text/attributed-substring-from-range-lines-expected.txt
  
  Index: attributed-substring-from-range-lines-expected.txt
  ===================================================================
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  Actual HTML:
  <pre> <DIV class="editing" id="test"></DIV> </pre>
  (0, 0):
  (0, 0) length: 0
  (0, 2):
  (0, 2) length: 0
  (1, 2):
  (1, 2) length: 0
  (0, 3):
  (0, 3) length: 0
  (0, 6):
  (0, 6) length: 0
  (0, 7):
  (0, 7) length: 0
  (0, 31):
  (0, 31) length: 0
  (0, 100):
  (0, 100) length: 0
  (1, 100):
  (1, 100) length: 0
  (2, 3):
  (2, 3) length: 0
  (5, 1):
  (5, 1) length: 0
  (5, 2):
  (5, 2) length: 0
  (5, 5):
  (5, 5) length: 0
  (15, 14):
  (15, 14) length: 0
  (100, 0):
  (100, 100):
  
  
  
  
  
  1.1                  LayoutTests/fast/text/attributed-substring-from-range-lines.html
  
  Index: attributed-substring-from-range-lines.html
  ===================================================================
  <html>
  <head>
  <style>
  .editing { 
      margin: 10; padding: 0; 
  }
  </style>
  <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
  
  <script>
  
  function editingTest() {
      typeCharacterCommand('1');
      typeCharacterCommand('2');
      boldCommand();
      typeCharacterCommand('3');
      italicCommand();
      typeCharacterCommand('4');
      typeCharacterCommand('5');
      typeCharacterCommand('6');
      italicCommand();
      boldCommand();
      insertParagraphCommand();
      typeCharacterCommand('l');
      typeCharacterCommand('i');
      typeCharacterCommand('n');
      typeCharacterCommand('e');
      typeCharacterCommand(' ');
      typeCharacterCommand('t');
      typeCharacterCommand('w');
      typeCharacterCommand('o');
      insertLineBreakCommand();
      insertLineBreakCommand();
      typeCharacterCommand('a');
      typeCharacterCommand('n');
      typeCharacterCommand('d');
      typeCharacterCommand(' ');
      fontSizeCommand("36pt");
      underlineCommand();
      typeCharacterCommand('t');
      typeCharacterCommand('h');
      typeCharacterCommand('r');
      typeCharacterCommand('e');
      typeCharacterCommand('e');
      typeCharacterCommand(' ');
      typeCharacterCommand(' ');
      typeCharacterCommand(' ');
      underlineCommand();
      insertLineBreakCommand();
  }
  
  </script>
  
  <title>Attributed String Test</title> 
  </head>
  <body contenteditable id="root">
  <div id="wrapper">
  <div class="editing" id="test"></div>
  </div>
  
  <script>
  runEditingTest();
  </script>
  
  <script type="text/javascript">
  
      var console_messages = document.createElement("ol");
      
      function log(message)
      {
          var item = document.createElement("li");
          item.appendChild(document.createTextNode(String(message).replace(/0x[0-9a-fA-F]{8}/g, "0xXXXXXXXX")));
          console_messages.appendChild(item);
      }
      
      if (window.layoutTestController) {
          
          try {
          
              layoutTestController.dumpAsText();
          
              log("Actual HTML:");
              log("<pre>" + document.getElementById("wrapper").innerHTML + "</pre>");
              window.getSelection().setPosition(document.body, 0);
  
              log("(0, 0): " + textInputController.attributedSubstringFromRange(0, 0));
              log("(0, 0) length: " + textInputController.attributedSubstringFromRange(0, 0).length());
              log("(0, 2): " + textInputController.attributedSubstringFromRange(0, 2));
              log("(0, 2) length: " + textInputController.attributedSubstringFromRange(0, 2).length());
              log("(1, 2): " + textInputController.attributedSubstringFromRange(1, 2));
              log("(1, 2) length: " + textInputController.attributedSubstringFromRange(1, 2).length());
              log("(0, 3): " + textInputController.attributedSubstringFromRange(0, 3));
              log("(0, 3) length: " + textInputController.attributedSubstringFromRange(0, 3).length());
              log("(0, 6): " + textInputController.attributedSubstringFromRange(0, 6));
              log("(0, 6) length: " + textInputController.attributedSubstringFromRange(0, 6).length());
              log("(0, 7): " + textInputController.attributedSubstringFromRange(0, 7));
              log("(0, 7) length: " + textInputController.attributedSubstringFromRange(0, 7).length()); // should be 7 characters!
              log("(0, 31): " + textInputController.attributedSubstringFromRange(0, 31));
              log("(0, 31) length: " + textInputController.attributedSubstringFromRange(0, 31).length()); // actual length IS 31
              log("(0, 100): " + textInputController.attributedSubstringFromRange(0, 100));
              log("(0, 100) length: " + textInputController.attributedSubstringFromRange(0, 100).length()); // should be 31 characters!
              log("(1, 100): " + textInputController.attributedSubstringFromRange(1, 100));
              log("(1, 100) length: " + textInputController.attributedSubstringFromRange(1, 100).length()); // should be 30 characters!
              log("(2, 3): " + textInputController.attributedSubstringFromRange(2, 3));
              log("(2, 3) length: " + textInputController.attributedSubstringFromRange(2, 3).length());
              log("(5, 1): " + textInputController.attributedSubstringFromRange(5, 1));
              log("(5, 1) length: " + textInputController.attributedSubstringFromRange(5, 1).length());
              log("(5, 2): " + textInputController.attributedSubstringFromRange(5, 2));
              log("(5, 2) length: " + textInputController.attributedSubstringFromRange(5, 2).length());
              log("(5, 5): " + textInputController.attributedSubstringFromRange(5, 5));
              log("(5, 5) length: " + textInputController.attributedSubstringFromRange(5, 5).length());
              log("(15, 14): " + textInputController.attributedSubstringFromRange(15, 14));
              log("(15, 14) length: " + textInputController.attributedSubstringFromRange(15, 14).length()); // should be 14 characters!
              log("(100, 0): " + textInputController.attributedSubstringFromRange(100, 0)); // should be undefined
              log("(100, 100): " + textInputController.attributedSubstringFromRange(100, 100)); // should be undefined
              
          } catch (ex) {
              log("Exception: " + ex.description);
          }
          
          var console = document.createElement("p");
          console.appendChild(console_messages);
          document.body.appendChild(console);
          
      } else {
          document.write("(cannot run interactively)");
      }
  </script>
  </body>
  </html>
  
  
  
  1.1                  LayoutTests/fast/text/attributed-substring-from-range.html
  
  Index: attributed-substring-from-range.html
  ===================================================================
  <html>
  <head>
  <style>
  body { margin: 10; padding: 0 }
  </style>
  </head>
  <body contenteditable>
  12<b>3<i>4</i></b>
  <script type="text/javascript">
  
      var console_messages = document.createElement("ol");
      
      function log(message)
      {
          var item = document.createElement("li");
          item.appendChild(document.createTextNode(String(message).replace(/0x[0-9a-fA-F]{8}/g, "0xXXXXXXXX")));
          console_messages.appendChild(item);
      }
      
      if (window.layoutTestController) {
          
          try {
          
              layoutTestController.dumpAsText();
          
              log("Testing styled text (12<b>3<i>456</i></b>)");
              window.getSelection().setPosition(document.body, 4);
              textInputController.setMarkedText("56", 0, 1);
  
              log("(0, 0): " + textInputController.attributedSubstringFromRange(0, 0));
              log("(0, 2): " + textInputController.attributedSubstringFromRange(0, 2));
              log("(0, 3): " + textInputController.attributedSubstringFromRange(0, 3));
              log("(0, 6): " + textInputController.attributedSubstringFromRange(0, 6));
              log("(0, 7): " + textInputController.attributedSubstringFromRange(0, 7));
              log("(0, 100): " + textInputController.attributedSubstringFromRange(0, 100));
              log("(5, 1): " + textInputController.attributedSubstringFromRange(5, 1));
              log("(5, 2): " + textInputController.attributedSubstringFromRange(5, 2));
              log("(100, 0): " + textInputController.attributedSubstringFromRange(100, 0)); // should be undefined
              log("(100, 100): " + textInputController.attributedSubstringFromRange(100, 100)); // should be undefined
              
              log("\nTesting proper space runs (1._2.__3.___4_5)");
              document.body.innerHTML = "1 &nbsp;2 &nbsp;&nbsp;3 &nbsp;&nbsp;&nbsp;4&nbsp;5";
              window.getSelection().setPosition(document.body, 0);
  
              log("total length: " + textInputController.attributedSubstringFromRange(0, 100).length());
              log("one space: \"" + textInputController.attributedSubstringFromRange(1, 1).string() + "\"");
              log("two spaces: \"" + textInputController.attributedSubstringFromRange(1, 2).string() + "\"");
              log("three spaces: \"" + textInputController.attributedSubstringFromRange(4, 3).string() + "\"");
              log("four spaces: \"" + textInputController.attributedSubstringFromRange(8, 4).string() + "\"");
              
              log("\nTesting space-only runs (1..2...3....4.5)");
              document.body.innerHTML = "1  2   3    4 5";
              window.getSelection().setPosition(document.body, 0);
  
              log("total length: " + textInputController.attributedSubstringFromRange(0, 100).length());
              log("(0, 100): " + textInputController.attributedSubstringFromRange(0, 100));
  
              document.body.innerHTML = "";
  
          } catch (ex) {
              log("Exception: " + ex.description);
          }
          
          var console = document.createElement("p");
          console.appendChild(console_messages);
          document.body.appendChild(console);
          
      } else {
          document.write("(cannot run interactively)");
      }
  </script>
  </body>
  </html>
  
  
  



More information about the webkit-changes mailing list