mirror of
https://github.com/Myriad-Dreamin/tinymist.git
synced 2025-07-23 12:45:04 +00:00
test: base snapshot testing for folding range
This commit is contained in:
parent
279bead9e1
commit
152b23ebac
7 changed files with 181 additions and 34 deletions
10
crates/tinymist-query/src/fixtures/folding_range/base.typ
Normal file
10
crates/tinymist-query/src/fixtures/folding_range/base.typ
Normal file
|
@ -0,0 +1,10 @@
|
|||
= Heading 1
|
||||
#let a = 1;
|
||||
== Heading 2
|
||||
#let b = 1;
|
||||
= Heading 3
|
||||
#let c = 1;
|
||||
#let d = {
|
||||
let e = 1;
|
||||
0
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
#let a = [
|
||||
== Heading 1
|
||||
#lorem(1)
|
||||
#let b = [
|
||||
// todo: there is a bug
|
||||
== Heading 2
|
||||
#lorem(1)
|
||||
]
|
||||
]
|
|
@ -0,0 +1,19 @@
|
|||
#let a = {
|
||||
let b = {
|
||||
let c = [
|
||||
|
||||
]
|
||||
}
|
||||
let b = {{
|
||||
|
||||
}}
|
||||
let b = {
|
||||
let c = {
|
||||
|
||||
} + {
|
||||
|
||||
}
|
||||
}
|
||||
let b = {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
source: crates/tinymist-query/src/folding_range.rs
|
||||
expression: "JsonRepr::new_pure(result.unwrap())"
|
||||
input_file: crates/tinymist-query/src/fixtures/folding_range/base.typ
|
||||
---
|
||||
[
|
||||
{
|
||||
"collapsedText": "Heading 2",
|
||||
"endCharacter": 12,
|
||||
"endLine": 2,
|
||||
"startCharacter": 3,
|
||||
"startLine": 2
|
||||
},
|
||||
{
|
||||
"collapsedText": "Heading 1",
|
||||
"endCharacter": 11,
|
||||
"endLine": 3,
|
||||
"startCharacter": 2,
|
||||
"startLine": 0
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 1,
|
||||
"endLine": 9,
|
||||
"startCharacter": 9,
|
||||
"startLine": 6
|
||||
},
|
||||
{
|
||||
"collapsedText": "Heading 3",
|
||||
"endCharacter": 11,
|
||||
"endLine": 9,
|
||||
"startCharacter": 2,
|
||||
"startLine": 4
|
||||
}
|
||||
]
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
source: crates/tinymist-query/src/folding_range.rs
|
||||
expression: "JsonRepr::new_pure(result.unwrap())"
|
||||
input_file: crates/tinymist-query/src/fixtures/folding_range/headings-in-blocks.typ
|
||||
---
|
||||
[
|
||||
{
|
||||
"collapsedText": "Heading 2",
|
||||
"endCharacter": 16,
|
||||
"endLine": 8,
|
||||
"startCharacter": 7,
|
||||
"startLine": 5
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 3,
|
||||
"endLine": 7,
|
||||
"startCharacter": 11,
|
||||
"startLine": 3
|
||||
},
|
||||
{
|
||||
"collapsedText": "Heading 1",
|
||||
"endCharacter": 14,
|
||||
"endLine": 8,
|
||||
"startCharacter": 5,
|
||||
"startLine": 1
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 1,
|
||||
"endLine": 8,
|
||||
"startCharacter": 9,
|
||||
"startLine": 0
|
||||
}
|
||||
]
|
|
@ -0,0 +1,70 @@
|
|||
---
|
||||
source: crates/tinymist-query/src/folding_range.rs
|
||||
expression: "JsonRepr::new_pure(result.unwrap())"
|
||||
input_file: crates/tinymist-query/src/fixtures/folding_range/nested-blocks.typ
|
||||
---
|
||||
[
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 5,
|
||||
"endLine": 4,
|
||||
"startCharacter": 12,
|
||||
"startLine": 2
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 3,
|
||||
"endLine": 5,
|
||||
"startCharacter": 10,
|
||||
"startLine": 1
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 3,
|
||||
"endLine": 8,
|
||||
"startCharacter": 11,
|
||||
"startLine": 6
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 4,
|
||||
"endLine": 8,
|
||||
"startCharacter": 10,
|
||||
"startLine": 6
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 5,
|
||||
"endLine": 12,
|
||||
"startCharacter": 12,
|
||||
"startLine": 10
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 5,
|
||||
"endLine": 14,
|
||||
"startCharacter": 8,
|
||||
"startLine": 12
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 3,
|
||||
"endLine": 15,
|
||||
"startCharacter": 10,
|
||||
"startLine": 9
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 3,
|
||||
"endLine": 17,
|
||||
"startCharacter": 10,
|
||||
"startLine": 16
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endCharacter": 1,
|
||||
"endLine": 18,
|
||||
"startCharacter": 9,
|
||||
"startLine": 0
|
||||
}
|
||||
]
|
|
@ -117,8 +117,8 @@ mod tests {
|
|||
use crate::tests::*;
|
||||
|
||||
#[test]
|
||||
fn test_folding_range_request() {
|
||||
run_with_source("#let a = 1;", |world, path| {
|
||||
fn test() {
|
||||
snapshot_testing("folding_range", &|world, path| {
|
||||
let request = FoldingRangeRequest {
|
||||
path: path.clone(),
|
||||
line_folding_only: true,
|
||||
|
@ -127,38 +127,7 @@ mod tests {
|
|||
let source = get_suitable_source_in_workspace(world, &path).unwrap();
|
||||
|
||||
let result = request.request(source, PositionEncoding::Utf16);
|
||||
assert_snapshot!(JsonRepr::new_pure(result.unwrap()), @"[]");
|
||||
});
|
||||
let t = r#"#let a = {
|
||||
let b = {
|
||||
|
||||
}
|
||||
}"#;
|
||||
run_with_source(t, |world, path| {
|
||||
let request = FoldingRangeRequest {
|
||||
path: path.clone(),
|
||||
line_folding_only: true,
|
||||
};
|
||||
|
||||
let source = get_suitable_source_in_workspace(world, &path).unwrap();
|
||||
|
||||
let result = request.request(source, PositionEncoding::Utf16);
|
||||
assert_snapshot!(JsonRepr::new_pure(result.unwrap()), @r###"
|
||||
[
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endLine": 0,
|
||||
"startCharacter": 9,
|
||||
"startLine": 0
|
||||
},
|
||||
{
|
||||
"collapsedText": "",
|
||||
"endLine": 3,
|
||||
"startCharacter": 10,
|
||||
"startLine": 1
|
||||
}
|
||||
]
|
||||
"###);
|
||||
assert_snapshot!(JsonRepr::new_pure(result.unwrap()));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue