<!DOCTYPE html>
<html>
<head>
<title>This tests that simple line layout is applied on multiple sibling text renderers.</title>
<script>
  if (window.internals)
    internals.settings.setSimpleLineLayoutDebugBordersEnabled(true);
</script>
</head>
<body>
<div id=container>
</div>
<script>
  var container = document.getElementById("container");
  container.appendChild(document.createTextNode("Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam\n"));
  container.appendChild(document.createTextNode("furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit\n"));
  container.appendChild(document.createTextNode("audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,\n"));
  container.appendChild(document.createTextNode("nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus\n"));
  container.appendChild(document.createTextNode("habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua\n"));
  container.appendChild(document.createTextNode("consilia non sentis, constrictam iam horum omnium scientia teneri\n"));
  container.appendChild(document.createTextNode("coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,\n"));
  container.appendChild(document.createTextNode("ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum\n"));
  container.appendChild(document.createTextNode("ignorare arbitraris?  O tempora, o mores!\n"));
</script>
</body>
</html>
