1   /*
2    *  Java HTML Tidy - JTidy
3    *  HTML parser and pretty printer
4    *
5    *  Copyright (c) 1998-2000 World Wide Web Consortium (Massachusetts
6    *  Institute of Technology, Institut National de Recherche en
7    *  Informatique et en Automatique, Keio University). All Rights
8    *  Reserved.
9    *
10   *  Contributing Author(s):
11   *
12   *     Dave Raggett <dsr@w3.org>
13   *     Andy Quick <ac.quick@sympatico.ca> (translation to Java)
14   *     Gary L Peskin <garyp@firstech.com> (Java development)
15   *     Sami Lempinen <sami@lempinen.net> (release management)
16   *     Fabrizio Giustina <fgiust at users.sourceforge.net>
17   *
18   *  The contributing author(s) would like to thank all those who
19   *  helped with testing, bug fixes, and patience.  This wouldn't
20   *  have been possible without all of you.
21   *
22   *  COPYRIGHT NOTICE:
23   * 
24   *  This software and documentation is provided "as is," and
25   *  the copyright holders and contributing author(s) make no
26   *  representations or warranties, express or implied, including
27   *  but not limited to, warranties of merchantability or fitness
28   *  for any particular purpose or that the use of the software or
29   *  documentation will not infringe any third party patents,
30   *  copyrights, trademarks or other rights. 
31   *
32   *  The copyright holders and contributing author(s) will not be
33   *  liable for any direct, indirect, special or consequential damages
34   *  arising out of any use of the software or documentation, even if
35   *  advised of the possibility of such damage.
36   *
37   *  Permission is hereby granted to use, copy, modify, and distribute
38   *  this source code, or portions hereof, documentation and executables,
39   *  for any purpose, without fee, subject to the following restrictions:
40   *
41   *  1. The origin of this source code must not be misrepresented.
42   *  2. Altered versions must be plainly marked as such and must
43   *     not be misrepresented as being the original source.
44   *  3. This Copyright notice may not be removed or altered from any
45   *     source or altered source distribution.
46   * 
47   *  The copyright holders and contributing author(s) specifically
48   *  permit, without fee, and encourage the use of this source code
49   *  as a component for supporting the Hypertext Markup Language in
50   *  commercial products. If you use this source code in a product,
51   *  acknowledgment is not required but would be appreciated.
52   *
53   */
54  package org.w3c.tidy;
55  
56  import junit.framework.TestCase;
57  
58  
59  /**
60   * Tests for utility methods in Lexer.
61   * @author Fabrizio Giustina
62   * @version $Revision $ ($Author $)
63   */
64  public class LexerTest extends TestCase
65  {
66  
67      /**
68       * Test for isCSS1Selector().
69       */
70      public final void testIsCSS1SelectorEscapedNumberTooLong()
71      {
72          assertFalse("\\77777abc is not a valid css selector", Lexer.isCSS1Selector("\\77777abc"));
73      }
74  
75      /**
76       * Test for isCSS1Selector().
77       */
78      public final void testIsCSS1SelectorClassPrefixStartsWithDigit()
79      {
80          assertFalse("77abc is not a valid css selector", Lexer.isCSS1Selector("77abc"));
81      }
82  
83      /**
84       * Test for isCSS1Selector().
85       */
86      public final void testIsCSS1SelectorUnescapedInvalidCharacter()
87      {
88          assertFalse("abc\b is not a valid css selector", Lexer.isCSS1Selector("abc\b"));
89      }
90  
91      /**
92       * Test for isCSS1Selector().
93       */
94      public final void testIsCSS1SelectorPlainOldName()
95      {
96          assertTrue("abc123 is a valid css selector", Lexer.isCSS1Selector("abc123"));
97      }
98  
99      /**
100      * Test for isCSS1Selector().
101      */
102     public final void testIsCSS1SelectorBeginWithEscapedNumber()
103     {
104         assertTrue("\\77abc is a valid css selector", Lexer.isCSS1Selector("\\77abc"));
105     }
106 
107     /**
108      * Test for isCSS1Selector().
109      */
110     public final void testIsCSS1SelectorEscapedNumber()
111     {
112         assertTrue("abc\\8 is a valid css selector", Lexer.isCSS1Selector("abc\\8"));
113     }
114 
115 }