diff options
Diffstat (limited to 'crates/ra_lsp_server/tests/heavy_tests')
-rw-r--r-- | crates/ra_lsp_server/tests/heavy_tests/main.rs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/crates/ra_lsp_server/tests/heavy_tests/main.rs b/crates/ra_lsp_server/tests/heavy_tests/main.rs index de3bd5bc5..ec075a2fd 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/main.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/main.rs | |||
@@ -414,3 +414,49 @@ fn main() {{}} | |||
414 | let elapsed = start.elapsed(); | 414 | let elapsed = start.elapsed(); |
415 | assert!(elapsed.as_millis() < 2000, "typing enter took {:?}", elapsed); | 415 | assert!(elapsed.as_millis() < 2000, "typing enter took {:?}", elapsed); |
416 | } | 416 | } |
417 | |||
418 | #[test] | ||
419 | fn preserves_dos_line_endings() { | ||
420 | let server = Project::with_fixture( | ||
421 | &r#" | ||
422 | //- Cargo.toml | ||
423 | [package] | ||
424 | name = "foo" | ||
425 | version = "0.0.0" | ||
426 | |||
427 | //- src/main.rs | ||
428 | /// Some Docs\r\nfn main() {} | ||
429 | "#, | ||
430 | ) | ||
431 | .server(); | ||
432 | |||
433 | server.request::<OnEnter>( | ||
434 | TextDocumentPositionParams { | ||
435 | text_document: server.doc_id("src/main.rs"), | ||
436 | position: Position { line: 0, character: 8 }, | ||
437 | }, | ||
438 | json!({ | ||
439 | "cursorPosition": { | ||
440 | "position": { "line": 1, "character": 4 }, | ||
441 | "textDocument": { "uri": "file:///[..]src/main.rs" } | ||
442 | }, | ||
443 | "label": "on enter", | ||
444 | "workspaceEdit": { | ||
445 | "documentChanges": [ | ||
446 | { | ||
447 | "edits": [ | ||
448 | { | ||
449 | "newText": "\r\n/// ", | ||
450 | "range": { | ||
451 | "end": { "line": 0, "character": 8 }, | ||
452 | "start": { "line": 0, "character": 8 } | ||
453 | } | ||
454 | } | ||
455 | ], | ||
456 | "textDocument": { "uri": "file:///[..]src/main.rs", "version": null } | ||
457 | } | ||
458 | ] | ||
459 | } | ||
460 | }), | ||
461 | ); | ||
462 | } | ||