diff options
Diffstat (limited to 'plugin/test/indentation.test.js')
| -rw-r--r-- | plugin/test/indentation.test.js | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/plugin/test/indentation.test.js b/plugin/test/indentation.test.js index 9140ed3..e71540f 100644 --- a/plugin/test/indentation.test.js +++ b/plugin/test/indentation.test.js @@ -82,3 +82,13 @@ test('escaped quotes keep block keywords inside literals masked', () => { 'THEN', String.raw`OUTPUT "escaped \" ENDIF //"`, 'ENDIF' ]), [0, 0, 1, 0]); }); + +test('preprocessor conditions preserve ordinary block depth without adding indentation', () => { + const lines = [ + 'PP_DEFINE Flag', 'PP_IFDEF Flag', 'PROCEDURE Demo()', 'PP_IFNDEF Other', + 'IF Ready THEN', 'OUTPUT 1', 'ENDIF', 'PP_ENDIF', 'PP_UNDEF Flag', + 'ENDPROCEDURE', 'PP_ENDIF' + ]; + assert.deepEqual(lineDepths(lines), [0, 0, 0, 1, 1, 2, 1, 1, 1, 0, 0]); + assert.deepEqual(indentationEdits(['PP_IFDEF Flag', 'OUTPUT 1', 'PP_ENDIF'], 0, 2), []); +}); |
