diff options
Diffstat (limited to 'support/texlab/tests/lsp/text_document/folding_range.rs')
-rw-r--r-- | support/texlab/tests/lsp/text_document/folding_range.rs | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/support/texlab/tests/lsp/text_document/folding_range.rs b/support/texlab/tests/lsp/text_document/folding_range.rs new file mode 100644 index 0000000000..063ca7533d --- /dev/null +++ b/support/texlab/tests/lsp/text_document/folding_range.rs @@ -0,0 +1,66 @@ +use insta::assert_json_snapshot; +use lsp_types::{ + request::FoldingRangeRequest, ClientCapabilities, FoldingRange, FoldingRangeParams, +}; + +use crate::fixture::TestBed; + +fn find_foldings(fixture: &str) -> Vec<FoldingRange> { + let test_bed = TestBed::new(fixture).unwrap(); + + test_bed.initialize(ClientCapabilities::default()).unwrap(); + + let text_document = test_bed.cursor().unwrap().text_document; + test_bed + .client() + .send_request::<FoldingRangeRequest>(FoldingRangeParams { + text_document, + work_done_progress_params: Default::default(), + partial_result_params: Default::default(), + }) + .unwrap() + .unwrap_or_default() +} + +#[test] +fn latex() { + assert_json_snapshot!(find_foldings( + r#" +%! main.tex +\begin{document} + \section{Foo} + foo + \subsection{Bar} + bar + \section{Baz} + baz + \section{Qux} +\end{document} +|"# + )); +} + +#[test] +fn bibtex() { + assert_json_snapshot!(find_foldings( + r#" +%! main.bib +some junk +here + +@article{foo, + author = {bar}, + title = {baz} +} + +@string{foo = "bar"} + +@comment{foo, + author = {bar}, + title = {baz} +} + +@preamble{"foo"} +|"# + )); +} |