01: /*
02: * NBSTest.java
03: *
04: * Created on September 1, 2006, 2:46 PM
05: *
06: * To change this template, choose Tools | Template Manager
07: * and open the template in the editor.
08: */
09:
10: package org.netbeans.modules.languages.parser;
11:
12: import java.io.BufferedReader;
13: import java.io.IOException;
14: import java.io.InputStream;
15: import java.io.InputStreamReader;
16: import java.util.ArrayList;
17: import java.util.List;
18: import junit.framework.TestCase;
19:
20: import org.netbeans.api.languages.ParseException;
21: import org.netbeans.api.languages.TokenInput;
22: import org.netbeans.api.languages.ASTNode;
23: import org.netbeans.modules.languages.LanguageImpl;
24: import org.netbeans.modules.languages.NBSLanguageReader;
25: import org.netbeans.modules.languages.Rule;
26: import org.netbeans.modules.languages.TestUtils;
27:
28: /**
29: *
30: * @author Jan Jancura
31: */
32: public class NBSTest extends TestCase {
33:
34: public NBSTest(String testName) {
35: super (testName);
36: }
37:
38: public void testFirst() {
39: InputStream is = getClass()
40: .getClassLoader()
41: .getResourceAsStream(
42: "org/netbeans/modules/languages/resources/NBS.nbs");
43: try {
44: NBSLanguageReader reader = NBSLanguageReader.create(is,
45: "test", "test/x-nbs");
46: LanguageImpl language = TestUtils.createLanguage(reader);
47: language.read();
48: List<Rule> rules = language.getAnalyser().getRules();
49: // AnalyserAnalyser.printRules (r, null);
50: // AnalyserAnalyser.printUndefinedNTs (r, null);
51: First first = First.create(rules, language);
52: // AnalyserAnalyser.printDepth (f, null);
53: // AnalyserAnalyser.printConflicts (f, null);
54: // AnalyserAnalyser.printF (f, null);
55: //assertFalse (AnalyserAnalyser.hasConflicts (first));
56: } catch (ParseException ex) {
57: ex.printStackTrace();
58: } catch (IOException ex) {
59: ex.printStackTrace();
60: }
61: }
62:
63: public void test2() throws ParseException, IOException {
64: InputStream is = getClass()
65: .getClassLoader()
66: .getResourceAsStream(
67: "org/netbeans/modules/languages/resources/NBS.nbs");
68: NBSLanguageReader reader = NBSLanguageReader.create(is, "test",
69: "test/x-nbs");
70: LanguageImpl language = TestUtils.createLanguage(reader);
71: language.read();
72:
73: is = getClass().getClassLoader().getResourceAsStream(
74: "org/netbeans/modules/languages/resources/NBS.nbs");
75: BufferedReader br = new BufferedReader(
76: new InputStreamReader(is));
77: StringBuilder sb = new StringBuilder();
78: String ln = br.readLine();
79: while (ln != null) {
80: sb.append(ln).append('\n');
81: ln = br.readLine();
82: }
83: TokenInput ti = TokenInputUtils.create(language, language
84: .getParser(), new StringInput(sb.toString()));
85: ASTNode n = language.getAnalyser().read(ti, false,
86: new ArrayList<SyntaxError>(), new boolean[] { false });
87: assertNotNull(n);
88: }
89: }
|