diff options
Diffstat (limited to '')
81 files changed, 2182 insertions, 0 deletions
diff --git a/layout/reftests/line-breaking/between-whitespaces-ref.html b/layout/reftests/line-breaking/between-whitespaces-ref.html new file mode 100644 index 0000000000..167f8ce228 --- /dev/null +++ b/layout/reftests/line-breaking/between-whitespaces-ref.html @@ -0,0 +1,32 @@ +<!DOCTYPE html>
+<html>
+<head>
+<title>Line breaks between white spaces</title>
+<style>
+div {
+ width: 0px;
+ border: 1px solid blue;
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<table>
+<tr><th>U+0009</th><td><div>		</div></td></tr>
+<tr><th>U+000D</th><td><div>

</div></td></tr>
+<tr><th>U+0020</th><td><div>  </div></td></tr>
+<tr><th>U+2000</th><td><div>  </div></td></tr>
+<tr><th>U+2001</th><td><div>  </div></td></tr>
+<tr><th>U+2002</th><td><div>  </div></td></tr>
+<tr><th>U+2003</th><td><div>  </div></td></tr>
+<tr><th>U+2004</th><td><div>  </div></td></tr>
+<tr><th>U+2005</th><td><div>  </div></td></tr>
+<tr><th>U+2006</th><td><div>  </div></td></tr>
+<tr><th>U+2008</th><td><div>  </div></td></tr>
+<tr><th>U+2009</th><td><div>  </div></td></tr>
+<tr><th>U+200A</th><td><div>  </div></td></tr>
+<tr><th>U+200B</th><td><div> ​</div></td></tr>
+<tr><th>U+3000</th><td><div>  </div></td></tr>
+</table>
+</body>
+</html>
\ No newline at end of file diff --git a/layout/reftests/line-breaking/between-whitespaces.html b/layout/reftests/line-breaking/between-whitespaces.html new file mode 100644 index 0000000000..2233a461cf --- /dev/null +++ b/layout/reftests/line-breaking/between-whitespaces.html @@ -0,0 +1,31 @@ +<!DOCTYPE html>
+<html>
+<head>
+<title>Line breaks between white spaces</title>
+<style>
+div {
+ width: 0px;
+ border: 1px solid blue;
+}
+</style>
+</head>
+<body>
+<table>
+<tr><th>U+0009</th><td><div>		</div></td></tr>
+<tr><th>U+000D</th><td><div>

</div></td></tr>
+<tr><th>U+0020</th><td><div>  </div></td></tr>
+<tr><th>U+2000</th><td><div>  </div></td></tr>
+<tr><th>U+2001</th><td><div>  </div></td></tr>
+<tr><th>U+2002</th><td><div>  </div></td></tr>
+<tr><th>U+2003</th><td><div>  </div></td></tr>
+<tr><th>U+2004</th><td><div>  </div></td></tr>
+<tr><th>U+2005</th><td><div>  </div></td></tr>
+<tr><th>U+2006</th><td><div>  </div></td></tr>
+<tr><th>U+2008</th><td><div>  </div></td></tr>
+<tr><th>U+2009</th><td><div>  </div></td></tr>
+<tr><th>U+200A</th><td><div>  </div></td></tr>
+<tr><th>U+200B</th><td><div> ​</div></td></tr>
+<tr><th>U+3000</th><td><div>  </div></td></tr>
+</table>
+</body>
+</html>
\ No newline at end of file diff --git a/layout/reftests/line-breaking/chemical-1-ref.html b/layout/reftests/line-breaking/chemical-1-ref.html new file mode 100644 index 0000000000..724d115b48 --- /dev/null +++ b/layout/reftests/line-breaking/chemical-1-ref.html @@ -0,0 +1,12 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>6-Bromo-<br>2,4,5-<br>trichlorophenol<p> +<p>2,3,5,6-<br>Tetrafluorophenol</p> +<p>4-Bromo-<br>2-fluoro-<br>6-nitrophenol</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/chemical-1.html b/layout/reftests/line-breaking/chemical-1.html new file mode 100644 index 0000000000..aa68fcf08f --- /dev/null +++ b/layout/reftests/line-breaking/chemical-1.html @@ -0,0 +1,12 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>6-Bromo-2,4,5-trichlorophenol<p> +<p>2,3,5,6-Tetrafluorophenol</p> +<p>4-Bromo-2-fluoro-6-nitrophenol</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/conservative-range-1-ref.html b/layout/reftests/line-breaking/conservative-range-1-ref.html new file mode 100644 index 0000000000..d50f65a9f7 --- /dev/null +++ b/layout/reftests/line-breaking/conservative-range-1-ref.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug 809020</title> +<style> +p { + font-family: monospace; + margin: .5em 0; +} +.break { + color: green; +} +.nobreak { + color: red; +} +</style> +</head> +<body> +The green examples should break at all their hyphens; the red ones should not. +<p class="nobreak"> +T-shirt +</p> +<p class="nobreak"> +billy-o +</p> +<p class="break"> +tally-<br>ho +</p> +<p class="break"> +co-<br>author +</p> +<p class="break"> +hi-<br>de-<br>hi +</p> +<p class="break"> +far-<br>sighted +</p> +<p class="break"> +hocus-<br>pocus +</p> +<p class="break"> +Nanki-<br>Poo +</p> +<p class="break"> +Miami-<br>Dade +</p> +<p class="break"> +Wells-<br>next-<br>the-<br>Sea +</p> +<p class="break"> +Lee-<br>on-<br>the-<br>Solent +</p> +<p class="nobreak"> +\\/^-_-^\// +</p> +<p class="nobreak"> +(''')-.-(''') +<p class="nobreak"> +:-"> +<p class="nobreak"> +<{^-^}> +</p> +<p class="nobreak"> +:-D +</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/conservative-range-1.html b/layout/reftests/line-breaking/conservative-range-1.html new file mode 100644 index 0000000000..bec33b5b27 --- /dev/null +++ b/layout/reftests/line-breaking/conservative-range-1.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug 809020</title> +<style> +p { + font-family: monospace; + margin: .5em 0; + width:0; +} +.break { + color: green; +} +.nobreak { + color: red; +} +</style> +</head> +<body> +The green examples should break at all their hyphens; the red ones should not. +<p class="nobreak"> +T-shirt +</p> +<p class="nobreak"> +billy-o +</p> +<p class="break"> +tally-ho +</p> +<p class="break"> +co-author +</p> +<p class="break"> +hi-de-hi +</p> +<p class="break"> +far-sighted +</p> +<p class="break"> +hocus-pocus +</p> +<p class="break"> +Nanki-Poo +</p> +<p class="break"> +Miami-Dade +</p> +<p class="break"> +Wells-next-the-Sea +</p> +<p class="break"> +Lee-on-the-Solent +</p> +<p class="nobreak"> +\\/^-_-^\// +</p> +<p class="nobreak"> +(''')-.-(''') +<p class="nobreak"> +:-"> +<p class="nobreak"> +<{^-^}> +</p> +<p class="nobreak"> +:-D +</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/conservative-range-2-ref.html b/layout/reftests/line-breaking/conservative-range-2-ref.html new file mode 100644 index 0000000000..565d086289 --- /dev/null +++ b/layout/reftests/line-breaking/conservative-range-2-ref.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug 809020</title> +<style> +p { + font-family: monospace; + margin: 1em 0; +} +</style> +</head> +<body> + +Line breaks should always occur before a '/' character, +and no fragment should be less than 6 chars long. + +<p>/a/a</p> +<p>/a/a/a</p> +<p>/a/a/a/a</p> +<p>/a/a/a/a/a</p> +<p>/a/a/a<br>/a/a/a</p> + +<p>/aa/aa<br>/aa/aa<br>/aa/aa/aa</p> +<p>/aaa/aaa<br>/aaa/aaa/aaa</p> +<p>/aaaa/aaaa<br>/aaaa/aaaa</p> +<p>/aaaaa<br>/aaaaa<br>/aaaaa</p> +<p>/aaaaaa<br>/aaaaaa<br>/aaaaaa</p> + +<p>/a/ab/abc<br>/abcd/abcde<br>/abcdef<br>/abcdefg</p> +<p>/abcdefg<br>/abcdef<br>/abcde<br>/abcd/abc/ab/a</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/conservative-range-2.html b/layout/reftests/line-breaking/conservative-range-2.html new file mode 100644 index 0000000000..c652eb57d8 --- /dev/null +++ b/layout/reftests/line-breaking/conservative-range-2.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug 809020</title> +<style> +p { + font-family: monospace; + margin: 1em 0; + width:0; +} +</style> +</head> +<body> + +Line breaks should always occur before a '/' character, +and no fragment should be less than 6 chars long. + +<p>/a/a</p> +<p>/a/a/a</p> +<p>/a/a/a/a</p> +<p>/a/a/a/a/a</p> +<p>/a/a/a/a/a/a</p> + +<p>/aa/aa/aa/aa/aa/aa/aa</p> +<p>/aaa/aaa/aaa/aaa/aaa</p> +<p>/aaaa/aaaa/aaaa/aaaa</p> +<p>/aaaaa/aaaaa/aaaaa</p> +<p>/aaaaaa/aaaaaa/aaaaaa</p> + +<p>/a/ab/abc/abcd/abcde/abcdef/abcdefg</p> +<p>/abcdefg/abcdef/abcde/abcd/abc/ab/a</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/currency-1-ref.html b/layout/reftests/line-breaking/currency-1-ref.html new file mode 100644 index 0000000000..9cfe0a4d60 --- /dev/null +++ b/layout/reftests/line-breaking/currency-1-ref.html @@ -0,0 +1,62 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>______$123,456-</p> +<p>123,456$______</p> + +<!-- BACK SLASH is used for YEN SIGN and WON SIGN in Japan and Korea --> +<p>______\123,456-</p> +<p>123,456\______</p> + +<p>______€123,456-</p> +<p>123,456€______</p> + +<p>______¢;123,456-</p> +<p>123,456¢______</p> + +<p>______£123,456-</p> +<p>123,456£______</p> + +<p>______¤123,456-</p> +<p>123,456¤______</p> + +<p>______¥123,456-</p> +<p>123,456¥______</p> + +<!-- EURO-CURRENCY SIGN --> +<p>______₠123,456-</p> +<p>123,456₠______</p> + +<!-- COLON SIGN --> +<p>______₡123,456-</p> +<p>123,456₡______</p> + +<!-- CRUZEIRO SIGN --> +<p>______₢123,456-</p> +<p>123,456₢______</p> + +<!-- FRENCH FRANC SIGN --> +<p>______₣123,456-</p> +<p>123,456₣______</p> + +<!-- LIRA SIGN --> +<p>______₤123,456-</p> +<p>123,456₤______</p> + +<!-- MILL SIGN --> +<p>______₥123,456-</p> +<p>123,456₥______</p> + +<!-- NAIRA SIGN --> +<p>______₦123,456-</p> +<p>123,456₦______</p> + +<!-- PESETA SIGN --> +<p>______₧123,456-</p> +<p>123,456₧______</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/currency-1.html b/layout/reftests/line-breaking/currency-1.html new file mode 100644 index 0000000000..9b7edfcefb --- /dev/null +++ b/layout/reftests/line-breaking/currency-1.html @@ -0,0 +1,62 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>______$123,456-</p> +<p>123,456$______</p> + +<!-- BACK SLASH is used for YEN SIGN and WON SIGN in Japan and Korea --> +<p>______\123,456-</p> +<p>123,456\______</p> + +<p>______€123,456-</p> +<p>123,456€______</p> + +<p>______¢;123,456-</p> +<p>123,456¢______</p> + +<p>______£123,456-</p> +<p>123,456£______</p> + +<p>______¤123,456-</p> +<p>123,456¤______</p> + +<p>______¥123,456-</p> +<p>123,456¥______</p> + +<!-- EURO-CURRENCY SIGN --> +<p>______₠123,456-</p> +<p>123,456₠______</p> + +<!-- COLON SIGN --> +<p>______₡123,456-</p> +<p>123,456₡______</p> + +<!-- CRUZEIRO SIGN --> +<p>______₢123,456-</p> +<p>123,456₢______</p> + +<!-- FRENCH FRANC SIGN --> +<p>______₣123,456-</p> +<p>123,456₣______</p> + +<!-- LIRA SIGN --> +<p>______₤123,456-</p> +<p>123,456₤______</p> + +<!-- MILL SIGN --> +<p>______₥123,456-</p> +<p>123,456₥______</p> + +<!-- NAIRA SIGN --> +<p>______₦123,456-</p> +<p>123,456₦______</p> + +<!-- PESETA SIGN --> +<p>______₧123,456-</p> +<p>123,456₧______</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/currency-2-ref.html b/layout/reftests/line-breaking/currency-2-ref.html new file mode 100644 index 0000000000..8d7f1d7a0a --- /dev/null +++ b/layout/reftests/line-breaking/currency-2-ref.html @@ -0,0 +1,62 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<!-- RUPEE SIGN --> +<p>______₨123,456-</p> +<p>123,456₨______</p> + +<!-- WON SIGN --> +<p>______₩123,456-</p> +<p>123,456₩______</p> + +<!-- NEW SHEQEL SIGN --> +<p>______₪123,456-</p> +<p>123,456₪______</p> + +<!-- DONG SIGN --> +<p>______₫123,456-</p> +<p>123,456₫______</p> + +<!-- U+20AC is EURO SIGN --> + +<!-- KIP SIGN --> +<p>______₭123,456-</p> +<p>123,456₭______</p> + +<!-- TUGRIK SIGN --> +<p>______₮123,456-</p> +<p>123,456₮______</p> + +<!-- DRACHMA SIGN --> +<p>______₯123,456-</p> +<p>123,456₯______</p> + +<!-- GERMAN PENNY SIGN --> +<p>______₰123,456-</p> +<p>123,456₰______</p> + +<!-- PESO SIGN --> +<p>______₱123,456-</p> +<p>123,456₱______</p> + +<!-- GUARANI SIGN --> +<p>______₲123,456-</p> +<p>123,456₲______</p> + +<!-- AUSTRAL SIGN --> +<p>______₳123,456-</p> +<p>123,456₳______</p> + +<!-- HRYVNIA SIGN --> +<p>______₴123,456-</p> +<p>123,456₴______</p> + +<!-- CEDI SIGN --> +<p>______₵123,456-</p> +<p>123,456₵______</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/currency-2.html b/layout/reftests/line-breaking/currency-2.html new file mode 100644 index 0000000000..887561833f --- /dev/null +++ b/layout/reftests/line-breaking/currency-2.html @@ -0,0 +1,62 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<!-- RUPEE SIGN --> +<p>______₨123,456-</p> +<p>123,456₨______</p> + +<!-- WON SIGN --> +<p>______₩123,456-</p> +<p>123,456₩______</p> + +<!-- NEW SHEQEL SIGN --> +<p>______₪123,456-</p> +<p>123,456₪______</p> + +<!-- DONG SIGN --> +<p>______₫123,456-</p> +<p>123,456₫______</p> + +<!-- U+20AC is EURO SIGN --> + +<!-- KIP SIGN --> +<p>______₭123,456-</p> +<p>123,456₭______</p> + +<!-- TUGRIK SIGN --> +<p>______₮123,456-</p> +<p>123,456₮______</p> + +<!-- DRACHMA SIGN --> +<p>______₯123,456-</p> +<p>123,456₯______</p> + +<!-- GERMAN PENNY SIGN --> +<p>______₰123,456-</p> +<p>123,456₰______</p> + +<!-- PESO SIGN --> +<p>______₱123,456-</p> +<p>123,456₱______</p> + +<!-- GUARANI SIGN --> +<p>______₲123,456-</p> +<p>123,456₲______</p> + +<!-- AUSTRAL SIGN --> +<p>______₳123,456-</p> +<p>123,456₳______</p> + +<!-- HRYVNIA SIGN --> +<p>______₴123,456-</p> +<p>123,456₴______</p> + +<!-- CEDI SIGN --> +<p>______₵123,456-</p> +<p>123,456₵______</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/datetime-1-ref.html b/layout/reftests/line-breaking/datetime-1-ref.html new file mode 100644 index 0000000000..5c1088702b --- /dev/null +++ b/layout/reftests/line-breaking/datetime-1-ref.html @@ -0,0 +1,22 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>2007-01-01</p> +<p>2007-<br>Jan-01</p> +<p>Jan-01-2007</p> +<p>2007-01-01 00:00:00</p> +<p>2007-<br>Jan-01 00:00:00</p> +<p>Jan-01-2007 00:00:00</p> + +<p>2007/01/01</p> +<p>2007/Jan/01</p> +<p>Jan/01/2007</p> +<p>2007/01/01 00:00:00</p> +<p>2007/Jan/01 00:00:00</p> +<p>Jan/01/2007 00:00:00</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/datetime-1.html b/layout/reftests/line-breaking/datetime-1.html new file mode 100644 index 0000000000..ce6a84bcf5 --- /dev/null +++ b/layout/reftests/line-breaking/datetime-1.html @@ -0,0 +1,22 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>2007-01-01</p> +<p>2007-Jan-01</p> +<p>Jan-01-2007</p> +<p>2007-01-01 00:00:00</p> +<p>2007-Jan-01 00:00:00</p> +<p>Jan-01-2007 00:00:00</p> + +<p>2007/01/01</p> +<p>2007/Jan/01</p> +<p>Jan/01/2007</p> +<p>2007/01/01 00:00:00</p> +<p>2007/Jan/01 00:00:00</p> +<p>Jan/01/2007 00:00:00</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/emoji-1-ref.html b/layout/reftests/line-breaking/emoji-1-ref.html new file mode 100644 index 0000000000..871f2cf00d --- /dev/null +++ b/layout/reftests/line-breaking/emoji-1-ref.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +.test { + width: 6em; + border: 1px solid silver; + margin: 1em; + padding: 2px; +} +.wrapped { + word-wrap: break-word; +} +</style> +</head> +<body> +The emoji should wrap within the box in both cases: +<div class="test"> +abcde fghij klmno pqrst uvw xyz +😀😁😂😃 😄😅😆😇 +😈😉😊😋 😌😍😎😏 +abcdefghijklmnopqrstuvwxyz +<span class="wrapped">😀😁😂😃😄😅😆😇<!-- +-->😈😉😊😋😌😍😎😏</span> +</div> +<div class="test wrapped"> +abcde fghij klmno pqrst uvw xyz +😀😁😂😃 😄😅😆😇 +😈😉😊😋 😌😍😎😏 +abcdefghijklmnopqrstuvwxyz +😀😁😂😃😄😅😆😇<!-- +-->😈😉😊😋😌😍😎😏 +</div> +</body> +</html> diff --git a/layout/reftests/line-breaking/emoji-1.html b/layout/reftests/line-breaking/emoji-1.html new file mode 100644 index 0000000000..fba190921c --- /dev/null +++ b/layout/reftests/line-breaking/emoji-1.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +.test { + width: 6em; + border: 1px solid silver; + margin: 1em; + padding: 2px; +} +.wrapped { + word-wrap: break-word; +} +</style> +</head> +<body> +The emoji should wrap within the box in both cases: +<div class=test> +abcde fghij klmno pqrst uvw xyz +😀😁😂😃 😄😅😆😇 +😈😉😊😋 😌😍😎😏 +abcdefghijklmnopqrstuvwxyz +😀😁😂😃😄😅😆😇<!-- +-->😈😉😊😋😌😍😎😏 +</div> +<div class="test wrapped"> +abcde fghij klmno pqrst uvw xyz +😀😁😂😃 😄😅😆😇 +😈😉😊😋 😌😍😎😏 +abcdefghijklmnopqrstuvwxyz +😀😁😂😃😄😅😆😇<!-- +-->😈😉😊😋😌😍😎😏 +</div> +</body> +</html> diff --git a/layout/reftests/line-breaking/emoji-2-ref.html b/layout/reftests/line-breaking/emoji-2-ref.html new file mode 100644 index 0000000000..8aaca9548b --- /dev/null +++ b/layout/reftests/line-breaking/emoji-2-ref.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +.test { + width: 5em; + border: 1px solid silver; + margin: 1em; + padding: 2px; +} +.wrapped { + word-wrap: break-word; +} +.nowrap { + white-space: nowrap; +} +</style> +</head> +<body> +The emoji faces should wrap within the box; the series of flags should not wrap. +<div class="test"> + <span class="wrapped">😀😁😂😃😄😅😆😇<!-- +-->😈😉😊😋😌😍😎😏</span><!-- +--><span class="nowrap">🇯🇵🇰🇷🇩🇪🇨🇳<!-- +-->🇺🇸🇫🇷🇪🇸🇮🇹<!-- +-->🇷🇺🇬🇧</span> +</div> +</body> +</html> diff --git a/layout/reftests/line-breaking/emoji-2.html b/layout/reftests/line-breaking/emoji-2.html new file mode 100644 index 0000000000..d5fab8b228 --- /dev/null +++ b/layout/reftests/line-breaking/emoji-2.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +.test { + width: 5em; + border: 1px solid silver; + margin: 1em; + padding: 2px; +} +</style> +</head> +<body> +The emoji faces should wrap within the box; the series of flags should not wrap. +<div class=test> + 😀😁😂😃😄😅😆😇<!-- +-->😈😉😊😋😌😍😎😏<!-- +-->🇯🇵🇰🇷🇩🇪🇨🇳<!-- +-->🇺🇸🇫🇷🇪🇸🇮🇹<!-- +-->🇷🇺🇬🇧 +</div> +</body> +</html> diff --git a/layout/reftests/line-breaking/hyphens-1-ref.html b/layout/reftests/line-breaking/hyphens-1-ref.html new file mode 100644 index 0000000000..a77f8c0079 --- /dev/null +++ b/layout/reftests/line-breaking/hyphens-1-ref.html @@ -0,0 +1,41 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>ab-<br>ab</p> +<p>a-ab</p> +<p>ab-a</p> +<p>abcdef--<br>abcdef</p> +<p>------abcdef<p> + +<!-- U+058A is ARMENIAN HYPHEN --> +<p>ab֊<br>ab</p> +<p>a֊ab</p> +<p>ab֊a</p> +<p>abcdef֊֊<br>abcdef</p> +<p>֊֊֊֊֊֊abcdef<p> + +<!-- U+2010 is HYPHEN --> +<p>ab‐<br>ab</p> +<p>a‐ab</p> +<p>ab‐a</p> +<p>abcdef‐‐<br>abcdef</p> +<p>‐‐‐‐‐‐abcdef<p> + +<!-- U+2012 is FIGURE DASH --> +<p>ab‒<br>ab</p> +<p>a‒ab</p> +<p>ab‒a</p> +<p>abcdef‒‒<br>abcdef</p> +<p>‒‒‒‒‒‒abcdef<p> + +<p>ab–<br>ab</p> +<p>a–ab</p> +<p>ab–a</p> +<p>abcdef––<br>abcdef</p> +<p>––––––abcdef<p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/hyphens-1.html b/layout/reftests/line-breaking/hyphens-1.html new file mode 100644 index 0000000000..d836b7c09d --- /dev/null +++ b/layout/reftests/line-breaking/hyphens-1.html @@ -0,0 +1,41 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>ab-ab</p> +<p>a-ab</p> +<p>ab-a</p> +<p>abcdef--abcdef</p> +<p>------abcdef<p> + +<!-- U+058A is ARMENIAN HYPHEN --> +<p>ab֊ab</p> +<p>a֊ab</p> +<p>ab֊a</p> +<p>abcdef֊֊abcdef</p> +<p>֊֊֊֊֊֊abcdef<p> + +<!-- U+2010 is HYPHEN --> +<p>ab‐ab</p> +<p>a‐ab</p> +<p>ab‐a</p> +<p>abcdef‐‐abcdef</p> +<p>‐‐‐‐‐‐abcdef<p> + +<!-- U+2012 is FIGURE DASH --> +<p>ab‒ab</p> +<p>a‒ab</p> +<p>ab‒a</p> +<p>abcdef‒‒abcdef</p> +<p>‒‒‒‒‒‒abcdef<p> + +<p>ab–ab</p> +<p>a–ab</p> +<p>ab–a</p> +<p>abcdef––abcdef</p> +<p>––––––abcdef<p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/hyphens-2-ref.html b/layout/reftests/line-breaking/hyphens-2-ref.html new file mode 100644 index 0000000000..e06e764a9d --- /dev/null +++ b/layout/reftests/line-breaking/hyphens-2-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<style type="text/css"> +p { margin: 5px 1em; } +</style> +</head> +<body> + +<!-- bug 827779: + Allow break after hyphen even when there is adjacent closing punctuation + before the hyphen, or opening punctuation after it. --> +<p> + extra-<br>“special”<br> + “extra”-<br>special<br> + “extra”-<br>“special”<br> + extra-<br>«special»<br> + «extra»-<br>special<br> + «extra»-<br>«special»<br> + extra-<br>(special)<br> + (extra)-<br>special<br> + (extra)-<br>(special) +</p> + +<!-- but not in variants such as these: --> +<p> + (extra-)special<br> + extra(-special) +</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/hyphens-2.html b/layout/reftests/line-breaking/hyphens-2.html new file mode 100644 index 0000000000..edcbde22da --- /dev/null +++ b/layout/reftests/line-breaking/hyphens-2.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<style type="text/css"> +p { margin: 5px 1em; width: 0px; } +</style> +</head> +<body> + +<!-- bug 827779: + Allow break after hyphen even when there is adjacent closing punctuation + before the hyphen, or opening punctuation after it. --> +<p> + extra-“special”<br> + “extra”-special<br> + “extra”-“special”<br> + extra-«special»<br> + «extra»-special<br> + «extra»-«special»<br> + extra-(special)<br> + (extra)-special<br> + (extra)-(special) +</p> + +<!-- but not in variants such as these: --> +<p> + (extra-)special<br> + extra(-special) +</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/ja-1-ref.html b/layout/reftests/line-breaking/ja-1-ref.html new file mode 100644 index 0000000000..8c066b6124 --- /dev/null +++ b/layout/reftests/line-breaking/ja-1-ref.html @@ -0,0 +1,15 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body lang="ja"> + +<p>あ<br>い<br>う</p> +<p>上<br>中<br>下</p> +<p>あ、<br>い。<br>う。。。</p> +<p>あっっっっ<br>い</p> +<p>きゃ<br>きゅ<br>きょ</p> +<p>ぁぃぅぇぉ</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/ja-1.html b/layout/reftests/line-breaking/ja-1.html new file mode 100644 index 0000000000..40475dbc7d --- /dev/null +++ b/layout/reftests/line-breaking/ja-1.html @@ -0,0 +1,15 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body lang="ja"> + +<p>あいう</p> +<p>上中下</p> +<p>あ、い。う。。。</p> +<p>あっっっっい</p> +<p>きゃきゅきょ</p> +<p>ぁぃぅぇぉ</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/ja-2-ref.html b/layout/reftests/line-breaking/ja-2-ref.html new file mode 100644 index 0000000000..5344c92ac9 --- /dev/null +++ b/layout/reftests/line-breaking/ja-2-ref.html @@ -0,0 +1,15 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body lang="ja"> + +<p>あ<br>「い」<br>う</p> +<p>あ<br>『い』<br>う</p> +<p>あ<br>「い。」<br>う</p> +<p>あ<br>『い。』<br>う</p> +<p>あ<br>「『い。』」<br>う</p> +<p>「あ<br>い」</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/ja-2.html b/layout/reftests/line-breaking/ja-2.html new file mode 100644 index 0000000000..c5ce5bf785 --- /dev/null +++ b/layout/reftests/line-breaking/ja-2.html @@ -0,0 +1,15 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body lang="ja"> + +<p>あ「い」う</p> +<p>あ『い』う</p> +<p>あ「い。」う</p> +<p>あ『い。』う</p> +<p>あ「『い。』」う</p> +<p>「あい」</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/ja-3-ref.html b/layout/reftests/line-breaking/ja-3-ref.html new file mode 100644 index 0000000000..0eac869bce --- /dev/null +++ b/layout/reftests/line-breaking/ja-3-ref.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body lang="ja"> + +<p>ア<br>イ<br>ウ</p> +<p>ア、<br>イ。<br>ウ。。。</p> +<p>アッッッッ<br>イ</p> +<p>キャ<br>キュ<br>キョ</p> +<p>ァィゥェォ</p> +<p>ガ<br>ギ<br>グ</p> +<p>パ<br>ピ<br>プ</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/ja-3.html b/layout/reftests/line-breaking/ja-3.html new file mode 100644 index 0000000000..3d1b1087fd --- /dev/null +++ b/layout/reftests/line-breaking/ja-3.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body lang="ja"> + +<p>アイウ</p> +<p>ア、イ。ウ。。。</p> +<p>アッッッッイ</p> +<p>キャキュキョ</p> +<p>ァィゥェォ</p> +<p>ガギグ</p> +<p>パピプ</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/khmer-1-ref.html b/layout/reftests/line-breaking/khmer-1-ref.html new file mode 100644 index 0000000000..24f1a14056 --- /dev/null +++ b/layout/reftests/line-breaking/khmer-1-ref.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> div { width: 1em; } </style> + </head> + <body lang="km"> + <div>aaaaaaaaaa៘<br>bbbbbbbbbb</div> + <div>aaaaaaaaaa៚<br>bbbbbbbbbb</div> + </body> +</html> diff --git a/layout/reftests/line-breaking/khmer-1.html b/layout/reftests/line-breaking/khmer-1.html new file mode 100644 index 0000000000..9c63293228 --- /dev/null +++ b/layout/reftests/line-breaking/khmer-1.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <style type="text/css"> div { width: 1em; } </style> + </head> + <body lang="km"> + <div>aaaaaaaaaa៘bbbbbbbbbb</div> + <div>aaaaaaaaaa៚bbbbbbbbbb</div> + </body> +</html> diff --git a/layout/reftests/line-breaking/leaders-1-ref.html b/layout/reftests/line-breaking/leaders-1-ref.html new file mode 100644 index 0000000000..6cf8286c0c --- /dev/null +++ b/layout/reftests/line-breaking/leaders-1-ref.html @@ -0,0 +1,26 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<!-- U+2024 is ONE DOT LEADER --> +<p>abcdef․․․<br>abcdef</p> +<p>abcdef․<br>abcdef</p> +<p>abcdef․ <br>abcdef</p> +<p>abcdef <br>․abcdef</p> + +<!-- U+2025 is TWO DOT LEADER --> +<p>abcdef‥‥‥<br>abcdef</p> +<p>abcdef‥<br>abcdef</p> +<p>abcdef‥ <br>abcdef</p> +<p>abcdef <br>‥abcdef</p> + +<!-- U+2026 is HORIZONTAL ELLIPSIS --> +<p>abcdef………<br>abcdef</p> +<p>abcdef…<br>abcdef</p> +<p>abcdef… <br>abcdef</p> +<p>abcdef <br>…abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/leaders-1.html b/layout/reftests/line-breaking/leaders-1.html new file mode 100644 index 0000000000..2e8933b1b5 --- /dev/null +++ b/layout/reftests/line-breaking/leaders-1.html @@ -0,0 +1,26 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<!-- U+2024 is ONE DOT LEADER --> +<p>abcdef․․․abcdef</p> +<p>abcdef․abcdef</p> +<p>abcdef․ abcdef</p> +<p>abcdef ․abcdef</p> <!-- no break after the leader in this case --> + +<!-- U+2025 is TWO DOT LEADER --> +<p>abcdef‥‥‥abcdef</p> +<p>abcdef‥abcdef</p> +<p>abcdef‥ abcdef</p> +<p>abcdef ‥abcdef</p> <!-- no break after the leader in this case --> + +<!-- U+2026 is HORIZONTAL ELLIPSIS --> +<p>abcdef………abcdef</p> +<p>abcdef…abcdef</p> +<p>abcdef… abcdef</p> +<p>abcdef …abcdef</p> <!-- no break after the ellipsis in this case --> + +</body> +</html> diff --git a/layout/reftests/line-breaking/markup-src-1-ref.html b/layout/reftests/line-breaking/markup-src-1-ref.html new file mode 100644 index 0000000000..e56a1d225b --- /dev/null +++ b/layout/reftests/line-breaking/markup-src-1-ref.html @@ -0,0 +1,15 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p><table><br><tr><td><br></td></tr><br></table></p> +<p><a<br> href="abcdef"><br><span>abcdef<img<br> src="abcdef"<br> /></span></a></p> +<p>&nbsp;&nbsp;&nbsp;&nbsp;</p> +<p>&#123456;&#123456;&#123456;&#123456;</p> +<p>&#x00FF;&#x00FF;&#x00FF;&#x00FF;</p> +<p>abcdef<!--<br> abcdef<br> -->abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/markup-src-1.html b/layout/reftests/line-breaking/markup-src-1.html new file mode 100644 index 0000000000..af7907acfd --- /dev/null +++ b/layout/reftests/line-breaking/markup-src-1.html @@ -0,0 +1,15 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p><table><tr><td></td></tr></table></p> +<p><a href="abcdef"><span>abcdef<img src="abcdef" /></span></a></p> +<p>&nbsp;&nbsp;&nbsp;&nbsp;</p> +<p>&#123456;&#123456;&#123456;&#123456;</p> +<p>&#x00FF;&#x00FF;&#x00FF;&#x00FF;</p> +<p>abcdef<!-- abcdef -->abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/non-breakable-1-ref.html b/layout/reftests/line-breaking/non-breakable-1-ref.html new file mode 100644 index 0000000000..b8a1fb87b8 --- /dev/null +++ b/layout/reftests/line-breaking/non-breakable-1-ref.html @@ -0,0 +1,36 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } p > span { background-color: silver; } </style> +</head> +<body> + +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef<br> abcdef</p> +<p><span>abcdef <br>abcdef</span></p> +<p>abcdef abcdef</p> + +<!-- U+2007 is FIGURE SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef<br> abcdef</p> +<p><span>abcdef <br>abcdef</span></p> +<p>abcdef   abcdef</p> + +<!-- U+2011 is NON-BREAKING HYPHEN --> +<p>abcdef‑abcdef</p> +<p>abcdef)‑(abcdef</p> +<p>abcdef<br>‑abcdef</p> +<p>abcdef‑<br>abcdef</p> +<p>abcdef‑‑‑abcdef</p> + +<!-- U+202F is NARROW NO-BREAK SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef<br> abcdef</p> +<p><span>abcdef <br>abcdef</span></p> +<p>abcdef   abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/non-breakable-1.html b/layout/reftests/line-breaking/non-breakable-1.html new file mode 100644 index 0000000000..3ee9222c68 --- /dev/null +++ b/layout/reftests/line-breaking/non-breakable-1.html @@ -0,0 +1,36 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } p > span { background-color: silver; } </style> +</head> +<body> + +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef abcdef</p> +<p><span>abcdef abcdef</span></p> +<p>abcdef abcdef</p> + +<!-- U+2007 is FIGURE SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef  abcdef</p> +<p><span>abcdef  abcdef</span></p> +<p>abcdef   abcdef</p> + +<!-- U+2011 is NON-BREAKING HYPHEN --> +<p>abcdef‑abcdef</p> +<p>abcdef)‑(abcdef</p> +<p>abcdef ‑abcdef</p> +<p>abcdef‑ abcdef</p> +<p>abcdef‑‑‑abcdef</p> + +<!-- U+202F is NARROW NO-BREAK SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef  abcdef</p> +<p><span>abcdef  abcdef</span></p> +<p>abcdef   abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/non-breakable-2-ref.html b/layout/reftests/line-breaking/non-breakable-2-ref.html new file mode 100644 index 0000000000..3e8302de11 --- /dev/null +++ b/layout/reftests/line-breaking/non-breakable-2-ref.html @@ -0,0 +1,36 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> body {text-rendering: optimizeLegibility;} p { margin: 5px 1em; width: 0; white-space: nowrap; } p > span { background-color: silver; } </style> +</head> +<body> + +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef<br> abcdef</p> +<p><span>abcdef <br>abcdef</span></p> +<p>abcdef abcdef</p> + +<!-- U+2007 is FIGURE SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef<br> abcdef</p> +<p><span>abcdef <br>abcdef</span></p> +<p>abcdef   abcdef</p> + +<!-- U+2011 is NON-BREAKING HYPHEN --> +<p>abcdef‑abcdef</p> +<p>abcdef)‑(abcdef</p> +<p>abcdef<br>‑abcdef</p> +<p>abcdef‑<br>abcdef</p> +<p>abcdef‑‑‑abcdef</p> + +<!-- U+202F is NARROW NO-BREAK SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef<br> abcdef</p> +<p><span>abcdef <br>abcdef</span></p> +<p>abcdef   abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/non-breakable-2.html b/layout/reftests/line-breaking/non-breakable-2.html new file mode 100644 index 0000000000..8bc301bbcb --- /dev/null +++ b/layout/reftests/line-breaking/non-breakable-2.html @@ -0,0 +1,36 @@ +<!DOCTYPE HTML> +<html> +<head> +<style type="text/css"> body {text-rendering: optimizeLegibility;} p { margin: 5px 1em; width: 0; } p > span { background-color: silver; } </style> +</head> +<body> + +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef abcdef</p> +<p><span>abcdef abcdef</span></p> +<p>abcdef abcdef</p> + +<!-- U+2007 is FIGURE SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef  abcdef</p> +<p><span>abcdef  abcdef</span></p> +<p>abcdef   abcdef</p> + +<!-- U+2011 is NON-BREAKING HYPHEN --> +<p>abcdef‑abcdef</p> +<p>abcdef)‑(abcdef</p> +<p>abcdef ‑abcdef</p> +<p>abcdef‑ abcdef</p> +<p>abcdef‑‑‑abcdef</p> + +<!-- U+202F is NARROW NO-BREAK SPACE --> +<p>abcdef abcdef</p> +<p>abcdef) (abcdef</p> +<p>abcdef  abcdef</p> +<p><span>abcdef  abcdef</span></p> +<p>abcdef   abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/numerics-1-ref.html b/layout/reftests/line-breaking/numerics-1-ref.html new file mode 100644 index 0000000000..9d8990f2fc --- /dev/null +++ b/layout/reftests/line-breaking/numerics-1-ref.html @@ -0,0 +1,24 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>01234567890123456789</p> +<p>01,234,567,890,123,456,789</p> +<p>01.234.567.890.123.456.789</p> + +<p>-01234567890123456789</p> +<p>-01,234,567,890,123,456,789</p> +<p>-01.234.567.890.123.456.789</p> + +<p>+01234567890123456789</p> +<p>+01,234,567,890,123,456,789</p> +<p>+01.234.567.890.123.456.789</p> + +<p>±01234567890123456789</p> +<p>±01,234,567,890,123,456,789</p> +<p>±01.234.567.890.123.456.789</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/numerics-1.html b/layout/reftests/line-breaking/numerics-1.html new file mode 100644 index 0000000000..470ff4491d --- /dev/null +++ b/layout/reftests/line-breaking/numerics-1.html @@ -0,0 +1,24 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>01234567890123456789</p> +<p>01,234,567,890,123,456,789</p> +<p>01.234.567.890.123.456.789</p> + +<p>-01234567890123456789</p> +<p>-01,234,567,890,123,456,789</p> +<p>-01.234.567.890.123.456.789</p> + +<p>+01234567890123456789</p> +<p>+01,234,567,890,123,456,789</p> +<p>+01.234.567.890.123.456.789</p> + +<p>±01234567890123456789</p> +<p>±01,234,567,890,123,456,789</p> +<p>±01.234.567.890.123.456.789</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/parentheses-1-ref.html b/layout/reftests/line-breaking/parentheses-1-ref.html new file mode 100644 index 0000000000..a5812ef1fa --- /dev/null +++ b/layout/reftests/line-breaking/parentheses-1-ref.html @@ -0,0 +1,34 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>abcdef(abcdef)abcdef</p> +<p>abcde),</p> +<p>abcde).</p> +<p>abcde)!</p> +<p>abcde)?</p> + +<p>abcdef[abcdef]abcdef</p> +<p>abcde],</p> +<p>abcde].</p> +<p>abcde]!</p> +<p>abcde]?</p> + +<p>abcdef{abcdef}abcdef</p> +<p>abcde},</p> +<p>abcde}.</p> +<p>abcde}!</p> +<p>abcde}?</p> + +<p>abcdef<abcdef>abcdef</p> +<p>abcde>,</p> +<p>abcde>.</p> +<p>abcde>!</p> +<p>abcde>?</p> + +<p>abcdef(abcd)<br>[abcd]<br>{abcd}<br><abcd><br>(abcd)<br>(abcd)<br>[abcd]<br>[abcd]<br>{abcd}<br>{abcd}<br><abcd><br><abcd>abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/parentheses-1.html b/layout/reftests/line-breaking/parentheses-1.html new file mode 100644 index 0000000000..598be9d76f --- /dev/null +++ b/layout/reftests/line-breaking/parentheses-1.html @@ -0,0 +1,34 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>abcdef(abcdef)abcdef</p> +<p>abcde),</p> +<p>abcde).</p> +<p>abcde)!</p> +<p>abcde)?</p> + +<p>abcdef[abcdef]abcdef</p> +<p>abcde],</p> +<p>abcde].</p> +<p>abcde]!</p> +<p>abcde]?</p> + +<p>abcdef{abcdef}abcdef</p> +<p>abcde},</p> +<p>abcde}.</p> +<p>abcde}!</p> +<p>abcde}?</p> + +<p>abcdef<abcdef>abcdef</p> +<p>abcde>,</p> +<p>abcde>.</p> +<p>abcde>!</p> +<p>abcde>?</p> + +<p>abcdef(abcd)[abcd]{abcd}<abcd>(abcd)(abcd)[abcd][abcd]{abcd}{abcd}<abcd><abcd>abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-1-ref.html b/layout/reftests/line-breaking/punctuation-open-1-ref.html new file mode 100644 index 0000000000..5b9640e217 --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-1-ref.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>abcdef,<br>(abcdef</p> +<p>abcdef,<br>[abcdef</p> +<p>abcdef,<br>{abcdef</p> +<p>abcdef,<br>{abcdef</p> +<p>abcdef,<br>「abcdef</p> +<p>abcdef,<br>(abcdef</p> +<p>abcdef,<br>[abcdef</p> +<p>abcdef,<br>{abcdef</p> +<p>abcdef,<br>「abcdef</p> + +<p>abcdef.<br>(abcdef</p> +<p>abcdef.<br>[abcdef</p> +<p>abcdef.<br>{abcdef</p> +<p>abcdef.<br>「abcdef</p> +<p>abcdef.<br>(abcdef</p> +<p>abcdef.<br>[abcdef</p> +<p>abcdef.<br>{abcdef</p> +<p>abcdef.<br>「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-1.html b/layout/reftests/line-breaking/punctuation-open-1.html new file mode 100644 index 0000000000..6eecc17bf1 --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-1.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>abcdef,(abcdef</p> +<p>abcdef,[abcdef</p> +<p>abcdef,{abcdef</p> +<p>abcdef,{abcdef</p> +<p>abcdef,「abcdef</p> +<p>abcdef,(abcdef</p> +<p>abcdef,[abcdef</p> +<p>abcdef,{abcdef</p> +<p>abcdef,「abcdef</p> + +<p>abcdef.(abcdef</p> +<p>abcdef.[abcdef</p> +<p>abcdef.{abcdef</p> +<p>abcdef.「abcdef</p> +<p>abcdef.(abcdef</p> +<p>abcdef.[abcdef</p> +<p>abcdef.{abcdef</p> +<p>abcdef.「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-2-ref.html b/layout/reftests/line-breaking/punctuation-open-2-ref.html new file mode 100644 index 0000000000..74cedd5805 --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-2-ref.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>abcdef、<br>(abcdef</p> +<p>abcdef、<br>[abcdef</p> +<p>abcdef、<br>{abcdef</p> +<p>abcdef、<br>{abcdef</p> +<p>abcdef、<br>「abcdef</p> +<p>abcdef、<br>(abcdef</p> +<p>abcdef、<br>[abcdef</p> +<p>abcdef、<br>{abcdef</p> +<p>abcdef、<br>「abcdef</p> + +<p>abcdef。<br>(abcdef</p> +<p>abcdef。<br>[abcdef</p> +<p>abcdef。<br>{abcdef</p> +<p>abcdef。<br>「abcdef</p> +<p>abcdef。<br>(abcdef</p> +<p>abcdef。<br>[abcdef</p> +<p>abcdef。<br>{abcdef</p> +<p>abcdef。<br>「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-2.html b/layout/reftests/line-breaking/punctuation-open-2.html new file mode 100644 index 0000000000..ae65acfac1 --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-2.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>abcdef、(abcdef</p> +<p>abcdef、[abcdef</p> +<p>abcdef、{abcdef</p> +<p>abcdef、{abcdef</p> +<p>abcdef、「abcdef</p> +<p>abcdef、(abcdef</p> +<p>abcdef、[abcdef</p> +<p>abcdef、{abcdef</p> +<p>abcdef、「abcdef</p> + +<p>abcdef。(abcdef</p> +<p>abcdef。[abcdef</p> +<p>abcdef。{abcdef</p> +<p>abcdef。「abcdef</p> +<p>abcdef。(abcdef</p> +<p>abcdef。[abcdef</p> +<p>abcdef。{abcdef</p> +<p>abcdef。「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-3-ref.html b/layout/reftests/line-breaking/punctuation-open-3-ref.html new file mode 100644 index 0000000000..782900a9f3 --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-3-ref.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>abcdef,<br>(abcdef</p> +<p>abcdef,<br>[abcdef</p> +<p>abcdef,<br>{abcdef</p> +<p>abcdef,<br>{abcdef</p> +<p>abcdef,<br>「abcdef</p> +<p>abcdef,<br>(abcdef</p> +<p>abcdef,<br>[abcdef</p> +<p>abcdef,<br>{abcdef</p> +<p>abcdef,<br>「abcdef</p> + +<p>abcdef.<br>(abcdef</p> +<p>abcdef.<br>[abcdef</p> +<p>abcdef.<br>{abcdef</p> +<p>abcdef.<br>「abcdef</p> +<p>abcdef.<br>(abcdef</p> +<p>abcdef.<br>[abcdef</p> +<p>abcdef.<br>{abcdef</p> +<p>abcdef.<br>「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-3.html b/layout/reftests/line-breaking/punctuation-open-3.html new file mode 100644 index 0000000000..985d098231 --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-3.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>abcdef,(abcdef</p> +<p>abcdef,[abcdef</p> +<p>abcdef,{abcdef</p> +<p>abcdef,{abcdef</p> +<p>abcdef,「abcdef</p> +<p>abcdef,(abcdef</p> +<p>abcdef,[abcdef</p> +<p>abcdef,{abcdef</p> +<p>abcdef,「abcdef</p> + +<p>abcdef.(abcdef</p> +<p>abcdef.[abcdef</p> +<p>abcdef.{abcdef</p> +<p>abcdef.「abcdef</p> +<p>abcdef.(abcdef</p> +<p>abcdef.[abcdef</p> +<p>abcdef.{abcdef</p> +<p>abcdef.「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-4-ref.html b/layout/reftests/line-breaking/punctuation-open-4-ref.html new file mode 100644 index 0000000000..718f2be433 --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-4-ref.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>abcdef、<br>(abcdef</p> +<p>abcdef、<br>[abcdef</p> +<p>abcdef、<br>{abcdef</p> +<p>abcdef、<br>{abcdef</p> +<p>abcdef、<br>「abcdef</p> +<p>abcdef、<br>(abcdef</p> +<p>abcdef、<br>[abcdef</p> +<p>abcdef、<br>{abcdef</p> +<p>abcdef、<br>「abcdef</p> + +<p>abcdef。<br>(abcdef</p> +<p>abcdef。<br>[abcdef</p> +<p>abcdef。<br>{abcdef</p> +<p>abcdef。<br>「abcdef</p> +<p>abcdef。<br>(abcdef</p> +<p>abcdef。<br>[abcdef</p> +<p>abcdef。<br>{abcdef</p> +<p>abcdef。<br>「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/punctuation-open-4.html b/layout/reftests/line-breaking/punctuation-open-4.html new file mode 100644 index 0000000000..6c2a8912ac --- /dev/null +++ b/layout/reftests/line-breaking/punctuation-open-4.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>abcdef、(abcdef</p> +<p>abcdef、[abcdef</p> +<p>abcdef、{abcdef</p> +<p>abcdef、{abcdef</p> +<p>abcdef、「abcdef</p> +<p>abcdef、(abcdef</p> +<p>abcdef、[abcdef</p> +<p>abcdef、{abcdef</p> +<p>abcdef、「abcdef</p> + +<p>abcdef。(abcdef</p> +<p>abcdef。[abcdef</p> +<p>abcdef。{abcdef</p> +<p>abcdef。「abcdef</p> +<p>abcdef。(abcdef</p> +<p>abcdef。[abcdef</p> +<p>abcdef。{abcdef</p> +<p>abcdef。「abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/quotationmarks-1-ref.html b/layout/reftests/line-breaking/quotationmarks-1-ref.html new file mode 100644 index 0000000000..b07a0f3504 --- /dev/null +++ b/layout/reftests/line-breaking/quotationmarks-1-ref.html @@ -0,0 +1,19 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>abcdef"abc'abc`abc‘abc’abc‚abc‛abc“abc”abc„abc‟abcdef</p> +<p>abcdef,"abc,'abc,`abc,‘abc,’abc,‚abc,‛abc,“abc,”abc,„abc,‟abcdef</p> +<p>abcdef."abc.'abc.`abc.‘abc.’abc.‚abc.‛abc.“abc.”abc.„abc.‟abcdef</p> +<p>abcdef..."abc...'abc...`abc...‘abc...’abc...‚abc...‛abc...“abc...”abc...„abc...‟abcdef</p> +<p>abcdef!"abc!'abc!`abc!‘abc!’abc!‚abc!‛abc!“abc!”abc!„abc!‟abcdef</p> +<p>abcdef?"abc?'abc?`abc?‘abc?’abc?‚abc?‛abc?“abc?”abc?„abc?‟abcdef</p> +<p>abcdef",abc',abc`,abc‘,abc’,abc‚,abc‛,abc“,abc”,abc„,abc‟,abcdef</p> +<p>abcdef".abc'.abc`.abc‘.abc’.abc‚.abc‛.abc“.abc”.abc„.abc‟.abcdef</p> +<p>abcdef"!abc'!abc`!abc‘!abc’!abc‚!abc‛!abc“!abc”!abc„!abc‟!abcdef</p> +<p>abcdef"?abc'?abc`?abc‘?abc’?abc‚?abc‛?abc“?abc”?abc„?abc‟?abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/quotationmarks-1.html b/layout/reftests/line-breaking/quotationmarks-1.html new file mode 100644 index 0000000000..ad273cb4ee --- /dev/null +++ b/layout/reftests/line-breaking/quotationmarks-1.html @@ -0,0 +1,19 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>abcdef"abc'abc`abc‘abc’abc‚abc‛abc“abc”abc„abc‟abcdef</p> +<p>abcdef,"abc,'abc,`abc,‘abc,’abc,‚abc,‛abc,“abc,”abc,„abc,‟abcdef</p> +<p>abcdef."abc.'abc.`abc.‘abc.’abc.‚abc.‛abc.“abc.”abc.„abc.‟abcdef</p> +<p>abcdef..."abc...'abc...`abc...‘abc...’abc...‚abc...‛abc...“abc...”abc...„abc...‟abcdef</p> +<p>abcdef!"abc!'abc!`abc!‘abc!’abc!‚abc!‛abc!“abc!”abc!„abc!‟abcdef</p> +<p>abcdef?"abc?'abc?`abc?‘abc?’abc?‚abc?‛abc?“abc?”abc?„abc?‟abcdef</p> +<p>abcdef",abc',abc`,abc‘,abc’,abc‚,abc‛,abc“,abc”,abc„,abc‟,abcdef</p> +<p>abcdef".abc'.abc`.abc‘.abc’.abc‚.abc‛.abc“.abc”.abc„.abc‟.abcdef</p> +<p>abcdef"!abc'!abc`!abc‘!abc’!abc‚!abc‛!abc“!abc”!abc„!abc‟!abcdef</p> +<p>abcdef"?abc'?abc`?abc‘?abc’?abc‚?abc‛?abc“?abc”?abc„?abc‟?abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/quotationmarks-cjk-1-ref.html b/layout/reftests/line-breaking/quotationmarks-cjk-1-ref.html new file mode 100644 index 0000000000..b20854168b --- /dev/null +++ b/layout/reftests/line-breaking/quotationmarks-cjk-1-ref.html @@ -0,0 +1,18 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>字<br>‘字’<br>字<br>“字”<br>字</p> +<p>字,<br>‘字,’<br>字,<br>“字,”<br>字</p> +<p>字.<br>‘字.’<br>字.<br>“字.”<br>字</p> +<p>字:<br>‘字:’<br>字:<br>“字:”<br>字</p> +<p>字;<br>‘字;’<br>字;<br>“字;”<br>字</p> +<p>字!<br>‘字!’<br>字!<br>“字!”<br>字</p> +<p>字?<br>‘字?’<br>字?<br>“字?”<br>字</p> +<p>字<br>‘(字)’<br>字<br>“(字)”<br>字</p> +<p>字<br>(‘字’)<br>字<br>(“字”)<br>字</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/quotationmarks-cjk-1.html b/layout/reftests/line-breaking/quotationmarks-cjk-1.html new file mode 100644 index 0000000000..b033f5ee82 --- /dev/null +++ b/layout/reftests/line-breaking/quotationmarks-cjk-1.html @@ -0,0 +1,19 @@ +<html> +<head> +<meta content-type="text/html" charset="utf8"> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>字‘字’字“字”字</p> +<p>字,‘字,’字,“字,”字</p> +<p>字.‘字.’字.“字.”字</p> +<p>字:‘字:’字:“字:”字</p> +<p>字;‘字;’字;“字;”字</p> +<p>字!‘字!’字!“字!”字</p> +<p>字?‘字?’字?“字?”字</p> +<p>字‘(字)’字“(字)”字</p> +<p>字(‘字’)字(“字”)字</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/reftest.list b/layout/reftests/line-breaking/reftest.list new file mode 100644 index 0000000000..501f861627 --- /dev/null +++ b/layout/reftests/line-breaking/reftest.list @@ -0,0 +1,45 @@ +== between-whitespaces.html between-whitespaces-ref.html +== chemical-1.html chemical-1-ref.html +== conservative-range-1.html conservative-range-1-ref.html +== conservative-range-2.html conservative-range-2-ref.html +== currency-1.html currency-1-ref.html +== currency-2.html currency-2-ref.html +== datetime-1.html datetime-1-ref.html +pref(gfx.font_rendering.fallback.async,false) == emoji-1.html emoji-1-ref.html +pref(gfx.font_rendering.fallback.async,false) == emoji-2.html emoji-2-ref.html +== hyphens-1.html hyphens-1-ref.html +== hyphens-2.html hyphens-2-ref.html +# The following three tests may fail if rendering with Core Text (see bug 389074) +# due to subpixel glyph positioning differences between the reference cases with <br> +# and the automatically-wrapped lines in the test file +== ja-1.html ja-1-ref.html +== ja-2.html ja-2-ref.html +== ja-3.html ja-3-ref.html +== khmer-1.html khmer-1-ref.html +== leaders-1.html leaders-1-ref.html +== markup-src-1.html markup-src-1-ref.html +== non-breakable-1.html non-breakable-1-ref.html +== non-breakable-2.html non-breakable-2-ref.html +== numerics-1.html numerics-1-ref.html +== parentheses-1.html parentheses-1-ref.html +== punctuation-open-1.html punctuation-open-1-ref.html +== punctuation-open-2.html punctuation-open-2-ref.html +== punctuation-open-3.html punctuation-open-3-ref.html +== punctuation-open-4.html punctuation-open-4-ref.html +== quotationmarks-1.html quotationmarks-1-ref.html +# The following is currently disabled on Linux because of a rendering issue with missing-glyph +# representations on the test boxes. See bug #450088 for discussion. +skip-if(gtkWidget) == quotationmarks-cjk-1.html quotationmarks-cjk-1-ref.html +== smileys-1.html smileys-1-ref.html +== smileys-2.html smileys-2-ref.html +== space-cluster-1.html space-cluster-1-ref.html +random-if(cocoaWidget) == space-cluster-2.html space-cluster-2-ref.html # harfbuzz vs coretext, different positioning of stray diacritics +== surrogates-1.html surrogates-1-ref.html +== surrogates-2.html surrogates-2-ref.html +== surrogates-3.html surrogates-3-ref.html +== surrogates-4.html surrogates-4-ref.html +== url-1.html url-1-ref.html +== url-2.html url-2-ref.html +== url-3.html url-3-ref.html +== winpath-1.html winpath-1-ref.html +== zwnbsp-1.html zwnbsp-1-ref.html diff --git a/layout/reftests/line-breaking/smileys-1-ref.html b/layout/reftests/line-breaking/smileys-1-ref.html new file mode 100644 index 0000000000..01d1ae7bd6 --- /dev/null +++ b/layout/reftests/line-breaking/smileys-1-ref.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>:)</p> +<p>;)</p> +<p>:(</p> +<p>:-)</p> +<p>:-(</p> +<p>:P</p> +<p>:D</p> +<p>:-D</p> +<p>:^)</p> +<p>:-/</p> +<p>=^_^=</p> +<p>\^_^/</p> +<p>^-^</p> +<p>^^;;</p> +<p>o_O</p> +<p>-__-;;</p> +<p>>_<</p> +<p>><</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/smileys-1.html b/layout/reftests/line-breaking/smileys-1.html new file mode 100644 index 0000000000..e0b718a209 --- /dev/null +++ b/layout/reftests/line-breaking/smileys-1.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>:)</p> +<p>;)</p> +<p>:(</p> +<p>:-)</p> +<p>:-(</p> +<p>:P</p> +<p>:D</p> +<p>:-D</p> +<p>:^)</p> +<p>:-/</p> +<p>=^_^=</p> +<p>\^_^/</p> +<p>^-^</p> +<p>^^;;</p> +<p>o_O</p> +<p>-__-;;</p> +<p>>_<</p> +<p>><</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/smileys-2-ref.html b/layout/reftests/line-breaking/smileys-2-ref.html new file mode 100644 index 0000000000..0de4d74cf2 --- /dev/null +++ b/layout/reftests/line-breaking/smileys-2-ref.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>abcdef:)</p> +<p>abcdef;)</p> +<p>abcdef:(</p> +<p>abcdef:-)</p> +<p>abcdef:-(</p> +<p>abcdef:P</p> +<p>abcdef:D</p> +<p>abcdef:-D</p> +<p>abcdef:^)</p> +<p>abcdef:-/</p> +<p>abcdef=^_^=</p> +<p>abcdef\^_^/</p> +<p>abcdef^-^</p> +<p>abcdef^^;;</p> +<p>abcdefo_O</p> +<p>abcdef-__-;;</p> +<p>abcdef>_<</p> +<p>abcdef><</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/smileys-2.html b/layout/reftests/line-breaking/smileys-2.html new file mode 100644 index 0000000000..1dcd88be67 --- /dev/null +++ b/layout/reftests/line-breaking/smileys-2.html @@ -0,0 +1,27 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>abcdef:)</p> +<p>abcdef;)</p> +<p>abcdef:(</p> +<p>abcdef:-)</p> +<p>abcdef:-(</p> +<p>abcdef:P</p> +<p>abcdef:D</p> +<p>abcdef:-D</p> +<p>abcdef:^)</p> +<p>abcdef:-/</p> +<p>abcdef=^_^=</p> +<p>abcdef\^_^/</p> +<p>abcdef^-^</p> +<p>abcdef^^;;</p> +<p>abcdefo_O</p> +<p>abcdef-__-;;</p> +<p>abcdef>_<</p> +<p>abcdef><</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/space-cluster-1-ref.html b/layout/reftests/line-breaking/space-cluster-1-ref.html new file mode 100644 index 0000000000..73f65d3862 --- /dev/null +++ b/layout/reftests/line-breaking/space-cluster-1-ref.html @@ -0,0 +1,4 @@ +<!DOCTYPE html> +<body style="line-height: 1.5em"> +there<br>should<br>be<br>one<br>word<br>per<br>line +</body> diff --git a/layout/reftests/line-breaking/space-cluster-1.html b/layout/reftests/line-breaking/space-cluster-1.html new file mode 100644 index 0000000000..511f7381df --- /dev/null +++ b/layout/reftests/line-breaking/space-cluster-1.html @@ -0,0 +1,5 @@ +<!DOCTYPE html> +<body style="width: 0; line-height: 1.5em"> +<!-- none of these control codes should inhibit line breaking at the spaces --> +there‍ should ‍be‌ one ‌word͏ per ͏line +</body> diff --git a/layout/reftests/line-breaking/space-cluster-2-ref.html b/layout/reftests/line-breaking/space-cluster-2-ref.html new file mode 100644 index 0000000000..c7fb7ac99e --- /dev/null +++ b/layout/reftests/line-breaking/space-cluster-2-ref.html @@ -0,0 +1,4 @@ +<!DOCTYPE html> +<body> +Each diacritic should be on a separate line: +<div style="margin: 1em; line-height: 1.5em; font-family: monospace;">̂<br>̄<br>̅<br>̆<br>̇ diff --git a/layout/reftests/line-breaking/space-cluster-2.html b/layout/reftests/line-breaking/space-cluster-2.html new file mode 100644 index 0000000000..a1eb7f9e3f --- /dev/null +++ b/layout/reftests/line-breaking/space-cluster-2.html @@ -0,0 +1,4 @@ +<!DOCTYPE html> +<body> +Each diacritic should be on a separate line: +<div style="width: 0; margin: 1em; line-height: 1.5em; font-family: monospace;">̂ ̄ ̅ ̆ ̇ diff --git a/layout/reftests/line-breaking/surrogates-1-ref.html b/layout/reftests/line-breaking/surrogates-1-ref.html new file mode 100644 index 0000000000..9a4cbcadaf --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-1-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef<br>‘文’<br>abcdef</p> +<p class="supp">abcdef<br>‘𠀋’<br>abcdef</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/surrogates-1.html b/layout/reftests/line-breaking/surrogates-1.html new file mode 100644 index 0000000000..3c8252c5c9 --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-1.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +p { + width:0; +} +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef ‘文’ abcdef</p> +<p class="supp">abcdef ‘𠀋’ abcdef</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/surrogates-2-ref.html b/layout/reftests/line-breaking/surrogates-2-ref.html new file mode 100644 index 0000000000..f00c5e9fbe --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-2-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef<br>‘文’abcdef</p> +<p class="supp">abcdef<br>‘𠀋’abcdef</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/surrogates-2.html b/layout/reftests/line-breaking/surrogates-2.html new file mode 100644 index 0000000000..7de30dcb5b --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-2.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +p { + width:0; +} +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef‘文’abcdef</p> +<p class="supp">abcdef‘𠀋’abcdef</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/surrogates-3-ref.html b/layout/reftests/line-breaking/surrogates-3-ref.html new file mode 100644 index 0000000000..5bfb9d960c --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-3-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef<br>‘文’<br>abcdef</p> +<p class="supp">𐐈𐐉𐐊𐐋𐐌𐐍<br>‘𠀋’<br>𐐈𐐉𐐊𐐋𐐌𐐍</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/surrogates-3.html b/layout/reftests/line-breaking/surrogates-3.html new file mode 100644 index 0000000000..7bb11ae6b6 --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-3.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +p { + width:0; +} +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef ‘文’ abcdef</p> +<p class="supp">𐐈𐐉𐐊𐐋𐐌𐐍 ‘𠀋’ 𐐈𐐉𐐊𐐋𐐌𐐍</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/surrogates-4-ref.html b/layout/reftests/line-breaking/surrogates-4-ref.html new file mode 100644 index 0000000000..f191559ed6 --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-4-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef<br>‘文’abcdef</p> +<p class="supp">𐐈𐐉𐐊𐐋𐐌𐐍<br>‘𠀋’𐐈𐐉𐐊𐐋𐐌𐐍</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/surrogates-4.html b/layout/reftests/line-breaking/surrogates-4.html new file mode 100644 index 0000000000..8aa3cd776d --- /dev/null +++ b/layout/reftests/line-breaking/surrogates-4.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Bug xxxx</title> +<style> +p { + width:0; +} +.bmp { + color: green; +} +.supp { + color: blue; +} +</style> +</head> +<body> +Line-breaking in the green (BMP) and blue (supplementary-plane) examples should match. +<p class="bmp">abcdef‘文’abcdef</p> +<p class="supp">𐐈𐐉𐐊𐐋𐐌𐐍‘𠀋’𐐈𐐉𐐊𐐋𐐌𐐍</p> +</body> +</html> diff --git a/layout/reftests/line-breaking/url-1-ref.html b/layout/reftests/line-breaking/url-1-ref.html new file mode 100644 index 0000000000..9c3e233862 --- /dev/null +++ b/layout/reftests/line-breaking/url-1-ref.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>http://www.mozilla.org/</p> +<p>http://www.mozilla.org/abcd</p> +<p>http://www.mozilla.org<br>/abcde</p> +<p>http://www.mozilla.org<br>/abcdef/</p> +<p>http://www.mozilla.org<br>/abcd/abcd<br>/abcde<br>/index.html</p> +<p>http://www.mozilla.org<br>/index.cgi?abcdef=abcdef&<br>abcdef=abcdef</p> +<p>http://www.mozilla.org<br>/index.cgi?abcdef=abcdef;<br>abcdef=abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/url-1.html b/layout/reftests/line-breaking/url-1.html new file mode 100644 index 0000000000..c727d0d205 --- /dev/null +++ b/layout/reftests/line-breaking/url-1.html @@ -0,0 +1,16 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>http://www.mozilla.org/</p> +<p>http://www.mozilla.org/abcd</p> +<p>http://www.mozilla.org/abcde</p> +<p>http://www.mozilla.org/abcdef/</p> +<p>http://www.mozilla.org/abcd/abcd/abcde/index.html</p> +<p>http://www.mozilla.org/index.cgi?abcdef=abcdef&abcdef=abcdef</p> +<p>http://www.mozilla.org/index.cgi?abcdef=abcdef;abcdef=abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/url-2-ref.html b/layout/reftests/line-breaking/url-2-ref.html new file mode 100644 index 0000000000..d1d6281eb0 --- /dev/null +++ b/layout/reftests/line-breaking/url-2-ref.html @@ -0,0 +1,21 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>/abcde<br>/abcde</p> +<p>/abcd/abcde</p> +<p>/abcde/abcd</p> +<p>abc/de<br>/abcde</p> +<p>abc/de/abcd</p> +<p>../../..</p> +<p>../../../..</p> +<p>../../..<br>/../..</p> +<p>../../..<br>/abcde</p> +<p>abc/de<br>/abcde.abcdef</p> +<p>index.cgi?abcdef=abcdef&<br>abcdef=abcdef</p> +<p>index.cgi?abcdef=abcdef;<br>abcdef=abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/url-2.html b/layout/reftests/line-breaking/url-2.html new file mode 100644 index 0000000000..0d1f377614 --- /dev/null +++ b/layout/reftests/line-breaking/url-2.html @@ -0,0 +1,21 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>/abcde/abcde</p> +<p>/abcd/abcde</p> +<p>/abcde/abcd</p> +<p>abc/de/abcde</p> +<p>abc/de/abcd</p> +<p>../../..</p> +<p>../../../..</p> +<p>../../../../..</p> +<p>../../../abcde</p> +<p>abc/de/abcde.abcdef</p> +<p>index.cgi?abcdef=abcdef&abcdef=abcdef</p> +<p>index.cgi?abcdef=abcdef;abcdef=abcdef</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/url-3-ref.html b/layout/reftests/line-breaking/url-3-ref.html new file mode 100644 index 0000000000..a940e970ef --- /dev/null +++ b/layout/reftests/line-breaking/url-3-ref.html @@ -0,0 +1,14 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>index.cgi?abcdef=<br>%E6%97<br>%A5%E6<br>%9C%AC<br>%E8%AA<br>%9E&<br>abcdef=<br>%E6%97<br>%A5%E6<br>%9C%AC<br>%E8%AA%9E</p> +<p>index.cgi?abcdef=<br>%E6%97<br>%A5%E6<br>%9C%AC<br>%E8%AA<br>%9E;<br>abcdef=<br>%E6%97<br>%A5%E6<br>%9C%AC<br>%E8%AA%9E</p> +<p>%E6%97<br>%A5%E6<br>%9C%AC<br>%E8%AA%9E</p> +<p>%E6%97<br>%A5%E6<br>%9C%AC<br>%E8%AA%9Eab</p> +<p>%E6%97<br>%A5%E6<br>%9C%AC<br>%E8%AA<br>%9Eabc</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/url-3.html b/layout/reftests/line-breaking/url-3.html new file mode 100644 index 0000000000..44c955b448 --- /dev/null +++ b/layout/reftests/line-breaking/url-3.html @@ -0,0 +1,14 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>index.cgi?abcdef=%E6%97%A5%E6%9C%AC%E8%AA%9E&abcdef=%E6%97%A5%E6%9C%AC%E8%AA%9E</p> +<p>index.cgi?abcdef=%E6%97%A5%E6%9C%AC%E8%AA%9E;abcdef=%E6%97%A5%E6%9C%AC%E8%AA%9E</p> +<p>%E6%97%A5%E6%9C%AC%E8%AA%9E</p> +<p>%E6%97%A5%E6%9C%AC%E8%AA%9Eab</p> +<p>%E6%97%A5%E6%9C%AC%E8%AA%9Eabc</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/winpath-1-ref.html b/layout/reftests/line-breaking/winpath-1-ref.html new file mode 100644 index 0000000000..efa51605b4 --- /dev/null +++ b/layout/reftests/line-breaking/winpath-1-ref.html @@ -0,0 +1,22 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style> +</head> +<body> + +<p>\abcde<br>\abcde</p> +<p>\abcd\abcde</p> +<p>\abcde\abcd</p> +<p>abc\de<br>\abcde</p> +<p>abc\de\abcd</p> +<p>..\..\..</p> +<p>..\..\..\..</p> +<p>..\..\..<br>\..\..</p> +<p>..\..\..<br>\abcde</p> +<p>abc\de<br>\abcde.abcdef</p> +<p>\\abcd<br>\abcde</p> +<p>\\abc\abcde</p> +<p>\\abcd\abcd</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/winpath-1.html b/layout/reftests/line-breaking/winpath-1.html new file mode 100644 index 0000000000..d3dce3702e --- /dev/null +++ b/layout/reftests/line-breaking/winpath-1.html @@ -0,0 +1,22 @@ +<html> +<head> +<style type="text/css"> p { margin: 5px 1em; width: 0; } </style> +</head> +<body> + +<p>\abcde\abcde</p> +<p>\abcd\abcde</p> +<p>\abcde\abcd</p> +<p>abc\de\abcde</p> +<p>abc\de\abcd</p> +<p>..\..\..</p> +<p>..\..\..\..</p> +<p>..\..\..\..\..</p> +<p>..\..\..\abcde</p> +<p>abc\de\abcde.abcdef</p> +<p>\\abcd\abcde</p> +<p>\\abc\abcde</p> +<p>\\abcd\abcd</p> + +</body> +</html> diff --git a/layout/reftests/line-breaking/zwnbsp-1-ref.html b/layout/reftests/line-breaking/zwnbsp-1-ref.html new file mode 100644 index 0000000000..34cc31aec8 --- /dev/null +++ b/layout/reftests/line-breaking/zwnbsp-1-ref.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<style type="text/css"> +p { margin: 5px 1em; line-height: 1.5; } +</style> +</head> +<body> + +<div style="float:left; width: 15em;"> +<!-- U+FEFF is (deprecated) ZERO-WIDTH NO-BREAK SPACE --> +<p>abcdefabcdef</p> +<p>abcdef)(abcdef</p> +<p>abcdef<br>abcdef</p> +<p>abcdef<br>abcdef</p> +<p>abcdefabcdef</p> + +<p>コ<br>ミュ<br>ニ</p> +<p>コミュニ</p> + +<p>你<br>好<br>吗?</p> +<p>你好<br>吗?</p> +<p>你好吗?</p> +</div> + +<div style="float:left; width: 15em;"> +<!-- U+2060 is WORD JOINER --> +<p>abcdefabcdef</p> +<p>abcdef)(abcdef</p> +<p>abcdef<br>abcdef</p> +<p>abcdef<br>abcdef</p> +<p>abcdefabcdef</p> + +<p>コ<br>ミュ<br>ニ</p> +<p>コ⁠ミ⁠ュ⁠ニ</p> + +<p>你<br>好<br>吗?</p> +<p>你好<br>吗?</p> +<p>你好吗?</p> +</div> + +</body> +</html> diff --git a/layout/reftests/line-breaking/zwnbsp-1.html b/layout/reftests/line-breaking/zwnbsp-1.html new file mode 100644 index 0000000000..1f8831cd57 --- /dev/null +++ b/layout/reftests/line-breaking/zwnbsp-1.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<style type="text/css"> +p { margin: 5px 1em; line-height: 1.5; width: 0; } +</style> +</head> +<body> + +<div style="float:left; width: 15em;"> +<!-- U+FEFF is (deprecated) ZERO-WIDTH NO-BREAK SPACE --> +<p>abcdefabcdef</p> +<p>abcdef)(abcdef</p> +<p>abcdef abcdef</p> +<p>abcdef abcdef</p> +<p>abcdefabcdef</p> + +<p>コミュニ</p> +<p>コミュニ</p> + +<p>你好吗?</p> +<p>你好吗?</p> +<p>你好吗?</p> +</div> + +<div style="float:left; width: 15em;"> +<!-- U+2060 is WORD JOINER --> +<p>abcdef⁠abcdef</p> +<p>abcdef)⁠(abcdef</p> +<p>abcdef ⁠abcdef</p> +<p>abcdef⁠ abcdef</p> +<p>abcdef⁠⁠⁠abcdef</p> + +<p>コミュニ</p> +<p>コ⁠ミ⁠ュ⁠ニ</p> + +<p>你好吗?</p> +<p>你⁠好吗?</p> +<p>你⁠好⁠吗?</p> +</div> + +</body> +</html> |