aboutsummaryrefslogtreecommitdiff
path: root/test/test.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/test.lua')
-rw-r--r--test/test.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/test.lua b/test/test.lua
index 68125dd7..2519414f 100644
--- a/test/test.lua
+++ b/test/test.lua
@@ -3271,6 +3271,38 @@ function test_lexer_fold_properties()
assert_equal(view.property['fold'], '0')
end
+function test_lexer_fold_line_groups()
+ local fold_line_groups = lexer.fold_line_groups
+ buffer.new()
+ buffer:add_text[[
+ package foo;
+
+ import bar;
+ import baz;
+ import quux;
+ // comment
+ // comment
+ // comment
+
+ public class Foo {}
+ ]]
+ buffer:set_lexer('java')
+ lexer.fold_line_groups = false
+ buffer:colorize(1, -1)
+ assert(buffer.fold_level[3] & lexer.FOLD_HEADER == 0, 'import is a fold point')
+ assert(buffer.fold_level[6] & lexer.FOLD_HEADER == 0, 'line comment is a fold point')
+ lexer.fold_line_groups = true
+ buffer:colorize(1, -1)
+ assert(buffer.fold_level[3] & lexer.FOLD_HEADER > 0, 'import is not a fold point')
+ assert(buffer.fold_level[6] & lexer.FOLD_HEADER > 0, 'line comment is not a fold point')
+ view:toggle_fold(3)
+ for i = 4, 5 do assert(not view.line_visible[i], 'line %i is visible', i) end
+ view:toggle_fold(6)
+ for i = 7, 8 do assert(not view.line_visible[i], 'line %i is visible', i) end
+ buffer:close(true)
+ lexer.fold_line_groups = fold_line_groups -- restore
+end
+
-- TODO: test init.lua's buffer settings
function test_ctags()