Chromium Code Reviews| Index: javatests/org/chromium/distiller/TableClassifierTest.java |
| diff --git a/javatests/org/chromium/distiller/TableClassifierTest.java b/javatests/org/chromium/distiller/TableClassifierTest.java |
| index af43a422ce0186f08e1b60c4ce7f8c75c3fe87fe..8b0c57c01c1bc26a49fa9f88c3ded1a9a7c48065 100644 |
| --- a/javatests/org/chromium/distiller/TableClassifierTest.java |
| +++ b/javatests/org/chromium/distiller/TableClassifierTest.java |
| @@ -9,7 +9,21 @@ import com.google.gwt.dom.client.Element; |
| import com.google.gwt.dom.client.NodeList; |
| import com.google.gwt.dom.client.TableElement; |
| -public class TableClassifierTest extends DomDistillerJsTestCase { |
| +class FixedWidthJsTestCase extends DomDistillerJsTestCase { |
| + @Override |
| + public void setUp() throws Exception { |
| + super.setUp(); |
| + // With this, the width of chrome window won't affect the layout. |
| + 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
|
| + } |
| +} |
| + |
| +public class TableClassifierTest extends FixedWidthJsTestCase { |
| + public void testDocumentWidth() { |
| + assertEquals(800, mRoot.getOffsetWidth()); |
| + assertEquals("800px", DomUtil.getComputedStyle(mRoot).getProperty("width")); |
| + } |
| + |
| public void testInputElement() { |
| Element input = Document.get().createTextInputElement(); |
| mBody.appendChild(input); |
| @@ -294,20 +308,16 @@ public class TableClassifierTest extends DomDistillerJsTestCase { |
| public void testWideTable() { |
| TableElement table = createDefaultTableWithNoTH(); |
| - Element root = Document.get().getDocumentElement(); |
| - int width = (int) ((0.95 * root.getOffsetWidth()) + 1.0); |
| + int rootWidth = mRoot.getOffsetWidth(); |
| + int width = (int) ((0.95 * rootWidth) + 1.0); |
| table.setAttribute("style", "width:" + width + "px"); |
| - NodeList<Element> bodies = root.getElementsByTagName("BODY"); |
| - assertTrue(bodies.getLength() > 0); |
| - bodies.getItem(0).appendChild(table); |
| + assertEquals(rootWidth, mRoot.getOffsetWidth()); |
| assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); |
| assertEquals(TableClassifier.Reason.MORE_95_PERCENT_DOC_WIDTH, TableClassifier.sReason); |
| // Test same wide table with viewport meta. |
| - NodeList<Element> heads = root.getElementsByTagName("HEAD"); |
| - assertTrue(heads.getLength() > 0); |
| Element meta = TestUtil.createMetaName("viewport", "width=device-width"); |
| - heads.getItem(0).appendChild(meta); |
| + mHead.appendChild(meta); |
| assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); |
| assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sReason); |
| meta.removeFromParent(); |
| @@ -453,21 +463,24 @@ public class TableClassifierTest extends DomDistillerJsTestCase { |
| } |
| public void testIframeElement() { |
| + int rootWidth = mRoot.getOffsetWidth(); |
| TableElement table = createBigDefaultTableWithNoTH(); |
| Element embed = Document.get().createElement("IFRAME"); |
| getFirstElement(table, "TD").appendChild(embed); |
| + assertEquals(rootWidth, mRoot.getOffsetWidth()); |
| assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); |
| assertEquals(TableClassifier.Reason.EMBED_OBJECT_APPLET_IFRAME, TableClassifier.sReason); |
| } |
| public void testTallTable() { |
| TableElement table = createBigDefaultTableWithNoTH(); |
| - Element root = Document.get().getDocumentElement(); |
| - int height = (int) ((0.90 * root.getOffsetHeight()) + 1.0); |
| + // With min-height, the height of mRoot remains the same after resizing the table. |
| + mRoot.getStyle().setProperty("min-height", "200px"); |
| + int rootHeight = mRoot.getOffsetHeight(); |
| + int height = (int) ((0.90 * rootHeight) + 1.0); |
| table.setAttribute("style", "height:" + height + "px"); |
| - NodeList<Element> bodies = root.getElementsByTagName("BODY"); |
| - assertTrue(bodies.getLength() > 0); |
| - bodies.getItem(0).appendChild(table); |
| + assertEquals(height, table.getOffsetHeight()); |
| + assertEquals(rootHeight, mRoot.getOffsetHeight()); |
| assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); |
| assertEquals(TableClassifier.Reason.MORE_90_PERCENT_DOC_HEIGHT, TableClassifier.sReason); |
| } |
| @@ -495,10 +508,10 @@ public class TableClassifierTest extends DomDistillerJsTestCase { |
| "</tr>" + |
| "</tbody>"; |
| TableElement table = createTable(tableStr); |
| + mBody.appendChild(table); |
| assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); |
| assertEquals(TableClassifier.Reason.CAPTION_THEAD_TFOOT_COLGROUP_COL_TH, |
| TableClassifier.sReason); |
| - mBody.appendChild(table); |
| return table; |
| } |
| @@ -514,9 +527,9 @@ public class TableClassifierTest extends DomDistillerJsTestCase { |
| "</tr>" + |
| "</tbody>"; |
| TableElement table = createTable(tableStr); |
| + mBody.appendChild(table); |
| assertEquals(TableClassifier.Type.LAYOUT, TableClassifier.table(table)); |
| assertEquals(TableClassifier.Reason.LESS_EQ_10_CELLS, TableClassifier.sReason); |
| - mBody.appendChild(table); |
| return table; |
| } |
| @@ -542,9 +555,9 @@ public class TableClassifierTest extends DomDistillerJsTestCase { |
| "</tr>" + |
| "</tbody>"; |
| TableElement table = createTable(tableStr); |
| + mBody.appendChild(table); |
| assertEquals(TableClassifier.Type.DATA, TableClassifier.table(table)); |
| assertEquals(TableClassifier.Reason.DEFAULT, TableClassifier.sReason); |
| - mBody.appendChild(table); |
| return table; |
| } |