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

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: fix width for all tests 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 | « javatests/org/chromium/distiller/DomDistillerJsTestCase.java ('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 public class TableClassifierTest extends DomDistillerJsTestCase {
13 public void testDocumentWidth() {
14 assertEquals(800, mRoot.getOffsetWidth());
15 assertEquals("800px", DomUtil.getComputedStyle(mRoot).getProperty("width "));
16 }
17
13 public void testInputElement() { 18 public void testInputElement() {
14 Element input = Document.get().createTextInputElement(); 19 Element input = Document.get().createTextInputElement();
15 mBody.appendChild(input); 20 mBody.appendChild(input);
16 TableElement table = createDefaultTableWithTH(); 21 TableElement table = createDefaultTableWithTH();
17 input.appendChild(table); 22 input.appendChild(table);
18 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 23 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
19 assertEquals(TableClassifier.Reason.INSIDE_EDITABLE_AREA, TableClassifie r.sReason); 24 assertEquals(TableClassifier.Reason.INSIDE_EDITABLE_AREA, TableClassifie r.sReason);
20 } 25 }
21 26
22 public void testContentEditableAttribute() { 27 public void testContentEditableAttribute() {
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 abbr.setInnerHTML("HTML"); 292 abbr.setInnerHTML("HTML");
288 td.appendChild(abbr); 293 td.appendChild(abbr);
289 Element tr = getFirstElement(table, "TR"); 294 Element tr = getFirstElement(table, "TR");
290 tr.appendChild(td); 295 tr.appendChild(td);
291 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 296 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
292 assertEquals(TableClassifier.Reason.ONLY_HAS_ABBR, TableClassifier.sReas on); 297 assertEquals(TableClassifier.Reason.ONLY_HAS_ABBR, TableClassifier.sReas on);
293 } 298 }
294 299
295 public void testWideTable() { 300 public void testWideTable() {
296 TableElement table = createDefaultTableWithNoTH(); 301 TableElement table = createDefaultTableWithNoTH();
297 Element root = Document.get().getDocumentElement(); 302 int rootWidth = mRoot.getOffsetWidth();
298 int width = (int) ((0.95 * root.getOffsetWidth()) + 1.0); 303 int width = (int) ((0.95 * rootWidth) + 1.0);
299 table.setAttribute("style", "width:" + width + "px"); 304 table.setAttribute("style", "width:" + width + "px");
300 NodeList<Element> bodies = root.getElementsByTagName("BODY"); 305 assertEquals(rootWidth, mRoot.getOffsetWidth());
301 assertTrue(bodies.getLength() > 0);
302 bodies.getItem(0).appendChild(table);
303 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 306 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
304 assertEquals(TableClassifier.Reason.MORE_95_PERCENT_DOC_WIDTH, TableClas sifier.sReason); 307 assertEquals(TableClassifier.Reason.MORE_95_PERCENT_DOC_WIDTH, TableClas sifier.sReason);
305 308
306 // Test same wide table with viewport meta. 309 // 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") ; 310 Element meta = TestUtil.createMetaName("viewport", "width=device-width") ;
310 heads.getItem(0).appendChild(meta); 311 mHead.appendChild(meta);
311 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 312 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
312 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason); 313 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason);
313 meta.removeFromParent(); 314 meta.removeFromParent();
314 } 315 }
315 316
316 public void testSummaryAttribute() { 317 public void testSummaryAttribute() {
317 TableElement table = createDefaultTableWithNoTH(); 318 TableElement table = createDefaultTableWithNoTH();
318 table.setAttribute("summary", "Testing summary attribute"); 319 table.setAttribute("summary", "Testing summary attribute");
319 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 320 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
320 assertEquals(TableClassifier.Reason.SUMMARY, TableClassifier.sReason); 321 assertEquals(TableClassifier.Reason.SUMMARY, TableClassifier.sReason);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 447
447 public void testAppletElement() { 448 public void testAppletElement() {
448 TableElement table = createBigDefaultTableWithNoTH(); 449 TableElement table = createBigDefaultTableWithNoTH();
449 Element embed = Document.get().createElement("APPLET"); 450 Element embed = Document.get().createElement("APPLET");
450 getFirstElement(table, "TD").appendChild(embed); 451 getFirstElement(table, "TD").appendChild(embed);
451 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 452 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
452 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason); 453 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason);
453 } 454 }
454 455
455 public void testIframeElement() { 456 public void testIframeElement() {
457 int rootWidth = mRoot.getOffsetWidth();
456 TableElement table = createBigDefaultTableWithNoTH(); 458 TableElement table = createBigDefaultTableWithNoTH();
457 Element embed = Document.get().createElement("IFRAME"); 459 Element embed = Document.get().createElement("IFRAME");
458 getFirstElement(table, "TD").appendChild(embed); 460 getFirstElement(table, "TD").appendChild(embed);
461 assertEquals(rootWidth, mRoot.getOffsetWidth());
459 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 462 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
460 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason); 463 assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableCla ssifier.sReason);
461 } 464 }
462 465
463 public void testTallTable() { 466 public void testTallTable() {
464 TableElement table = createBigDefaultTableWithNoTH(); 467 TableElement table = createBigDefaultTableWithNoTH();
465 Element root = Document.get().getDocumentElement(); 468 // With min-height, the height of mRoot remains the same after resizing the table.
466 int height = (int) ((0.90 * root.getOffsetHeight()) + 1.0); 469 mRoot.getStyle().setProperty("min-height", "200px");
470 int rootHeight = mRoot.getOffsetHeight();
471 int height = (int) ((0.90 * rootHeight) + 1.0);
467 table.setAttribute("style", "height:" + height + "px"); 472 table.setAttribute("style", "height:" + height + "px");
468 NodeList<Element> bodies = root.getElementsByTagName("BODY"); 473 assertEquals(height, table.getOffsetHeight());
469 assertTrue(bodies.getLength() > 0); 474 assertEquals(rootHeight, mRoot.getOffsetHeight());
470 bodies.getItem(0).appendChild(table);
471 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 475 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
472 assertEquals(TableClassifier.Reason.MORE_90_PERCENT_DOC_HEIGHT, TableCla ssifier.sReason); 476 assertEquals(TableClassifier.Reason.MORE_90_PERCENT_DOC_HEIGHT, TableCla ssifier.sReason);
473 } 477 }
474 478
475 private TableElement createTable(String html) { 479 private TableElement createTable(String html) {
476 TableElement table = Document.get().createTableElement(); 480 TableElement table = Document.get().createTableElement();
477 table.setInnerHTML(html); 481 table.setInnerHTML(html);
478 mBody.appendChild(table); 482 mBody.appendChild(table);
479 return table; 483 return table;
480 } 484 }
481 485
482 private TableElement createDefaultTableWithTH() { 486 private TableElement createDefaultTableWithTH() {
483 String tableStr = "<tbody>" + 487 String tableStr = "<tbody>" +
484 "<tr>" + 488 "<tr>" +
485 "<th>heading1</th>" + 489 "<th>heading1</th>" +
486 "<th>heading2</th>" + 490 "<th>heading2</th>" +
487 "</tr>" + 491 "</tr>" +
488 "<tr>" + 492 "<tr>" +
489 "<td>row1col1</td>" + 493 "<td>row1col1</td>" +
490 "<td>row1col2</td>" + 494 "<td>row1col2</td>" +
491 "</tr>" + 495 "</tr>" +
492 "<tr>" + 496 "<tr>" +
493 "<td>row2col1</td>" + 497 "<td>row2col1</td>" +
494 "<td>row2col2</td>" + 498 "<td>row2col2</td>" +
495 "</tr>" + 499 "</tr>" +
496 "</tbody>"; 500 "</tbody>";
497 TableElement table = createTable(tableStr); 501 TableElement table = createTable(tableStr);
502 mBody.appendChild(table);
498 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 503 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
499 assertEquals(TableClassifier.Reason.CAPTION_THEAD_TFOOT_COLGROUP_COL_TH, 504 assertEquals(TableClassifier.Reason.CAPTION_THEAD_TFOOT_COLGROUP_COL_TH,
500 TableClassifier.sReason); 505 TableClassifier.sReason);
501 mBody.appendChild(table);
502 return table; 506 return table;
503 } 507 }
504 508
505 private TableElement createDefaultTableWithNoTH() { 509 private TableElement createDefaultTableWithNoTH() {
506 String tableStr = "<tbody>" + 510 String tableStr = "<tbody>" +
507 "<tr>" + 511 "<tr>" +
508 "<td>row1col1</td>" + 512 "<td>row1col1</td>" +
509 "<td>row1col2</td>" + 513 "<td>row1col2</td>" +
510 "</tr>" + 514 "</tr>" +
511 "<tr>" + 515 "<tr>" +
512 "<td>row2col1</td>" + 516 "<td>row2col1</td>" +
513 "<td>row2col2</td>" + 517 "<td>row2col2</td>" +
514 "</tr>" + 518 "</tr>" +
515 "</tbody>"; 519 "</tbody>";
516 TableElement table = createTable(tableStr); 520 TableElement table = createTable(tableStr);
521 mBody.appendChild(table);
517 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); 522 assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table));
518 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason); 523 assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sR eason);
519 mBody.appendChild(table);
520 return table; 524 return table;
521 } 525 }
522 526
523 private TableElement createBigDefaultTableWithNoTH() { 527 private TableElement createBigDefaultTableWithNoTH() {
524 String tableStr = "<tbody>" + 528 String tableStr = "<tbody>" +
525 "<tr>" + 529 "<tr>" +
526 "<td>row1col1</td>" + 530 "<td>row1col1</td>" +
527 "<td>row1col2</td>" + 531 "<td>row1col2</td>" +
528 "<td>row1col3</td>" + 532 "<td>row1col3</td>" +
529 "<td>row1col4</td>" + 533 "<td>row1col4</td>" +
530 "</tr>" + 534 "</tr>" +
531 "<tr>" + 535 "<tr>" +
532 "<td>row2col1</td>" + 536 "<td>row2col1</td>" +
533 "<td>row2col2</td>" + 537 "<td>row2col2</td>" +
534 "<td>row2col3</td>" + 538 "<td>row2col3</td>" +
535 "<td>row2col4</td>" + 539 "<td>row2col4</td>" +
536 "</tr>" + 540 "</tr>" +
537 "<tr>" + 541 "<tr>" +
538 "<td>row3col1</td>" + 542 "<td>row3col1</td>" +
539 "<td>row3col2</td>" + 543 "<td>row3col2</td>" +
540 "<td>row3col3</td>" + 544 "<td>row3col3</td>" +
541 "<td>row3col4</td>" + 545 "<td>row3col4</td>" +
542 "</tr>" + 546 "</tr>" +
543 "</tbody>"; 547 "</tbody>";
544 TableElement table = createTable(tableStr); 548 TableElement table = createTable(tableStr);
549 mBody.appendChild(table);
545 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); 550 assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table));
546 assertEquals(TableClassifier.Reason.DEFAULT, TableClassifier.sReason); 551 assertEquals(TableClassifier.Reason.DEFAULT, TableClassifier.sReason);
547 mBody.appendChild(table);
548 return table; 552 return table;
549 } 553 }
550 554
551 private void setRoleForFirstElement(Element table, String tagname, String ro le) { 555 private void setRoleForFirstElement(Element table, String tagname, String ro le) {
552 setAttributeForFirstElement(table, tagname, "role", role); 556 setAttributeForFirstElement(table, tagname, "role", role);
553 } 557 }
554 558
555 private void setAttributeForFirstElement(Element table, String tagname, Stri ng attrName, 559 private void setAttributeForFirstElement(Element table, String tagname, Stri ng attrName,
556 String attrValue) { 560 String attrValue) {
557 getFirstElement(table, tagname).setAttribute(attrName, attrValue); 561 getFirstElement(table, tagname).setAttribute(attrName, attrValue);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 593
590 private TableElement createNestedTable(String nestedTableStr, Element parent Table) { 594 private TableElement createNestedTable(String nestedTableStr, Element parent Table) {
591 TableElement nestedTable = createTable(nestedTableStr); 595 TableElement nestedTable = createTable(nestedTableStr);
592 // Insert nested table into 1st row of |parentTable|. 596 // Insert nested table into 1st row of |parentTable|.
593 NodeList<Element> rows = parentTable.getElementsByTagName("TR"); 597 NodeList<Element> rows = parentTable.getElementsByTagName("TR");
594 assertEquals(2, rows.getLength()); 598 assertEquals(2, rows.getLength());
595 rows.getItem(0).appendChild(nestedTable); 599 rows.getItem(0).appendChild(nestedTable);
596 return nestedTable; 600 return nestedTable;
597 } 601 }
598 } 602 }
OLDNEW
« no previous file with comments | « javatests/org/chromium/distiller/DomDistillerJsTestCase.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698