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.language.css;
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.List;
17: import java.util.Map;
18: import junit.framework.TestCase;
19:
20: import org.netbeans.api.languages.ASTNode;
21: import org.netbeans.api.languages.ParseException;
22: import org.netbeans.api.languages.TokenInput;
23: import org.netbeans.modules.languages.Language;
24: import org.netbeans.modules.languages.NBSLanguageReader;
25: import org.netbeans.modules.languages.parser.AnalyserAnalyser;
26: import org.netbeans.modules.languages.parser.Petra;
27: import org.netbeans.modules.languages.parser.StringInput;
28: import org.netbeans.modules.languages.parser.TokenInputUtils;
29:
30: /**
31: *
32: * @author Jan Jancura
33: */
34: public class NBSTest extends TestCase {
35:
36: public NBSTest(String testName) {
37: super (testName);
38: }
39:
40: public void testFirst() {
41: InputStream is = getClass().getClassLoader()
42: .getResourceAsStream(
43: "org/netbeans/modules/languages/css/CSS.nbs");
44: try {
45: Language l = NBSLanguageReader.readLanguage(is, "test",
46: "text/x-css");
47: List r = l.getAnalyser().getRules();
48: AnalyserAnalyser.printRules(r, null);
49: AnalyserAnalyser.printUndefinedNTs(r, null);
50: Map f = Petra.first2(r);
51: AnalyserAnalyser.printDepth(f, null);
52: AnalyserAnalyser.printConflicts(f, null);
53: AnalyserAnalyser.printF(f, null);
54: assertFalse(AnalyserAnalyser.hasConflicts(f));
55: } catch (ParseException ex) {
56: ex.printStackTrace();
57: } catch (IOException ex) {
58: ex.printStackTrace();
59: }
60: }
61:
62: public void test2() throws ParseException, IOException {
63: InputStream is = getClass().getClassLoader()
64: .getResourceAsStream(
65: "org/netbeans/modules/languages/css/CSS.nbs");
66: Language l = NBSLanguageReader.readLanguage(is, "test",
67: "text/x-css");
68:
69: is = getClass().getClassLoader().getResourceAsStream(
70: "org/netbeans/modules/languages/css/netbeans.css2");
71: BufferedReader br = new BufferedReader(
72: new InputStreamReader(is));
73: StringBuilder sb = new StringBuilder();
74: String ln = br.readLine();
75: while (ln != null) {
76: sb.append(ln).append('\n');
77: ln = br.readLine();
78: }
79: TokenInput ti = TokenInputUtils.create("text/x-css", l
80: .getParser(), new StringInput(sb.toString()), l
81: .getSkipTokenTypes());
82: ASTNode n = l.getAnalyser().read(ti, false);
83: assertNotNull(n);
84: }
85: }
|