Made AsmOperands private. Added support for generic assembler directives. Bugfixes. Added more Tests.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
package de.platon42.intellij.plugins.m68k.parser
|
||||
|
||||
import de.platon42.intellij.jupiter.MyTestCase
|
||||
import de.platon42.intellij.jupiter.ParsingTestExtension
|
||||
import de.platon42.intellij.jupiter.TestDataSubPath
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
@TestDataSubPath("assignment")
|
||||
internal class AssignmentTest : AbstractParsingTest() {
|
||||
|
||||
@Test
|
||||
internal fun assignment_via_equals_with_spaces(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, "FOO = 123+10\n")
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun assignment_via_equals_without_spaces(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, "FOO=123+10\n")
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun assignment_via_equ(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, "FOO equ BAR\n")
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun assignment_via_set(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, "FOO set BAR\n")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package de.platon42.intellij.plugins.m68k.parser
|
||||
|
||||
import de.platon42.intellij.jupiter.MyTestCase
|
||||
import de.platon42.intellij.jupiter.ParsingTestExtension
|
||||
import de.platon42.intellij.jupiter.TestDataSubPath
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
@TestDataSubPath("directives")
|
||||
internal class DataDirectivesTest : AbstractParsingTest() {
|
||||
|
||||
@Test
|
||||
internal fun dc_w_with_some_numbers(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, " dc.w 0,1,2,3,4,5\n")
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun dc_b_with_strings_and_global_label(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, "foo: dc.b 'It could be good!',10,\"Don't ya think?\",10,0\n")
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun even(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, "\teven ; align to even address\n")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package de.platon42.intellij.plugins.m68k.parser
|
||||
|
||||
import de.platon42.intellij.jupiter.MyTestCase
|
||||
import de.platon42.intellij.jupiter.ParsingTestExtension
|
||||
import de.platon42.intellij.jupiter.TestDataSubPath
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
@TestDataSubPath("directives")
|
||||
internal class OtherDirectivesTest : AbstractParsingTest() {
|
||||
|
||||
@Test
|
||||
internal fun include_file(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, " include \"exec/execbase.i\"\n")
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun if_defined_block(@MyTestCase testCase: ParsingTestExtension.IParsingTestCase) {
|
||||
testGoodSyntax(testCase, "\tIFD DEBUG ; cause a crash\n illegal\n ENDC\n")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user