summaryrefslogtreecommitdiff
path: root/support/texlab/tests/it/hover.rs
blob: 70b14cccd019ad2ee95cf84f6317f5976e84f9f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
use anyhow::Result;
use insta::assert_json_snapshot;
use lsp_types::ClientCapabilities;

use crate::common::ServerTester;

#[test]
fn test_empty_bibtex_document() -> Result<()> {
    let server = ServerTester::launch_new_instance()?;
    server.initialize(ClientCapabilities::default(), None)?;
    let uri = server.open("main.bib", "", "bibtex", false)?;
    assert_json_snapshot!(server.hover(uri, 0, 0)?);
    Ok(())
}

#[test]
fn test_empty_labtex_document() -> Result<()> {
    let server = ServerTester::launch_new_instance()?;
    server.initialize(ClientCapabilities::default(), None)?;
    let uri = server.open("main.tex", "", "latex", false)?;
    assert_json_snapshot!(server.hover(uri, 0, 0)?);
    Ok(())
}

#[test]
fn test_label_theorem_child_file() -> Result<()> {
    let server = ServerTester::launch_new_instance()?;
    server.initialize(ClientCapabilities::default(), None)?;
    let uri = server.open(
        "main.tex",
        r#"
            \documentclass{article}
            \newtheorem{lemma}{Lemma}
            \include{child}
            \ref{thm:foo}
        "#,
        "latex",
        false,
    )?;
    server.open(
        "child.tex",
        r#"
            \begin{lemma}\label{thm:foo}
                1 + 1 = 2
            \end{lemma}
        "#,
        "latex",
        false,
    )?;

    assert_json_snapshot!(server.hover(uri, 3, 8)?);
    Ok(())
}

#[test]
fn test_label_theorem_child_file_mumber() -> Result<()> {
    let server = ServerTester::launch_new_instance()?;
    server.initialize(ClientCapabilities::default(), None)?;
    let uri = server.open(
        "main.tex",
        r#"
            \documentclass{article}
            \newtheorem{lemma}{Lemma}
            \include{child}
            \ref{thm:foo}
        "#,
        "latex",
        false,
    )?;
    server.open(
        "child.tex",
        r#"
            \begin{lemma}[Foo]\label{thm:foo}
                1 + 1 = 2
            \end{lemma}
        "#,
        "latex",
        false,
    )?;
    server.open(
        "child.aux",
        r#"\newlabel{thm:foo}{{1}{1}{Foo}{lemma.1}{}}"#,
        "latex",
        false,
    )?;

    assert_json_snapshot!(server.hover(uri, 3, 8)?);
    Ok(())
}