summaryrefslogtreecommitdiff
path: root/support/texlab/src/features/completion/entry_type.rs
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/src/features/completion/entry_type.rs')
-rw-r--r--support/texlab/src/features/completion/entry_type.rs200
1 files changed, 1 insertions, 199 deletions
diff --git a/support/texlab/src/features/completion/entry_type.rs b/support/texlab/src/features/completion/entry_type.rs
index 06180dd8cc..519737ed08 100644
--- a/support/texlab/src/features/completion/entry_type.rs
+++ b/support/texlab/src/features/completion/entry_type.rs
@@ -13,7 +13,7 @@ pub fn complete_entry_types<'a>(
.cursor
.as_bibtex()
.filter(|token| token.kind() == bibtex::TYPE)
- .map(|token| token.text_range())
+ .map(bibtex::SyntaxToken::text_range)
.filter(|range| range.start() != context.offset)
.map(|range| TextRange::new(range.start() + TextSize::from(1), range.end()))?;
@@ -25,201 +25,3 @@ pub fn complete_entry_types<'a>(
Some(())
}
-
-#[cfg(test)]
-mod tests {
- use crate::features::testing::FeatureTester;
-
- use super::*;
-
- #[test]
- fn test_empty_latex_document() {
- let request = FeatureTester::builder()
- .files(vec![("main.tex", "")])
- .main("main.tex")
- .line(0)
- .character(0)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(actual_items.is_empty());
- }
-
- #[test]
- fn test_empty_bibtex_document() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "")])
- .main("main.bib")
- .line(0)
- .character(0)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(actual_items.is_empty());
- }
-
- #[test]
- fn test_at_empty() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@")])
- .main("main.bib")
- .line(0)
- .character(1)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(!actual_items.is_empty());
- for item in actual_items {
- assert_eq!(item.range, TextRange::new(1.into(), 1.into()));
- }
- }
-
- #[test]
- fn test_before_preamble() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@preamble")])
- .main("main.bib")
- .line(0)
- .character(1)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(!actual_items.is_empty());
- for item in actual_items {
- assert_eq!(item.range, TextRange::new(1.into(), 9.into()));
- }
- }
-
- #[test]
- fn test_before_string() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@string")])
- .main("main.bib")
- .line(0)
- .character(1)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(!actual_items.is_empty());
- for item in actual_items {
- assert_eq!(item.range, TextRange::new(1.into(), 7.into()));
- }
- }
-
- #[test]
- fn test_before_article() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@article")])
- .main("main.bib")
- .line(0)
- .character(1)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(!actual_items.is_empty());
- for item in actual_items {
- assert_eq!(item.range, TextRange::new(1.into(), 8.into()));
- }
- }
-
- #[test]
- fn test_after_preamble() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@preamble{")])
- .main("main.bib")
- .line(0)
- .character(9)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(!actual_items.is_empty());
- for item in actual_items {
- assert_eq!(item.range, TextRange::new(1.into(), 9.into()));
- }
- }
-
- #[test]
- fn test_after_string() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@string{")])
- .main("main.bib")
- .line(0)
- .character(7)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(!actual_items.is_empty());
- for item in actual_items {
- assert_eq!(item.range, TextRange::new(1.into(), 7.into()));
- }
- }
-
- #[test]
- fn test_complete_entry() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@article{foo, author = {foo}}")])
- .main("main.bib")
- .line(0)
- .character(3)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(!actual_items.is_empty());
- for item in actual_items {
- assert_eq!(item.range, TextRange::new(1.into(), 8.into()));
- }
- }
-
- #[test]
- fn test_complete_entry_field() {
- let request = FeatureTester::builder()
- .files(vec![("main.bib", "@article{foo, author = {foo}}")])
- .main("main.bib")
- .line(0)
- .character(17)
- .build()
- .completion();
-
- let context = CursorContext::new(request);
- let mut actual_items = Vec::new();
- complete_entry_types(&context, &mut actual_items);
-
- assert!(actual_items.is_empty());
- }
-}