aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/test.lua b/test/test.lua
index 5cf884cb..c3c58f92 100644
--- a/test/test.lua
+++ b/test/test.lua
@@ -3170,6 +3170,35 @@ function test_set_lexer_style()
view.property['style.library'] = view.property['style.library']
end
+function test_lexer_fold_properties()
+ lexer.property['fold.compact'] = '0'
+ assert(not lexer.fold_compact, 'lexer.fold_compact not updated')
+ lexer.fold_compact = true
+ assert(lexer.fold_compact, 'lexer.fold_compact not updated')
+ assert_equal(lexer.property['fold.compact'], '1')
+ lexer.fold_compact = nil
+ assert(not lexer.fold_compact)
+ assert_equal(lexer.property['fold.compact'], '0')
+ local truthy, falsy = {true, '1', 1}, {false, '0', 0}
+ for i = 1, #truthy do
+ lexer.fold_compact = truthy[i]
+ assert(lexer.fold_compact, 'lexer.fold_compact not updated for "%s"', tostring(truthy[i]))
+ lexer.fold_compact = falsy[i]
+ assert(not lexer.fold_compact, 'lexer.fold_compact not updated for "%s"', tostring(falsy[i]))
+ end
+ -- Verify fold and folding properties are synchronized.
+ lexer.property['fold'] = '0'
+ assert(not lexer.folding)
+ lexer.folding = true
+ assert(lexer.property['fold'] == '1')
+ -- Lexer fold properties and view fold properties do not mirror because
+ -- Scintilla forwards view property settings to lexers, not vice-versa.
+ view.property['fold'] = '0'
+ assert(not lexer.folding)
+ lexer.folding = true
+ assert_equal(view.property['fold'], '0')
+end
+
-- TODO: test init.lua's buffer settings
function test_ctags()