KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > db > sql > editor > SQLSyntaxTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.db.sql.editor;
21
22 import java.util.Arrays JavaDoc;
23 import java.util.Iterator JavaDoc;
24 import java.util.List JavaDoc;
25 import org.netbeans.editor.Syntax;
26 import org.netbeans.editor.TokenID;
27 import org.netbeans.junit.NbTestCase;
28
29 /**
30  *
31  * @author Andrei Badea
32  */

33 public class SQLSyntaxTest extends NbTestCase {
34
35     public SQLSyntaxTest(String JavaDoc testName) {
36         super(testName);
37     }
38
39     public void testNumberLiteralsEndWithFirstNonDigitCharIssue67379() {
40         assertTokens("10-20.3-3", new TokenID[] {
41             SQLTokenContext.INT_LITERAL,
42             SQLTokenContext.OPERATOR,
43             SQLTokenContext.DOUBLE_LITERAL,
44             SQLTokenContext.OPERATOR,
45             SQLTokenContext.INT_LITERAL,
46         });
47         
48         assertTokens("10foo", new TokenID[] {
49             SQLTokenContext.INT_LITERAL,
50             SQLTokenContext.IDENTIFIER,
51         });
52     }
53     
54     private void assertTokens(String JavaDoc m, TokenID[] tokens) {
55         Syntax s = new SQLSyntax();
56         s.load(null, m.toCharArray(), 0, m.length(), true, m.length());
57         
58         TokenID token = null;
59         Iterator JavaDoc i = Arrays.asList(tokens).iterator();
60         do {
61             token = s.nextToken();
62             if (token != null) {
63                 if (!i.hasNext()) {
64                     fail("More tokens returned than expected.");
65                 } else {
66                     assertSame("Tokens differ", i.next(), token);
67                 }
68             } else {
69                 assertFalse("More tokens expected than returned.", i.hasNext());
70             }
71             if (token != null) {
72                 log(token.getName());
73             }
74         } while (token != null);
75     }
76 }
77
Popular Tags