Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 8024

Show
Ignore:
Timestamp:
10/26/07 03:10:06 (1 year ago)
Author:
sam
Message:

prototype: Reset the browser's dimensions to their original settings after running the DOM viewport tests.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • spinoffs/prototype/trunk/CHANGELOG

    r8004 r8024  
    11*SVN* 
     2 
     3* Reset the browser's dimensions to their original settings after running the DOM viewport tests.  [sam] 
    24 
    35* Fix the test runner for Firefox in Leopard.  [sam] 
  • spinoffs/prototype/trunk/test/unit/dom.html

    r7991 r8024  
    15181518     
    15191519    testViewportDimensions: function() {with(this) { 
    1520       window.resizeTo(800, 600); 
    1521       var before = document.viewport.getDimensions(); 
    1522       window.resizeBy(50, 50); 
    1523       var after  = document.viewport.getDimensions(); 
    1524        
    1525       assertEqual(before.width + 50, after.width, "NOTE: YOU MUST ALLOW JAVASCRIPT TO RESIZE YOUR WINDOW FOR THESE TESTS TO PASS"); 
    1526       assertEqual(before.height + 50, after.height, "NOTE: YOU MUST ALLOW JAVASCRIPT TO RESIZE YOUR WINDOW FOR THESE TESTS TO PASS"); 
     1520      preservingBrowserDimensions(function() { 
     1521        window.resizeTo(800, 600); 
     1522        var before = document.viewport.getDimensions(); 
     1523        window.resizeBy(50, 50); 
     1524        var after  = document.viewport.getDimensions(); 
     1525       
     1526        assertEqual(before.width + 50, after.width, "NOTE: YOU MUST ALLOW JAVASCRIPT TO RESIZE YOUR WINDOW FOR THESE TESTS TO PASS"); 
     1527        assertEqual(before.height + 50, after.height, "NOTE: YOU MUST ALLOW JAVASCRIPT TO RESIZE YOUR WINDOW FOR THESE TESTS TO PASS"); 
     1528      }.bind(this)); 
    15271529    }}, 
    15281530     
    15291531    testViewportScrollOffsets: function() {with(this) { 
    1530       window.scrollTo(0, 0); 
    1531       assertEqual(0, document.viewport.getScrollOffsets().top); 
    1532        
    1533       window.scrollTo(0, 35); 
    1534       assertEqual(35, document.viewport.getScrollOffsets().top); 
    1535        
    1536       window.resizeTo(200, 650); 
    1537       window.scrollTo(25, 35); 
    1538       assertEqual(25, document.viewport.getScrollOffsets().left); 
    1539        
    1540       window.resizeTo(850, 650); 
     1532      preservingBrowserDimensions(function() { 
     1533        window.scrollTo(0, 0); 
     1534        assertEqual(0, document.viewport.getScrollOffsets().top); 
     1535       
     1536        window.scrollTo(0, 35); 
     1537        assertEqual(35, document.viewport.getScrollOffsets().top); 
     1538       
     1539        window.resizeTo(200, 650); 
     1540        window.scrollTo(25, 35); 
     1541        assertEqual(25, document.viewport.getScrollOffsets().left); 
     1542       
     1543        window.resizeTo(850, 650); 
     1544      }.bind(this)); 
    15411545    }}, 
    15421546     
     
    15641568    }} 
    15651569  }, 'testlog'); 
    1566      
     1570 
     1571  function preservingBrowserDimensions(callback) { 
     1572    var original = document.viewport.getDimensions(); 
     1573    window.resizeTo(640, 480); 
     1574    var resized = document.viewport.getDimensions(); 
     1575    original.width += 640 - resized.width, original.height += 480 - resized.height; 
     1576     
     1577    try { 
     1578      window.resizeTo(original.width, original.height); 
     1579      callback(); 
     1580    } finally { 
     1581      window.resizeTo(original.width, original.height); 
     1582    } 
     1583  } 
     1584 
    15671585// ]]> 
    15681586</script>