View Javadoc
1   /*
2    * Copyright (c) 2002-2025 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.javascript.host.canvas;
16  
17  import org.htmlunit.WebDriverTestCase;
18  import org.htmlunit.junit.annotation.Alerts;
19  import org.junit.jupiter.api.Test;
20  
21  /**
22   * Unit tests for {@link CanvasGradient}.
23   *
24   * @author Ronald Brill
25   */
26  public class CanvasGradientTest extends WebDriverTestCase {
27  
28      /**
29       * @throws Exception if an error occurs
30       */
31      @Test
32      @Alerts("function")
33      public void functions() throws Exception {
34          final String html = DOCTYPE_HTML
35              + "<html><head><script>\n"
36              + LOG_TITLE_FUNCTION
37              + "function test() {\n"
38              + "  var canvas = document.getElementById('myCanvas');\n"
39              + "  var ctx = canvas.getContext('2d');\n"
40              + "  var gradient = ctx.createRadialGradient(100, 100, 100, 100, 100, 0);\n"
41              + "  log(typeof gradient.addColorStop);\n"
42              + "}\n"
43              + "</script>\n"
44              + "</head>\n"
45              + "<body onload='test()'><canvas id='myCanvas'></canvas></body>\n"
46              + "</html>";
47          loadPageVerifyTitle2(html);
48      }
49  
50      /**
51       * @throws Exception if an error occurs
52       */
53      @Test
54      @Alerts("[object CanvasGradient]")
55      public void addColorStop() throws Exception {
56          final String html = DOCTYPE_HTML
57              + "<html><head><script>\n"
58              + LOG_TITLE_FUNCTION
59              + "function test() {\n"
60              + "  var canvas = document.getElementById('myCanvas');\n"
61              + "  var ctx = canvas.getContext('2d');\n"
62              + "  var gradient = ctx.createRadialGradient(100, 100, 100, 100, 100, 0);\n"
63              + "  gradient.addColorStop(0, 'green');\n"
64              + "  gradient.addColorStop(1, 'white');\n"
65              + "  log(gradient);\n"
66              + "}\n"
67              + "</script>\n"
68              + "</head>\n"
69              + "<body onload='test()'><canvas id='myCanvas'></canvas></body>\n"
70              + "</html>";
71  
72          loadPageVerifyTitle2(html);
73      }
74  }