Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(808)

Side by Side Diff: javatests/org/chromium/distiller/DomUtilTest.java

Issue 1705123002: Add support for Schema.org/Recipe Base URL: https://github.com/chromium/dom-distiller.git@master
Patch Set: activate only for English pages Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.distiller; 5 package org.chromium.distiller;
6 6
7 import org.chromium.distiller.webdocument.WebTable; 7 import org.chromium.distiller.webdocument.WebTable;
8 8
9 import com.google.gwt.core.client.JsArray; 9 import com.google.gwt.core.client.JsArray;
10 import com.google.gwt.dom.client.Document; 10 import com.google.gwt.dom.client.Document;
11 import com.google.gwt.dom.client.Element; 11 import com.google.gwt.dom.client.Element;
12 import com.google.gwt.dom.client.Node; 12 import com.google.gwt.dom.client.Node;
13 13
14 import java.util.ArrayList;
14 import java.util.Map; 15 import java.util.Map;
15 import java.util.List; 16 import java.util.List;
16 17
17 public class DomUtilTest extends DomDistillerJsTestCase { 18 public class DomUtilTest extends DomDistillerJsTestCase {
18 public void testGetAttributes() { 19 public void testGetAttributes() {
19 Element e = Document.get().createDivElement(); 20 Element e = Document.get().createDivElement();
20 e.setInnerHTML("<div style=\"width:50px; height:100px\" id=\"f\" class=\ "sdf\"></div>"); 21 e.setInnerHTML("<div style=\"width:50px; height:100px\" id=\"f\" class=\ "sdf\"></div>");
21 e = Element.as(e.getChildNodes().getItem(0)); 22 e = Element.as(e.getChildNodes().getItem(0));
22 JsArray<Node> jsAttrs = DomUtil.getAttributes(e); 23 JsArray<Node> jsAttrs = DomUtil.getAttributes(e);
23 assertEquals(3, jsAttrs.length()); 24 assertEquals(3, jsAttrs.length());
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 for (int i = 0; i < mBody.getChildCount(); i++) { 372 for (int i = 0; i < mBody.getChildCount(); i++) {
372 DomUtil.stripImageElements(mBody.getChild(i)); 373 DomUtil.stripImageElements(mBody.getChild(i));
373 } 374 }
374 assertEquals(expected, mBody.getInnerHTML()); 375 assertEquals(expected, mBody.getInnerHTML());
375 376
376 mBody.setInnerHTML(html); 377 mBody.setInnerHTML(html);
377 DomUtil.stripImageElements(mBody); 378 DomUtil.stripImageElements(mBody);
378 assertEquals(expected, mBody.getInnerHTML()); 379 assertEquals(expected, mBody.getInnerHTML());
379 } 380 }
380 381
382 public void testJoin() {
383 List<String> wordsToJoin = new ArrayList<String>();
384 wordsToJoin.add("some");
385 wordsToJoin.add("words");
386 wordsToJoin.add("to");
387 wordsToJoin.add("join");
388 String result = DomUtil.join(wordsToJoin.toArray(), " - ");
389 String expected = "some - words - to - join";
390 assertEquals(expected, result);
391 }
392
393 public void testFormatDuration() {
394 String result = DomUtil.formatDuration("P3Y6M4DT12H30M5S");
395 String expected = "3 year(s) 6 month(s) 4 day(s) " +
396 "12 hour(s) 30 minute(s) 5 second(s)";
397 assertEquals(expected,result);
398
399 result = DomUtil.formatDuration("P23DT23H");
400 expected = "23 day(s) 23 hour(s)";
401 assertEquals(expected, result);
402
403 result = DomUtil.formatDuration("P4Y");
404 expected = "4 year(s)";
405 assertEquals(expected, result);
406
407 result = DomUtil.formatDuration("PT36H");
408 expected = "36 hour(s)";
409 assertEquals(expected, result);
410
411 result = DomUtil.formatDuration("PT15M");
412 expected = "15 minute(s)";
413 assertEquals(expected, result);
414
415 result = DomUtil.formatDuration("P23T23M");
416 expected = "";
417 assertEquals(expected,result);
418
419 result = DomUtil.formatDuration("PT15");
420 expected = "";
421 assertEquals(expected, result);
422
423 result = DomUtil.formatDuration("20M");
424 expected = "";
425 assertEquals(expected, result);
426 }
427
381 public void testGetArea() { 428 public void testGetArea() {
382 String elements = 429 String elements =
383 "<div style=\"width: 200px; height: 100px\">w</div>" + 430 "<div style=\"width: 200px; height: 100px\">w</div>" +
384 "<div style=\"width: 300px;\">" + 431 "<div style=\"width: 300px;\">" +
385 "<div style=\"width: 300px; height: 200px\"></div>" + 432 "<div style=\"width: 300px; height: 200px\"></div>" +
386 "</div>" + 433 "</div>" +
387 "<div style=\"width: 400px; height: 100px\">" + 434 "<div style=\"width: 400px; height: 100px\">" +
388 "<div style=\"height: 100%\"></div>" + 435 "<div style=\"height: 100%\"></div>" +
389 "</div>"; 436 "</div>";
390 mBody.setInnerHTML(elements); 437 mBody.setInnerHTML(elements);
391 438
392 Element element = mBody.getFirstChildElement(); 439 Element element = mBody.getFirstChildElement();
393 assertEquals(200*100, DomUtil.getArea(element)); 440 assertEquals(200*100, DomUtil.getArea(element));
394 441
395 element = element.getNextSiblingElement(); 442 element = element.getNextSiblingElement();
396 assertEquals(300*200, DomUtil.getArea(element)); 443 assertEquals(300*200, DomUtil.getArea(element));
397 444
398 element = element.getNextSiblingElement(); 445 element = element.getNextSiblingElement();
399 assertEquals(400*100, DomUtil.getArea(element)); 446 assertEquals(400*100, DomUtil.getArea(element));
400 447
401 element = element.getFirstChildElement(); 448 element = element.getFirstChildElement();
402 assertEquals(400*100, DomUtil.getArea(element)); 449 assertEquals(400*100, DomUtil.getArea(element));
403 } 450 }
404 } 451 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698