OLD | NEW |
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 Loading... |
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 } |
OLD | NEW |