Skip to content

Commit c7ae124

Browse files
committed
[IMP] use text_document and adapt create_session in tests
1 parent 089063a commit c7ae124

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

server/src/core/file_mgr.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,10 @@ impl FileInfo {
284284
if parse_test_comments {
285285
if text.starts_with("#OLS") || text.starts_with("# OLS") {
286286
let codes = text.split(",").map(|s| s.trim().trim_start_matches('#').trim().to_string()).collect::<Vec<String>>();
287-
let char = self.file_info_ast.borrow().text_rope.as_ref().unwrap().try_byte_to_char(token.start().to_usize()).expect("unable to get char from bytes");
288-
let line = self.file_info_ast.borrow().text_rope.as_ref().unwrap().try_char_to_line(char).ok().expect("unable to get line from char");
289-
self.diag_test_comments.push((line as u32, codes));
287+
let file_info_ast_ref = self.file_info_ast.borrow();
288+
let text_doc = file_info_ast_ref.text_document.as_ref().unwrap();
289+
let source_location = text_doc.index().source_location(token.start(), text_doc.contents(), encoding);
290+
self.diag_test_comments.push((source_location.line.to_zero_indexed() as u32, codes));
290291
}
291292
}
292293
},

server/tests/test_unicode.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use lsp_types::{TextDocumentContentChangeEvent, Position};
22
use odoo_ls_server::core::file_mgr::FileMgr;
33

4+
use crate::setup::setup::{create_init_session, setup_server};
5+
46
mod setup;
57

68
#[test]
@@ -9,8 +11,8 @@ mod setup;
911
/// all operations (insert, delete, insert at end) work correctly without panicking.
1012
fn test_unicode_file_lifecycle() {
1113
// Setup server and session
12-
let mut odoo = setup::setup::setup_server(false);
13-
let mut session = setup::setup::create_session(&mut odoo);
14+
let (mut odoo, config) = setup_server(false);
15+
let mut session = create_init_session(&mut odoo, config);
1416
let unicode_uri = format!("{}", std::env::current_dir().unwrap().join("data").join("test_unicode.py").display());
1517
let initial_text =
1618
"def func() -> int:

server/tests/test_untitled.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@ use odoo_ls_server::core::odoo::SyncOdoo;
44
use odoo_ls_server::features::completion::CompletionFeature;
55
use odoo_ls_server::features::hover::HoverFeature;
66
use odoo_ls_server::features::definition::DefinitionFeature;
7+
8+
use crate::setup::setup::{create_init_session, setup_server};
79
mod setup;
810

911
#[test]
1012
/// Simple test to verify LSP features on untitled files, open, change, hover, complete.
1113
fn test_untitled_file_lifecycle() {
1214
// Setup server and session
13-
let mut odoo = setup::setup::setup_server(false);
14-
let mut session = setup::setup::create_session(&mut odoo);
15+
let (mut odoo, config) = setup_server(false);
16+
let mut session = create_init_session(&mut odoo, config);
1517
let untitled_uri = "untitled:Untitled-1".to_string();
1618
let initial_text = "def foo():\n return 42\nfoo()\n";
1719

0 commit comments

Comments
 (0)