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

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

Issue 1142323005: Make TableClassifierTest independent of browser window dimention (Closed) Base URL: git@github.com:chromium/dom-distiller.git@master
Patch Set: Created 5 years, 6 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
« no previous file with comments | « build.xml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 com.google.gwt.dom.client.Document; 7 import com.google.gwt.dom.client.Document;
8 import com.google.gwt.dom.client.Element; 8 import com.google.gwt.dom.client.Element;
9 import com.google.gwt.dom.client.NodeList; 9 import com.google.gwt.dom.client.NodeList;
10 import com.google.gwt.dom.client.TableElement; 10 import com.google.gwt.dom.client.TableElement;
11 11
12 public class TableClassifierTest extends DomDistillerJsTestCase { 12 class FixedWidthJsTestCase extends DomDistillerJsTestCase {
13 @Override
14 public void setUp() throws Exception {
15 super.setUp();
16 // With this, the width of chrome window won't affect the layout.
17 mRoot.getStyle().setProperty("width", "800px");
cjhopman 2015/05/28 21:30:02 How about just doing this in DomDistillerJsTestCas
wychen 2015/05/29 06:43:10 That's what I originally did. I thought it might b
18 }
19 }
20
21 public class TableClassifierTest extends FixedWidthJsTestCase {
22 public void testDocumentWidth() {
23 assertEquals(800, mRoot.getOffsetWidth());
24 assertEquals("800px", DomUtil.getComputedStyle(mRoot).getProperty("width "));
25 }
26
13 public void testInputElement() { 27 public void testInputElement() {
14 Element input = Document.get().createTextInputElement(); 28 Element input = Document.get().createTextInputElement();
15 mBody.appendChild(input); 29 mBody.appendChild(input);
16 TableElement table = createDefaultTableWithTH(); 30 TableElement table = createDefaultTableWithTH();
17 input.appendChild(table); 31 input.appendChild(table);
18 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 32 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
19 assertEquals(TableClassifier.Reason.INSIDE_EDITABLE_AREA, TableClassifie r.sReason); 33 assertEquals(TableClassifier.Reason.INSIDE_EDITABLE_AREA, TableClassifie r.sReason);
20 } 34 }
21 35
22 public void testContentEditableAttribute() { 36 public void testContentEditableAttribute() {
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 abbr.setInnerHTML("HTML"); 301 abbr.setInnerHTML("HTML");
288 td.appendChild(abbr); 302 td.appendChild(abbr);
289 Element tr = getFirstElement(table, "TR"); 303 Element tr = getFirstElement(table, "TR");
290 tr.appendChild(td); 304 tr.appendChild(td);
291 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 305 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
292 assertEquals(TableClassifier.Reason.ONLY_HAS_ABBR, TableClassifier.sReas on); 306 assertEquals(TableClassifier.Reason.ONLY_HAS_ABBR, TableClassifier.sReas on);
293 } 307 }
294 308
295 public void testWideTable() { 309 public void testWideTable() {
296 TableElement table = createDefaultTableWithNoTH(); 310 TableElement table = createDefaultTableWithNoTH();
297 Element root = Document.get().getDocumentElement(); 311 int rootWidth = mRoot.getOffsetWidth();
298 int width = (int) ((0.95 * root.getOffsetWidth()) + 1.0); 312 int width = (int) ((0.95 * rootWidth) + 1.0);
299 table.setAttribute("style", "width:" + width + "px"); 313 table.setAttribute("style", "width:" + width + "px");
300 NodeList<Element> bodies = root.getElementsByTagName("BODY"); 314 assertEquals(rootWidth, mRoot.getOffsetWidth());
301 assertTrue(bodies.getLength() > 0);
302 bodies.getItem(0).appendChild(table);
303 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 315 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
304 assertEquals(TableClassifier.Reason.MORE_95_PERCENT_DOC_WIDTH, TableClas sifier.sReason); 316 assertEquals(TableClassifier.Reason.MORE_95_PERCENT_DOC_WIDTH, TableClas sifier.sReason);
305 317
306 // Test same wide table with viewport meta. 318 // Test same wide table with viewport meta.
307 NodeList<Element> heads = root.getElementsByTagName("HEAD");
308 assertTrue(heads.getLength() > 0);
309 Element meta = TestUtil.createMetaName("viewport", "width=device-width") ; 319 Element meta = TestUtil.createMetaName("viewport", "width=device-width") ;
310 heads.getItem(0).appendChild(meta); 320 mHead.appendChild(meta);
311 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 321 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
312 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason); 322 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason);
313 meta.removeFromParent(); 323 meta.removeFromParent();
314 } 324 }
315 325
316 public void testSummaryAttribute() { 326 public void testSummaryAttribute() {
317 TableElement table = createDefaultTableWithNoTH(); 327 TableElement table = createDefaultTableWithNoTH();
318 table.setAttribute("summary", "Testing summary attribute"); 328 table.setAttribute("summary", "Testing summary attribute");
319 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 329 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
320 assertEquals(TableClassifier.Reason.SUMMARY, TableClassifier.sReason); 330 assertEquals(TableClassifier.Reason.SUMMARY, TableClassifier.sReason);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 456
447 public void testAppletElement() { 457 public void testAppletElement() {
448 TableElement table = createBigDefaultTableWithNoTH(); 458 TableElement table = createBigDefaultTableWithNoTH();
449 Element embed = Document.get().createElement("APPLET"); 459 Element embed = Document.get().createElement("APPLET");
450 getFirstElement(table, "TD").appendChild(embed); 460 getFirstElement(table, "TD").appendChild(embed);
451 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 461 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
452 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason); 462 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason);
453 } 463 }
454 464
455 public void testIframeElement() { 465 public void testIframeElement() {
466 int rootWidth = mRoot.getOffsetWidth();
456 TableElement table = createBigDefaultTableWithNoTH(); 467 TableElement table = createBigDefaultTableWithNoTH();
457 Element embed = Document.get().createElement("IFRAME"); 468 Element embed = Document.get().createElement("IFRAME");
458 getFirstElement(table, "TD").appendChild(embed); 469 getFirstElement(table, "TD").appendChild(embed);
470 assertEquals(rootWidth, mRoot.getOffsetWidth());
459 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 471 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
460 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason); 472 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason);
461 } 473 }
462 474
463 public void testTallTable() { 475 public void testTallTable() {
464 TableElement table = createBigDefaultTableWithNoTH(); 476 TableElement table = createBigDefaultTableWithNoTH();
465 Element root = Document.get().getDocumentElement(); 477 // With min-height, the height of mRoot remains the same after resizing the table.
466 int height = (int) ((0.90 * root.getOffsetHeight()) + 1.0); 478 mRoot.getStyle().setProperty("min-height", "200px");
479 int rootHeight = mRoot.getOffsetHeight();
480 int height = (int) ((0.90 * rootHeight) + 1.0);
467 table.setAttribute("style", "height:" + height + "px"); 481 table.setAttribute("style", "height:" + height + "px");
468 NodeList<Element> bodies = root.getElementsByTagName("BODY"); 482 assertEquals(height, table.getOffsetHeight());
469 assertTrue(bodies.getLength() > 0); 483 assertEquals(rootHeight, mRoot.getOffsetHeight());
470 bodies.getItem(0).appendChild(table);
471 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 484 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
472 assertEquals(TableClassifier.Reason.MORE_90_PERCENT_DOC_HEIGHT, TableCla ssifier.sReason); 485 assertEquals(TableClassifier.Reason.MORE_90_PERCENT_DOC_HEIGHT, TableCla ssifier.sReason);
473 } 486 }
474 487
475 private TableElement createTable(String html) { 488 private TableElement createTable(String html) {
476 TableElement table = Document.get().createTableElement(); 489 TableElement table = Document.get().createTableElement();
477 table.setInnerHTML(html); 490 table.setInnerHTML(html);
478 mBody.appendChild(table); 491 mBody.appendChild(table);
479 return table; 492 return table;
480 } 493 }
481 494
482 private TableElement createDefaultTableWithTH() { 495 private TableElement createDefaultTableWithTH() {
483 String tableStr = "<tbody>" + 496 String tableStr = "<tbody>" +
484 "<tr>" + 497 "<tr>" +
485 "<th>heading1</th>" + 498 "<th>heading1</th>" +
486 "<th>heading2</th>" + 499 "<th>heading2</th>" +
487 "</tr>" + 500 "</tr>" +
488 "<tr>" + 501 "<tr>" +
489 "<td>row1col1</td>" + 502 "<td>row1col1</td>" +
490 "<td>row1col2</td>" + 503 "<td>row1col2</td>" +
491 "</tr>" + 504 "</tr>" +
492 "<tr>" + 505 "<tr>" +
493 "<td>row2col1</td>" + 506 "<td>row2col1</td>" +
494 "<td>row2col2</td>" + 507 "<td>row2col2</td>" +
495 "</tr>" + 508 "</tr>" +
496 "</tbody>"; 509 "</tbody>";
497 TableElement table = createTable(tableStr); 510 TableElement table = createTable(tableStr);
511 mBody.appendChild(table);
498 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 512 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
499 assertEquals(TableClassifier.Reason.CAPTION_THEAD_TFOOT_COLGROUP_COL_TH, 513 assertEquals(TableClassifier.Reason.CAPTION_THEAD_TFOOT_COLGROUP_COL_TH,
500 TableClassifier.sReason); 514 TableClassifier.sReason);
501 mBody.appendChild(table);
502 return table; 515 return table;
503 } 516 }
504 517
505 private TableElement createDefaultTableWithNoTH() { 518 private TableElement createDefaultTableWithNoTH() {
506 String tableStr = "<tbody>" + 519 String tableStr = "<tbody>" +
507 "<tr>" + 520 "<tr>" +
508 "<td>row1col1</td>" + 521 "<td>row1col1</td>" +
509 "<td>row1col2</td>" + 522 "<td>row1col2</td>" +
510 "</tr>" + 523 "</tr>" +
511 "<tr>" + 524 "<tr>" +
512 "<td>row2col1</td>" + 525 "<td>row2col1</td>" +
513 "<td>row2col2</td>" + 526 "<td>row2col2</td>" +
514 "</tr>" + 527 "</tr>" +
515 "</tbody>"; 528 "</tbody>";
516 TableElement table = createTable(tableStr); 529 TableElement table = createTable(tableStr);
530 mBody.appendChild(table);
517 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 531 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
518 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason); 532 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason);
519 mBody.appendChild(table);
520 return table; 533 return table;
521 } 534 }
522 535
523 private TableElement createBigDefaultTableWithNoTH() { 536 private TableElement createBigDefaultTableWithNoTH() {
524 String tableStr = "<tbody>" + 537 String tableStr = "<tbody>" +
525 "<tr>" + 538 "<tr>" +
526 "<td>row1col1</td>" + 539 "<td>row1col1</td>" +
527 "<td>row1col2</td>" + 540 "<td>row1col2</td>" +
528 "<td>row1col3</td>" + 541 "<td>row1col3</td>" +
529 "<td>row1col4</td>" + 542 "<td>row1col4</td>" +
530 "</tr>" + 543 "</tr>" +
531 "<tr>" + 544 "<tr>" +
532 "<td>row2col1</td>" + 545 "<td>row2col1</td>" +
533 "<td>row2col2</td>" + 546 "<td>row2col2</td>" +
534 "<td>row2col3</td>" + 547 "<td>row2col3</td>" +
535 "<td>row2col4</td>" + 548 "<td>row2col4</td>" +
536 "</tr>" + 549 "</tr>" +
537 "<tr>" + 550 "<tr>" +
538 "<td>row3col1</td>" + 551 "<td>row3col1</td>" +
539 "<td>row3col2</td>" + 552 "<td>row3col2</td>" +
540 "<td>row3col3</td>" + 553 "<td>row3col3</td>" +
541 "<td>row3col4</td>" + 554 "<td>row3col4</td>" +
542 "</tr>" + 555 "</tr>" +
543 "</tbody>"; 556 "</tbody>";
544 TableElement table = createTable(tableStr); 557 TableElement table = createTable(tableStr);
558 mBody.appendChild(table);
545 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 559 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
546 assertEquals(TableClassifier.Reason.DEFAULT, TableClassifier.sReason); 560 assertEquals(TableClassifier.Reason.DEFAULT, TableClassifier.sReason);
547 mBody.appendChild(table);
548 return table; 561 return table;
549 } 562 }
550 563
551 private void setRoleForFirstElement(Element table, String tagname, String ro le) { 564 private void setRoleForFirstElement(Element table, String tagname, String ro le) {
552 setAttributeForFirstElement(table, tagname, "role", role); 565 setAttributeForFirstElement(table, tagname, "role", role);
553 } 566 }
554 567
555 private void setAttributeForFirstElement(Element table, String tagname, Stri ng attrName, 568 private void setAttributeForFirstElement(Element table, String tagname, Stri ng attrName,
556 String attrValue) { 569 String attrValue) {
557 getFirstElement(table, tagname).setAttribute(attrName, attrValue); 570 getFirstElement(table, tagname).setAttribute(attrName, attrValue);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 602
590 private TableElement createNestedTable(String nestedTableStr, Element parent Table) { 603 private TableElement createNestedTable(String nestedTableStr, Element parent Table) {
591 TableElement nestedTable = createTable(nestedTableStr); 604 TableElement nestedTable = createTable(nestedTableStr);
592 // Insert nested table into 1st row of |parentTable|. 605 // Insert nested table into 1st row of |parentTable|.
593 NodeList<Element> rows = parentTable.getElementsByTagName("TR"); 606 NodeList<Element> rows = parentTable.getElementsByTagName("TR");
594 assertEquals(2, rows.getLength()); 607 assertEquals(2, rows.getLength());
595 rows.getItem(0).appendChild(nestedTable); 608 rows.getItem(0).appendChild(nestedTable);
596 return nestedTable; 609 return nestedTable;
597 } 610 }
598 } 611 }
OLDNEW
« no previous file with comments | « build.xml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698