1 19 20 package org.netbeans.modules.db.sql.editor; 21 22 import java.util.Arrays ; 23 import java.util.Iterator ; 24 import java.util.List ; 25 import org.netbeans.editor.Syntax; 26 import org.netbeans.editor.TokenID; 27 import org.netbeans.junit.NbTestCase; 28 29 33 public class SQLSyntaxTest extends NbTestCase { 34 35 public SQLSyntaxTest(String 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 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 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 |