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;
16  
17  import static org.junit.Assert.assertEquals;
18  
19  import org.htmlunit.DefaultPageCreator.PageType;
20  import org.htmlunit.util.MimeType;
21  import org.junit.Test;
22  
23  /**
24   * Tests for {@link DefaultPageCreator}.
25   *
26   * @author Marc Guillemot
27   * @author Ahmed Ashour
28   * @author Ronald Brill
29   */
30  public class DefaultPageCreator2Test {
31  
32      /**
33       * Test for {@link DefaultPageCreator#determinePageType(String)}.
34       */
35      @Test
36      public void determinePageType() {
37          assertEquals(PageType.HTML, DefaultPageCreator.determinePageType(MimeType.TEXT_HTML));
38          assertEquals(PageType.HTML, DefaultPageCreator.determinePageType("image/svg+xml"));
39  
40          assertEquals(PageType.JAVASCRIPT, DefaultPageCreator.determinePageType("text/javascript"));
41          assertEquals(PageType.JAVASCRIPT, DefaultPageCreator.determinePageType("application/x-javascript"));
42          assertEquals(PageType.JAVASCRIPT, DefaultPageCreator.determinePageType("application/javascript"));
43  
44          assertEquals(PageType.XML, DefaultPageCreator.determinePageType(MimeType.TEXT_XML));
45          assertEquals(PageType.XML, DefaultPageCreator.determinePageType(MimeType.APPLICATION_XML));
46          assertEquals(PageType.XML, DefaultPageCreator.determinePageType(MimeType.APPLICATION_XHTML));
47          assertEquals(PageType.XML, DefaultPageCreator.determinePageType("text/vnd.wap.wml"));
48          assertEquals(PageType.XML, DefaultPageCreator.determinePageType("application/vnd.mozilla.xul+xml"));
49          assertEquals(PageType.XML, DefaultPageCreator.determinePageType("application/vnd.wap.xhtml+xml"));
50          assertEquals(PageType.XML, DefaultPageCreator.determinePageType("application/rdf+xml"));
51  
52          assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType(MimeType.TEXT_PLAIN));
53          assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType("text/csv"));
54          assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType("text/css"));
55          assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType("text/xhtml"));
56  
57          assertEquals(PageType.UNKNOWN, DefaultPageCreator.determinePageType((String) null));
58          assertEquals(PageType.UNKNOWN, DefaultPageCreator.determinePageType(""));
59          assertEquals(PageType.UNKNOWN, DefaultPageCreator.determinePageType(" \t"));
60          assertEquals(PageType.UNKNOWN, DefaultPageCreator.determinePageType("application/pdf"));
61          assertEquals(PageType.UNKNOWN, DefaultPageCreator.determinePageType("application/x-shockwave-flash"));
62      }
63  }