blob: c3832a29dc1120d69a8c2c633212193d03b03b96 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.distiller.webdocument.filters;
import org.chromium.distiller.DomDistillerJsTestCase;
import org.chromium.distiller.webdocument.TestWebDocumentBuilder;
import org.chromium.distiller.webdocument.WebDocument;
import org.chromium.distiller.webdocument.WebElement;
import org.chromium.distiller.webdocument.WebImage;
import org.chromium.distiller.webdocument.WebTable;
public class RelevantElementsTest extends DomDistillerJsTestCase {
public void testEmptyDocument() {
WebDocument document = new WebDocument();
assertFalse(RelevantElements.process(document));
assertTrue(document.getElements().isEmpty());
}
public void testNoContent() {
TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
builder.addText("text 1");
builder.addText("text 2");
builder.addTable("<tbody><tr><td>t1</td></tr></tbody>");
WebDocument document = builder.build();
assertFalse(RelevantElements.process(document));
for (WebElement e : document.getElements()) {
assertFalse(e.getIsContent());
}
}
public void testRelevantTable() {
TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
builder.addText("text 1").setIsContent(true);
WebTable wt = builder.addTable("<tbody><tr><td>t1</td></tr></tbody>");
WebDocument document = builder.build();
assertTrue(RelevantElements.process(document));
assertTrue(wt.getIsContent());
}
public void testNonRelevantTable() {
TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
builder.addText("text 1").setIsContent(true);
builder.addText("text 1");
WebTable wt = builder.addTable("<tbody><tr><td>t1</td></tr></tbody>");
WebDocument document = builder.build();
assertFalse(RelevantElements.process(document));
assertFalse(wt.getIsContent());
}
public void testRelevantImage() {
TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
builder.addText("text 1").setIsContent(true);
WebImage wi = builder.addImage();
WebDocument document = builder.build();
assertTrue(RelevantElements.process(document));
assertTrue(wi.getIsContent());
}
public void testNonRelevantImage() {
TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
WebImage wi = builder.addImage();
builder.addText("text 1").setIsContent(true);
WebDocument document = builder.build();
assertFalse(RelevantElements.process(document));
assertFalse(wi.getIsContent());
}
public void testImageAfterNonContent() {
TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
builder.addText("text 1").setIsContent(true);
builder.addText("text 2").setIsContent(false);
WebImage wi = builder.addImage();
WebDocument document = builder.build();
assertFalse(RelevantElements.process(document));
assertFalse(wi.getIsContent());
}
}