<html>
<head>  
<title>This tests that multiple text renderers with floats when text needs special placing do not get simple line layouting.</title>
<style type="text/css">
 .container { width: 400px; }
 .float { 
 	float: right; 
 	clear: right; 
 	border: 1px solid blue; 
 	width: 100px; 
 	height: 200px; 
 	}	
 
 .wide { width:
 	400px; 
   }

</style>
</head>
<body>
<div class="container">
 <div class="float">
 </div>
 <div class="float wide">
 </div>
  <p id=foo>
  </p>
  <script>
    if (window.internals)
      internals.settings.setSimpleLineLayoutEnabled(false)

    var container = document.getElementById("foo");
    container.appendChild(document.createTextNode("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore\n"));
    container.appendChild(document.createTextNode("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"));
  </script>
</div>
</body>
</html>
