aboutsummaryrefslogtreecommitdiff
path: root/plugin/test/indentation.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/test/indentation.test.js')
-rw-r--r--plugin/test/indentation.test.js10
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), []);
+});