From b0d4093a86fa9731e14834c3cd7d37c1ad2a0d7d Mon Sep 17 00:00:00 2001 From: patrick kim Date: Mon, 27 Jan 2014 12:02:35 +0900 Subject: [PATCH] add comment & add ref test --- src/components/main/layout/text.rs | 2 ++ src/test/ref/basic.list | 1 + .../test.jpeg => ref/inline_border.jpeg} | Bin src/test/ref/inline_border_a.html | 22 ++++++++++++++++++ src/test/ref/inline_border_b.html | 20 ++++++++++++++++ src/test/ref/inline_border_ref.png | Bin 0 -> 20306 bytes 6 files changed, 45 insertions(+) rename src/test/{html/test.jpeg => ref/inline_border.jpeg} (100%) create mode 100644 src/test/ref/inline_border_a.html create mode 100644 src/test/ref/inline_border_b.html create mode 100644 src/test/ref/inline_border_ref.png diff --git a/src/components/main/layout/text.rs b/src/components/main/layout/text.rs index d4f5e242db5..f8c5ad88009 100644 --- a/src/components/main/layout/text.rs +++ b/src/components/main/layout/text.rs @@ -18,6 +18,8 @@ use style::computed_values::white_space; /// A stack-allocated object for scanning an inline flow into `TextRun`-containing `TextBox`es. pub struct TextRunScanner { clump: Range, + /// when flush_clump, some boxes not makes result. + /// if the lost box has border,margin,padding of inline, we should restore that stuff. last_lost_box_index: Option } diff --git a/src/test/ref/basic.list b/src/test/ref/basic.list index aa30288362f..b4e2a8e6bde 100644 --- a/src/test/ref/basic.list +++ b/src/test/ref/basic.list @@ -24,3 +24,4 @@ == position_fixed_a.html position_fixed_b.html == img_size_a.html img_size_b.html == upper_id_attr.html upper_id_attr_ref.html +== inline_border_a.html inline_border_b.html diff --git a/src/test/html/test.jpeg b/src/test/ref/inline_border.jpeg similarity index 100% rename from src/test/html/test.jpeg rename to src/test/ref/inline_border.jpeg diff --git a/src/test/ref/inline_border_a.html b/src/test/ref/inline_border_a.html new file mode 100644 index 00000000000..71b02c225ce --- /dev/null +++ b/src/test/ref/inline_border_a.html @@ -0,0 +1,22 @@ + + + + + + + + + + diff --git a/src/test/ref/inline_border_b.html b/src/test/ref/inline_border_b.html new file mode 100644 index 00000000000..a5af77cc0cd --- /dev/null +++ b/src/test/ref/inline_border_b.html @@ -0,0 +1,20 @@ + + + + + + + + diff --git a/src/test/ref/inline_border_ref.png b/src/test/ref/inline_border_ref.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1690ed6c624d9e1c94fa863dd25286d2eea96d GIT binary patch literal 20306 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 ixDesO|APxKDt+Ic(d(Tb`jNl#fYW(}xr(