Skip to content

Commit

Permalink
simple chart.js test case (see 802)
Browse files Browse the repository at this point in the history
  • Loading branch information
rbri committed Nov 11, 2024
1 parent 1c98a34 commit e38eb64
Show file tree
Hide file tree
Showing 11 changed files with 22,048 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
* @author Ronald Brill
*/
@RunWith(BrowserRunner.class)
public class ChartJsTest extends WebDriverTestCase {
public class ChartJs2x9x4Test extends WebDriverTestCase {

/** The server. */
protected static Server SERVER_;
Expand Down
88 changes: 88 additions & 0 deletions src/test/java/org/htmlunit/libraries/ChartJs4x4x6Test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
/*
* Copyright (c) 2002-2024 Gargoyle Software Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.htmlunit.libraries;

import java.net.URL;

import org.eclipse.jetty.server.Server;
import org.htmlunit.WebDriverTestCase;
import org.htmlunit.WebServerTestCase;
import org.htmlunit.junit.BrowserRunner;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;

/**
* Tests for compatibility with <a href="https://www.chartjs.org/">Chart.js</a>.
*
* @author Ronald Brill
*/
@RunWith(BrowserRunner.class)
public class ChartJs4x4x6Test extends WebDriverTestCase {

/** The server. */
protected static Server SERVER_;

/**
* @throws Exception if an error occurs
*/
@BeforeClass
public static void startSesrver() throws Exception {
SERVER_ = WebServerTestCase.createWebServer("src/test/resources/libraries/chartjs/4.4.6/", null);
}

/**
* @throws Exception if an error occurs
*/
@AfterClass
public static void stopServer() throws Exception {
if (SERVER_ != null) {
SERVER_.stop();
SERVER_.destroy();
SERVER_ = null;
}
}

/**
* @return the resource base URL
*/
protected URL getBaseUrl() {
return URL_FIRST;
}

/**
* @throws Exception if the test fails
*/
@Test
@Ignore("Fails because of the missing spread support")
public void simpleBarChart() throws Exception {
doTest("simple_bar_chart");
}

private void doTest(final String filename) throws Exception {
final WebDriver driver = getWebDriver();
driver.get(getBaseUrl() + filename + ".html");

// final WebElement chart = driver.findElement(By.id("myChart"));
((JavascriptExecutor) driver).executeScript("return document.getElementById('myLog').value = "
+ "document.getElementById('myChart').toDataURL('image/png') + '§'");
final String expected = loadExpectation("/libraries/chartjs/4.4.6/expectations/" + filename, ".expected");
verifyTextArea2(driver, expected);
}
}
Loading

0 comments on commit e38eb64

Please sign in to comment.