WiP formatter.
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package de.platon42.intellij.plugins.m68k.formatter
|
||||
|
||||
import com.intellij.application.options.CodeStyle
|
||||
import com.intellij.openapi.command.WriteCommandAction
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager
|
||||
import com.intellij.testFramework.fixtures.CodeInsightTestFixture
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import de.platon42.intellij.jupiter.LightCodeInsightExtension
|
||||
import de.platon42.intellij.jupiter.MyFixture
|
||||
import de.platon42.intellij.jupiter.TestDataPath
|
||||
import org.junit.jupiter.api.Assertions.*
|
||||
import org.junit.jupiter.api.Disabled
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.extension.ExtendWith
|
||||
|
||||
|
||||
@TestDataPath("src/test/resources/formatting")
|
||||
@ExtendWith(LightCodeInsightExtension::class)
|
||||
internal class M68kAsmFormatterTest {
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
internal fun check_if_formatting_works_as_expected(@MyFixture myFixture: CodeInsightTestFixture) {
|
||||
myFixture.configureByFile("basic_before.asm")
|
||||
val settings = CodeStyle.getLanguageSettings(myFixture.file)
|
||||
settings.indentOptions?.INDENT_SIZE = 6
|
||||
settings.indentOptions?.CONTINUATION_INDENT_SIZE = 9
|
||||
WriteCommandAction.runWriteCommandAction(myFixture.project)
|
||||
{
|
||||
CodeStyleManager.getInstance(myFixture.project).reformatText(
|
||||
myFixture.file,
|
||||
ContainerUtil.newArrayList(myFixture.file.textRange)
|
||||
)
|
||||
}
|
||||
myFixture.checkResultByFile("basic_after.asm")
|
||||
}
|
||||
|
||||
@Test
|
||||
internal fun check_formatting_for_mnemonics(@MyFixture myFixture: CodeInsightTestFixture) {
|
||||
myFixture.configureByFile("mnemonics_before.asm")
|
||||
val settings = CodeStyle.getLanguageSettings(myFixture.file)
|
||||
settings.indentOptions?.INDENT_SIZE = 8
|
||||
WriteCommandAction.runWriteCommandAction(myFixture.project)
|
||||
{
|
||||
CodeStyleManager.getInstance(myFixture.project).reformatText(
|
||||
myFixture.file,
|
||||
ContainerUtil.newArrayList(myFixture.file.textRange)
|
||||
)
|
||||
}
|
||||
myFixture.checkResultByFile("mnemonics_after.asm")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
; this is a test
|
||||
|
||||
FOO = 1
|
||||
; this is the main demo routine
|
||||
demo_main:
|
||||
moveq.l #0,d0 ; end of line comment
|
||||
rts ; some more comments
|
||||
|
||||
; data area starts here
|
||||
.data dc.w 10,0
|
||||
even
|
||||
|
||||
this_is_a_very_long_label: moveq.l #0,d0 ; and an end of line comment, too
|
||||
|
||||
; this is another folding area
|
||||
; could be anything.
|
||||
|
||||
intro_part1
|
||||
; What is this doing here?
|
||||
dc.w $47fe
|
||||
illegal
|
||||
rts
|
||||
|
||||
; this comment is two lines away
|
||||
|
||||
|
||||
intro_part2:
|
||||
moveq.l #0,d1
|
||||
rts
|
||||
|
||||
; standard macros
|
||||
BLTWAIT MACRO
|
||||
.bw\@
|
||||
btst #DMAB_BLTDONE-8,dmaconr(a5)
|
||||
bne.s .bw\@
|
||||
ENDM
|
||||
|
||||
MACRO BLTHOGOFF
|
||||
moveq.l #0,d0
|
||||
ENDM
|
||||
|
||||
********************** foobar
|
||||
|
||||
|
||||
some_more_data:
|
||||
dc.w $123
|
||||
dc.w $345
|
||||
dc.w $333
|
||||
dc.w $222
|
||||
|
||||
CUBE_SIZE = 100
|
||||
@@ -0,0 +1,51 @@
|
||||
; this is a test
|
||||
|
||||
FOO = 1
|
||||
; this is the main demo routine
|
||||
demo_main:
|
||||
moveq.l #0,d0 ; end of line comment
|
||||
rts ; some more comments
|
||||
|
||||
; data area starts here
|
||||
.data dc.w 10,0
|
||||
even
|
||||
|
||||
this_is_a_very_long_label: moveq.l #0,d0 ; and an end of line comment, too
|
||||
|
||||
; this is another folding area
|
||||
; could be anything.
|
||||
|
||||
intro_part1
|
||||
; What is this doing here?
|
||||
dc.w $47fe
|
||||
illegal
|
||||
rts
|
||||
|
||||
; this comment is two lines away
|
||||
|
||||
|
||||
intro_part2:
|
||||
moveq.l #0,d1
|
||||
rts
|
||||
|
||||
; standard macros
|
||||
BLTWAIT MACRO
|
||||
.bw\@
|
||||
btst #DMAB_BLTDONE-8,dmaconr(a5)
|
||||
bne.s .bw\@
|
||||
ENDM
|
||||
|
||||
MACRO BLTHOGOFF
|
||||
moveq.l #0,d0
|
||||
ENDM
|
||||
|
||||
********************** foobar
|
||||
|
||||
|
||||
some_more_data:
|
||||
dc.w $123
|
||||
dc.w $345
|
||||
dc.w $333
|
||||
dc.w $222
|
||||
|
||||
CUBE_SIZE = 100
|
||||
@@ -0,0 +1,13 @@
|
||||
moveq.l #10,d1
|
||||
add.l #10,d1
|
||||
subq.b #2,d2
|
||||
bra.s .foo
|
||||
nop
|
||||
.foo move.l d2,d1
|
||||
rts
|
||||
.verylonglabel: stop #$2000
|
||||
|
||||
.narf
|
||||
moveq.l #2,d0
|
||||
|
||||
globallabel: moveq.l #0,d0
|
||||
@@ -0,0 +1,13 @@
|
||||
moveq.l #10,d1
|
||||
add.l #10,d1
|
||||
subq.b #2,d2
|
||||
bra.s .foo
|
||||
nop
|
||||
.foo move.l d2,d1
|
||||
rts
|
||||
.verylonglabel: stop #$2000
|
||||
|
||||
.narf
|
||||
moveq.l #2,d0
|
||||
|
||||
globallabel: moveq.l #0,d0
|
||||
Reference in New Issue
Block a user