<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>
    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>
