diff options
author | Norbert Preining <norbert@preining.info> | 2019-12-03 03:01:24 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-12-03 03:01:24 +0000 |
commit | b8d4bb76703bcb15578e2b23c5d256532180b894 (patch) | |
tree | bedd1df7a00521a2bd986b3c0289d6556a59e39b /support/texlab/tests/test_diagnostics_bibtex.rs | |
parent | 02e4625a78a5029e8b5dc2a4ec70193b232f497e (diff) |
CTAN sync 201912030301
Diffstat (limited to 'support/texlab/tests/test_diagnostics_bibtex.rs')
-rw-r--r-- | support/texlab/tests/test_diagnostics_bibtex.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/support/texlab/tests/test_diagnostics_bibtex.rs b/support/texlab/tests/test_diagnostics_bibtex.rs new file mode 100644 index 0000000000..8198e9c152 --- /dev/null +++ b/support/texlab/tests/test_diagnostics_bibtex.rs @@ -0,0 +1,36 @@ +pub mod support; + +use lsp_types::*; +use std::sync::Arc; +use support::*; +use texlab::diagnostics::BibtexErrorCode; + +#[tokio::test] +async fn did_change_update() { + let scenario = Scenario::new("diagnostics/bibtex", Arc::new(Box::new(tex::Unknown))); + scenario.open("foo.bib").await; + { + let diagnostics_by_uri = scenario.client.diagnostics_by_uri.lock().await; + let diagnostics = &diagnostics_by_uri[&scenario.uri("foo.bib")]; + assert_eq!(diagnostics.len(), 1); + assert_eq!( + diagnostics[0].message, + BibtexErrorCode::MissingBeginBrace.message() + ); + assert_eq!(diagnostics[0].range.start.line, 0); + } + let params = DidChangeTextDocumentParams { + text_document: VersionedTextDocumentIdentifier::new(scenario.uri("foo.bib").into(), 0), + content_changes: vec![TextDocumentContentChangeEvent { + range: None, + range_length: None, + text: "@article{foo,}\n".into(), + }], + }; + scenario.server.execute(|svr| svr.did_change(params)).await; + { + let diagnostics_by_uri = scenario.client.diagnostics_by_uri.lock().await; + let diagnostics = &diagnostics_by_uri[&scenario.uri("foo.bib")]; + assert_eq!(diagnostics.len(), 0); + } +} |