From 322e8af00ae62a42be1c6ca2a522c2ce6f5f418e Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Sat, 18 Jul 2020 23:12:35 -0400 Subject: Updated to latest Scintilla for new `lexer.fold*` API. This replaces the need for `view.property['fold*'] = ...` --- test/test.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'test') 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() -- cgit v1.2.3