From 43ec6a8163bb0af9dc608cf2f264260c98969399 Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Sun, 23 Dec 2018 21:24:36 -0500 Subject: [PATCH] Css: Trim whitespace from start and end of css-related urls [#307] --- .../src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java | 7 ++++++- .../gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java index 22150c868..0315af189 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java @@ -60,7 +60,12 @@ public class Xoa_css_img_downloader { usr_dlg.Warn_many(GRP_KEY, "parse.invalid_url.end_missing", "could not find end_sequence for 'url(': bgn='~{0}' end='~{1}'", prv_pos, String_.new_u8__by_len(src, prv_pos, prv_pos + 25)); bfr.Add_mid(src, prv_pos, src_len); break; - } + } + + // trim whitespace; EX: "background: url( //upload.wikimedia.org/wikipedia/commons/thumb/2/24/Gtk-media-forward-ltr.svg/24px-Gtk-media-forward-ltr.svg.png )" ISSUE#:307 PAGE:en.v:MediaWiki:Common.css/Slideshows.css DATE:2018-12-23 + bgn_pos = Bry_find_.Find_fwd_while_space_or_tab(src, bgn_pos, end_pos); + end_pos = Bry_find_.Find_bwd__skip_ws(src, end_pos, bgn_pos); + if (end_pos - bgn_pos == 0) { // empty; "url()"; ignore usr_dlg.Warn_many(GRP_KEY, "parse.invalid_url.empty", "'url(' is empty: bgn='~{0}' end='~{1}'", prv_pos, String_.new_u8__by_len(src, prv_pos, prv_pos + 25)); bfr.Add_mid(src, prv_pos, bgn_pos); diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java index b18aecc0b..c42fee136 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java @@ -32,6 +32,13 @@ public class Xoa_css_img_downloader_tst { , "site/a.jpg" ); } + @Test public void Unquoted_w_ws() { // trim whitespace; EX: "background: url( //upload.wikimedia.org/wikipedia/commons/thumb/2/24/Gtk-media-forward-ltr.svg/24px-Gtk-media-forward-ltr.svg.png )" ISSUE#:307 PAGE:en.v:MediaWiki:Common.css/Slideshows.css DATE:2018-12-23 + fxt.Test_css_convert + ( "x {url( //site/a.jpg )}" + , "x {url( \"site/a.jpg\" )}" + , "site/a.jpg" + ); + } @Test public void Http() { fxt.Test_css_convert ( "x {url(http://site/a.jpg)}"