Cscott has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/119894

Change subject: No more NaNxNaN px.
......................................................................

No more NaNxNaN px.

There is a data-parsoid.a entry for `width` and `height` but no
data-parsoid.sa entry.  That causes `DU.getAttributeShadowInfo` to
return bogus information; fix it so that it doesn't assume that
a data-parsoid.sa entry must exist if the data-parsoid.a entry exists.

Clean up figureHandler to remove some unnecessary try/catch blocks.

Add tests for bug 62805 using the new `wikitext/edited` framework.

Bug: 62805
Change-Id: Ib85321b8a5adc6006a198f0d9678f852943fbc1c
---
M lib/mediawiki.DOMUtils.js
M lib/wts.LinkHandler.js
M tests/parserTests.txt
3 files changed, 23 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/94/119894/1

diff --git a/lib/mediawiki.DOMUtils.js b/lib/mediawiki.DOMUtils.js
index a1ac7b4..7e7d742 100644
--- a/lib/mediawiki.DOMUtils.js
+++ b/lib/mediawiki.DOMUtils.js
@@ -327,7 +327,7 @@
                                modified: true,
                                fromsrc: false
                        };
-               } else if ( dp.sa === undefined ) {
+               } else if ( dp.sa === undefined || dp.sa[name] === undefined ) {
                        return {
                                value: curVal,
                                modified: false,
diff --git a/lib/wts.LinkHandler.js b/lib/wts.LinkHandler.js
index b5c41df..9407a97 100644
--- a/lib/wts.LinkHandler.js
+++ b/lib/wts.LinkHandler.js
@@ -762,20 +762,14 @@
                } else {
                        var bbox = null;
                        // Serialize to a square bounding box
-                       if (ww.value!==null && ww.value!=='') {
-                               //val += ww.value;
-                               try {
-                                       bbox = Number(ww.value);
-                               } catch (e) {}
+                       if (ww.value!==null && ww.value!=='' && 
ww.value!==undefined) {
+                               bbox = +ww.value;
                        }
-                       if (wh.value!==null && wh.value!=='') {
-                               //val += 'x' + wh.value;
-                               try {
-                                       var height = Number(wh.value);
-                                       if (bbox === null || framed || height > 
bbox) {
-                                               bbox = height;
-                                       }
-                               } catch (e) {}
+                       if (wh.value!==null && wh.value!=='' && 
wh.value!==undefined) {
+                               var height = +wh.value;
+                               if (bbox === null || framed || height > bbox) {
+                                       bbox = height;
+                               }
                        }
                        nopts.push( {
                                ck: 'width',
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index 4123a80..90fddaa 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -19570,6 +19570,21 @@
 !! end
 
 !! test
+Image: Modifying mw-default-size of an frameless image (bug 62805)
+!! options
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["figure.mw-default-size", "removeClass", "mw-default-size"]
+  ]
+}
+!! wikitext
+[[Image:Foobar.jpg|frameless|right]]
+!! wikitext/edited
+[[Image:Foobar.jpg|frameless|right|220x220px]]
+!! end
+
+!! test
 Image: Modifying valign of an image (bug 49221)
 !! options
 parsoid={

-- 
To view, visit https://gerrit.wikimedia.org/r/119894
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib85321b8a5adc6006a198f0d9678f852943fbc1c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Cscott <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to