From fee0b0779a192a7c175c37badcaf66f0dae1e24d Mon Sep 17 00:00:00 2001 From: Anna Bulenkova Date: Tue, 24 Mar 2015 10:20:59 +0100 Subject: [PATCH] [site] Parsing test --- _SUMMARY.md | 2 +- .../plugin_copy_psi.png | Bin 0 -> 89158 bytes parsing_test.md | 139 ++++++++++++++++++ writing_tests_for_plugins.md | 2 +- 4 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 img/writing_tests_for_plugins/plugin_copy_psi.png create mode 100644 parsing_test.md diff --git a/_SUMMARY.md b/_SUMMARY.md index 0bbb563ab..4e11b34ad 100644 --- a/_SUMMARY.md +++ b/_SUMMARY.md @@ -65,7 +65,7 @@ * [Quick Fix](quick_fix.html) * [Writing Tests For Plugins](writing_tests_for_plugins.html) * [Tests Prerequisites](tests_prerequisites.html) - * [Parsing Test](TODO) + * [Parsing Test](parsing_test.html) * [Completion Test](TODO) * [Annotator Test](TODO) * [Formatter Test](TODO) diff --git a/img/writing_tests_for_plugins/plugin_copy_psi.png b/img/writing_tests_for_plugins/plugin_copy_psi.png new file mode 100644 index 0000000000000000000000000000000000000000..92ecb1b151a6338e726a110c07b0677724d809c7 GIT binary patch literal 89158 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%0D2GnPJ1Zn^{R$t?LrloIBDD&5)h^ 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 Nipabv71I0oe*yBbT0#H- literal 0 HcmV?d00001 diff --git a/parsing_test.md b/parsing_test.md new file mode 100644 index 000000000..307597a2d --- /dev/null +++ b/parsing_test.md @@ -0,0 +1,139 @@ +--- +title: Parsing Test +--- + + + +# {{ page.title }} + +The first test will check if the parser, implemented in the +[Lexer and Parser Definition Tutorial](lexer_und_parser_definition.html), +works as we expect it. + +### 1. Define input test data + +Create a file *ParsingTestData.simple* in *testData* folder. + +```bash +# You are reading the ".properties" entry. +! The exclamation mark can also mark text as comments. +website = http://en.wikipedia.org/ + +language = English +# The backslash below tells the application to continue reading +# the value onto the next line. +message = Welcome to \ + Wikipedia! +# Add spaces to the key +key\ with\ spaces = This is the value that could be looked up with the key "key with spaces". +# Unicode +tab : \u0009 +``` + +### 2. Copy the expected PSI tree + +The easiest way to get the expected PSI structure for any file is to use PSI Viewer. +Run the project and call ```Tools``` → ```View PSI Structure```. + +![PSI Tree Copy](/img/writing_tests_for_plugins/plugin_copy_psi.png) + +Use ```Copy PSI``` button to copy the expected PSI structure to the clipboard. + +### 3. Define an output test data + +Create a file *ParsingTestData.txt* with the copied PSI tree. + +```java +Simple File(0,433) + PsiComment(SimpleTokenType.COMMENT)('# You are reading the ".properties" entry.')(0,42) + PsiElement(SimpleTokenType.CRLF)('\n')(42,43) + PsiComment(SimpleTokenType.COMMENT)('! The exclamation mark can also mark text as comments.')(43,97) + PsiElement(SimpleTokenType.CRLF)('\n')(97,98) + SimplePropertyImpl(PROPERTY)(98,132) + PsiElement(SimpleTokenType.KEY)('website')(98,105) + PsiWhiteSpace(' ')(105,106) + PsiElement(SimpleTokenType.SEPARATOR)('=')(106,107) + PsiWhiteSpace(' ')(107,108) + PsiElement(SimpleTokenType.VALUE)('http://en.wikipedia.org/')(108,132) + PsiElement(SimpleTokenType.CRLF)('\n')(132,133) + PsiElement(SimpleTokenType.CRLF)('\n')(133,134) + SimplePropertyImpl(PROPERTY)(134,152) + PsiElement(SimpleTokenType.KEY)('language')(134,142) + PsiWhiteSpace(' ')(142,143) + PsiElement(SimpleTokenType.SEPARATOR)('=')(143,144) + PsiWhiteSpace(' ')(144,145) + PsiElement(SimpleTokenType.VALUE)('English')(145,152) + PsiElement(SimpleTokenType.CRLF)('\n')(152,153) + PsiComment(SimpleTokenType.COMMENT)('# The backslash below tells the application to continue reading')(153,216) + PsiElement(SimpleTokenType.CRLF)('\n')(216,217) + PsiComment(SimpleTokenType.COMMENT)('# the value onto the next line.')(217,248) + PsiElement(SimpleTokenType.CRLF)('\n')(248,249) + SimplePropertyImpl(PROPERTY)(249,292) + PsiElement(SimpleTokenType.KEY)('message')(249,256) + PsiWhiteSpace(' ')(256,257) + PsiElement(SimpleTokenType.SEPARATOR)('=')(257,258) + PsiWhiteSpace(' ')(258,259) + PsiElement(SimpleTokenType.VALUE)('Welcome to \\n Wikipedia!')(259,292) + PsiElement(SimpleTokenType.CRLF)('\n')(292,293) + PsiComment(SimpleTokenType.COMMENT)('# Add spaces to the key')(293,316) + PsiElement(SimpleTokenType.CRLF)('\n')(316,317) + SimplePropertyImpl(PROPERTY)(317,410) + PsiElement(SimpleTokenType.KEY)('key\ with\ spaces')(317,334) + PsiWhiteSpace(' ')(334,335) + PsiElement(SimpleTokenType.SEPARATOR)('=')(335,336) + PsiWhiteSpace(' ')(336,337) + PsiElement(SimpleTokenType.VALUE)('This is the value that could be looked up with the key "key with spaces".')(337,410) + PsiElement(SimpleTokenType.CRLF)('\n')(410,411) + PsiComment(SimpleTokenType.COMMENT)('# Unicode')(411,420) + PsiElement(SimpleTokenType.CRLF)('\n')(420,421) + SimplePropertyImpl(PROPERTY)(421,433) + PsiElement(SimpleTokenType.KEY)('tab')(421,424) + PsiWhiteSpace(' ')(424,425) + PsiElement(SimpleTokenType.SEPARATOR)(':')(425,426) + PsiWhiteSpace(' ')(426,427) + PsiElement(SimpleTokenType.VALUE)('\u0009')(427,433) +``` + +### 2. Define a parsing test + +```java +package com.simpleplugin; + +import com.intellij.testFramework.ParsingTestCase; + +public class SimpleParsingTest extends ParsingTestCase { + public SimpleParsingTest() { + super("", "simple", new SimpleParserDefinition()); + } + + public void testParsingTestData() { + doTest(true); + } + + @Override + protected String getTestDataPath() { + return "../../SimplePlugin/testData"; + } + + @Override + protected boolean skipSpaces() { + return false; + } + + @Override + protected boolean includeRanges() { + return true; + } +} +``` + +### 3. Run the test + +Run the test and make sure it's green. + +----- + +[Previous](tests_prerequisites.html) [Top](writing_tests_for_plugins.html) [Next](completion_test.html) + diff --git a/writing_tests_for_plugins.md b/writing_tests_for_plugins.md index 18ad77fad..ab7f9d3bb 100644 --- a/writing_tests_for_plugins.md +++ b/writing_tests_for_plugins.md @@ -15,7 +15,7 @@ As an example we will take the plugin implemented in the and cover its code with functional tests. * [Tests Prerequisites](tests_prerequisites.html) -* [Parsing Test](TODO) +* [Parsing Test](parsing_test.html)) * [Completion Test](TODO) * [Annotator Test](TODO) * [Formatter Test](TODO)