/test/org/jetbrains/plugins/clojure/parser/ParserTest.java
Java | 209 lines | 151 code | 43 blank | 15 comment | 0 complexity | a695c3cf4415c1147b66657b82d96ee7 MD5 | raw file
- package org.jetbrains.plugins.clojure.parser;
- import com.intellij.openapi.fileTypes.FileTypeManager;
- import com.intellij.openapi.util.io.FileUtil;
- import com.intellij.psi.PsiFile;
- import com.intellij.psi.impl.DebugUtil;
- import junit.framework.Assert;
- import org.jetbrains.plugins.clojure.base.ClojureBaseTestCase;
- import org.junit.Test;
- import java.io.File;
- import java.io.IOException;
- /**
- * Created by IntelliJ IDEA.
- * User: peter
- * Date: Jan 5, 2009
- * Time: 2:11:20 PM
- * Copyright 2007, 2008, 2009 Red Shark Technology
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- public class ParserTest extends ClojureBaseTestCase {
- private static final String DATA_PATH = System.getProperty("user.dir") + "/testdata/parser/";
- public String getDataPath() {
- return DATA_PATH;
- }
- public void doParse(String fileName) {
- String contents = fetchFile("", fileName, TEST_FILE_EXT);
- PsiFile psiFile = createPseudoPhysicalFile(getProject(), "clj_98.clj", contents);
- String psiTree = DebugUtil.psiToString(psiFile, false);
- try {
- final String expected = FileUtil.loadFile(new File(getDataPath() + fileName + "-tree.txt"), true);
- assertEquals(expected, psiTree);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- @Test
- public void testClojureFileType() {
- Assert.assertNotNull(FileTypeManager.getInstance().getFileTypeByFileName("foo.clj"));
- }
- @Test
- public void testSymbol() {
- doParse("symbol");
- }
- @Test
- public void testSymbol2() {
- doParse("symbol2");
- }
- @Test
- public void testInteger() {
- doParse("integer");
- }
- @Test
- public void testFloat() {
- doParse("float");
- }
- @Test
- public void testString() {
- doParse("string");
- }
- public void testMultilineString() {
- doParse("multiline_string");
- }
- public void testUnicodeSymbol() {
- doParse("unicode_symbol");
- }
- public void testNameApostrophe() {
- doParse(getTestName(true));
- }
- @Test
- public void testSexp1() {
- doParse("sexp");
- }
- @Test
- public void testSexp2() {
- doParse("sexp2");
- }
- @Test
- public void testQuote() {
- doParse("quote");
- }
- @Test
- public void testVector() {
- doParse("vector");
- }
- @Test
- public void testEmptyList() {
- doParse("empty_list");
- }
- @Test
- public void testEmptyVector() {
- doParse("empty_vector");
- }
- @Test
- public void testEmptyMap() {
- doParse("empty_map");
- }
- @Test
- public void testMap() {
- doParse("map");
- }
- @Test
- public void testMetadata() {
- doParse("meta");
- }
- @Test
- public void testLet() {
- doParse("let");
- }
- @Test
- public void testFn() {
- doParse("fn");
- }
- @Test
- public void testSexp3() {
- doParse("sexp3");
- }
- @Test
- public void testSexp4() {
- doParse("sexp4");
- }
- @Test
- public void testSexp45() {
- doParse("sexp45");
- }
- @Test
- public void testDefn() {
- doParse("defn");
- }
- @Test
- public void testDefn2() {
- doParse("defn2");
- }
- public void testDefn3() {
- doParse("defn3");
- }
- public void testString1() {
- doParse("str1");
- }
- public void testString2() {
- doParse("uncompl");
- }
- public void testString4() {
- doParse("str4");
- }
- public void testSym1() {
- doParse("symbols/sym1");
- }
- public void testSym2() {
- doParse("symbols/sym2");
- }
- public void testSym3() {
- doParse("symbols/sym3");
- }
- public void testSym4() {
- doParse("symbols/sym4");
- }
- public void testSym5() {
- doParse("symbols/sym5");
- }
- }