summaryrefslogtreecommitdiff
path: root/support/texlab/tests/test_definition_latex_citation.rs
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/tests/test_definition_latex_citation.rs')
-rw-r--r--support/texlab/tests/test_definition_latex_citation.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/support/texlab/tests/test_definition_latex_citation.rs b/support/texlab/tests/test_definition_latex_citation.rs
new file mode 100644
index 0000000000..20c39dfe9d
--- /dev/null
+++ b/support/texlab/tests/test_definition_latex_citation.rs
@@ -0,0 +1,27 @@
+pub mod support;
+
+use lsp_types::Range;
+use support::definition::*;
+use texlab::range::RangeExt;
+
+const SCENARIO: &str = "latex/citation";
+
+#[tokio::test]
+async fn link() {
+ let (scenario, mut links) = run_link(SCENARIO, "foo.tex", 1, 7).await;
+ assert_eq!(links.len(), 1);
+ let link = links.pop().unwrap();
+ verify::origin_selection_range(&link, 1, 6, 1, 9);
+ assert_eq!(link.target_uri, scenario.uri("bar.bib").into());
+ assert_eq!(link.target_range, Range::new_simple(2, 0, 2, 14));
+ assert_eq!(link.target_selection_range, Range::new_simple(2, 9, 2, 12));
+}
+
+#[tokio::test]
+async fn location() {
+ let (scenario, mut locations) = run_location(SCENARIO, "foo.tex", 1, 7).await;
+ assert_eq!(locations.len(), 1);
+ let location = locations.pop().unwrap();
+ assert_eq!(location.uri, scenario.uri("bar.bib").into());
+ assert_eq!(location.range, Range::new_simple(2, 9, 2, 12));
+}