<!DOCTYPE html>
<html>
<head>
<title>This tests that simple and normal line layout produce the same lines with hyphens</title>
<style>
div {
  display: inline-block;
  -webkit-hyphens: auto; 
  width: 200px;
  border: 1px solid green;
}
</style>
<script>
if (internal.settings)
    internals.settings.setSimpleLineLayoutEnabled(false);
</script>
</head>
<body>
<div style="word-spacing: 30px">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec consequat rhoncus erat, id pellentesque ligula aliquet et. Nam aliquam pellentesque risus. Mauris lorem nunc, sodales pellentesque porttitor ut, pellentesque at felis. Nullam et accumsan leo, in scelerisque massa. Fusce luctus laoreet pretium. Nulla sollicitudin volutpat neque in mattis. Vestibulum non placerat velit. Aenean dui nunc, tincidunt nec tempus et, venenatis vel magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin pretium nisl sit amet lacus varius consequat. Donec congue molestie mauris, a vehicula velit. Nam pellentesque sed arcu congue rutrum. Maecenas pulvinar ex at diam dapibus consectetur ut non nisl. Sed tempus bibendum sodales. Donec nec arcu ligula. Vivamus sit amet aliquet neque, vel volutpat nibh. In purus sem, tincidunt vulputate neque eu, scelerisque hendrerit ex. Donec eu porta lectus, at malesuada magna. Duis ut egestas est. Nullam et libero sit amet lectus tempus pharetra ac id mauris. Ut diam orci, interdum nec suscipit ut, semper nec orci. Fusce sed risus elementum, posuere orci id, aliquam urna. Donec arcu turpis, scelerisque a mauris vel, vehicula convallis ipsum. Phasellus facilisis, magna ut dapibus pretium, sapien mauris viverra enim, ut hendrerit urna dui eu ligula. Nulla vestibulum et nibh quis laoreet. Quisque feugiat arcu ipsum, id mollis quam sagittis at. Morbi tempus, risus molestie ultricies viverra, justo augue facilisis orci, a semper risus dui pellentesque purus. Curabitur facilisis arcu quam, id facilisis turpis aliquam ac. Maecenas efficitur risus pellentesque sem maximus euismod. Proin aliquet justo ac dolor faucibus porttitor. Fusce orci lectus, eleifend at lectus sit amet, pretium ornare felis. Nullam nec ipsum maximus, molestie arcu in, finibus urna. Suspendisse tincidunt feugiat est, in viverra lectus tincidunt quis. Ut eros tortor, tincidunt vel commodo hendrerit, consequat vel neque. Vestibulum enim nibh, accumsan quis viverra ut, iaculis sit amet est. Morbi non lacus at dolor euismod molestie. Integer pulvinar, nibh in volutpat tincidunt, urna odio interdum magna, vitae faucibus felis quam nec est. Proin tellus quam, auctor nec dictum sed, rhoncus nec massa. Mauris ac arcu ac augue porta viverra. Quisque semper eget nisi quis viverra. Donec vitae mauris ipsum. Duis tempor pulvinar viverra. Nam dignissim iaculis felis, eget vestibulum eros. Nulla eget faucibus massa. Integer sollicitudin pretium erat, vel commodo nunc congue non. Nulla in nunc auctor dui efficitur euismod. Sed pharetra sapien erat, a blandit neque porttitor sit amet. Mauris pharetra sodales maximus. Nulla volutpat auctor quam, a elementum risus tristique eu. In ac sodales nibh. Maecenas pharetra orci sem, eu laoreet quam tincidunt non. Mauris in interdum dui. Vivamus et interdum erat. Aliquam nec ante tincidunt, elementum risus in, mattis orci. Sed massa turpis, blandit a rutrum at, dignissim et lectus. Nunc tincidunt orci nibh, id ullamcorper nisl vestibulum vel.</div>
<div style="letter-spacing: 3px">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec consequat rhoncus erat, id pellentesque ligula aliquet et. Nam aliquam pellentesque risus. Mauris lorem nunc, sodales pellentesque porttitor ut, pellentesque at felis. Nullam et accumsan leo, in scelerisque massa. Fusce luctus laoreet pretium. Nulla sollicitudin volutpat neque in mattis. Vestibulum non placerat velit. Aenean dui nunc, tincidunt nec tempus et, venenatis vel magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin pretium nisl sit amet lacus varius consequat. Donec congue molestie mauris, a vehicula velit. Nam pellentesque sed arcu congue rutrum. Maecenas pulvinar ex at diam dapibus consectetur ut non nisl. Sed tempus bibendum sodales. Donec nec arcu ligula. Vivamus sit amet aliquet neque, vel volutpat nibh. In purus sem, tincidunt vulputate neque eu, scelerisque hendrerit ex. Donec eu porta lectus, at malesuada magna. Duis ut egestas est. Nullam et libero sit amet lectus tempus pharetra ac id mauris. Ut diam orci, interdum nec suscipit ut, semper nec orci. Fusce sed risus elementum, posuere orci id, aliquam urna. Donec arcu turpis, scelerisque a mauris vel, vehicula convallis ipsum. Phasellus facilisis, magna ut dapibus pretium, sapien mauris viverra enim, ut hendrerit urna dui eu ligula. Nulla vestibulum et nibh quis laoreet. Quisque feugiat arcu ipsum, id mollis quam sagittis at. Morbi tempus, risus molestie ultricies viverra, justo augue facilisis orci, a semper risus dui pellentesque purus. Curabitur facilisis arcu quam, id facilisis turpis aliquam ac. Maecenas efficitur risus pellentesque sem maximus euismod. Proin aliquet justo ac dolor faucibus porttitor. Fusce orci lectus, eleifend at lectus sit amet, pretium ornare felis. Nullam nec ipsum maximus, molestie arcu in, finibus urna. Suspendisse tincidunt feugiat est, in viverra lectus tincidunt quis. Ut eros tortor, tincidunt vel commodo hendrerit, consequat vel neque. Vestibulum enim nibh, accumsan quis viverra ut, iaculis sit amet est. Morbi non lacus at dolor euismod molestie. Integer pulvinar, nibh in volutpat tincidunt, urna odio interdum magna, vitae faucibus felis quam nec est. Proin tellus quam, auctor nec dictum sed, rhoncus nec massa. Mauris ac arcu ac augue porta viverra. Quisque semper eget nisi quis viverra. Donec vitae mauris ipsum. Duis tempor pulvinar viverra. Nam dignissim iaculis felis, eget vestibulum eros. Nulla eget faucibus massa. Integer sollicitudin pretium erat, vel commodo nunc congue non. Nulla in nunc auctor dui efficitur euismod. Sed pharetra sapien erat, a blandit neque porttitor sit amet. Mauris pharetra sodales maximus. Nulla volutpat auctor quam, a elementum risus tristique eu. In ac sodales nibh. Maecenas pharetra orci sem, eu laoreet quam tincidunt non. Mauris in interdum dui. Vivamus et interdum erat. Aliquam nec ante tincidunt, elementum risus in, mattis orci. Sed massa turpis, blandit a rutrum at, dignissim et lectus. Nunc tincidunt orci nibh, id ullamcorper nisl vestibulum vel.</div>
</body>
</html>
