Add a test
This commit is contained in:
parent
c640c2ea11
commit
35bfeaf4af
@ -310,9 +310,12 @@ fn html_escape(text: &str) -> String {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::mock_analysis::single_file;
|
use std::fs;
|
||||||
|
|
||||||
use test_utils::{assert_eq_text, project_dir, read_text};
|
use test_utils::{assert_eq_text, project_dir, read_text};
|
||||||
|
|
||||||
|
use crate::mock_analysis::{single_file, MockAnalysis};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn te3st_highlighting() {
|
fn te3st_highlighting() {
|
||||||
let (analysis, file_id) = single_file(
|
let (analysis, file_id) = single_file(
|
||||||
@ -359,7 +362,7 @@ fn new<T>() -> E<T> {}
|
|||||||
let dst_file = project_dir().join("crates/ra_ide/src/snapshots/highlighting.html");
|
let dst_file = project_dir().join("crates/ra_ide/src/snapshots/highlighting.html");
|
||||||
let actual_html = &analysis.highlight_as_html(file_id, false).unwrap();
|
let actual_html = &analysis.highlight_as_html(file_id, false).unwrap();
|
||||||
let expected_html = &read_text(&dst_file);
|
let expected_html = &read_text(&dst_file);
|
||||||
std::fs::write(dst_file, &actual_html).unwrap();
|
fs::write(dst_file, &actual_html).unwrap();
|
||||||
assert_eq_text!(expected_html, actual_html);
|
assert_eq_text!(expected_html, actual_html);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -385,7 +388,21 @@ fn bar() {
|
|||||||
let dst_file = project_dir().join("crates/ra_ide/src/snapshots/rainbow_highlighting.html");
|
let dst_file = project_dir().join("crates/ra_ide/src/snapshots/rainbow_highlighting.html");
|
||||||
let actual_html = &analysis.highlight_as_html(file_id, true).unwrap();
|
let actual_html = &analysis.highlight_as_html(file_id, true).unwrap();
|
||||||
let expected_html = &read_text(&dst_file);
|
let expected_html = &read_text(&dst_file);
|
||||||
std::fs::write(dst_file, &actual_html).unwrap();
|
fs::write(dst_file, &actual_html).unwrap();
|
||||||
assert_eq_text!(expected_html, actual_html);
|
assert_eq_text!(expected_html, actual_html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn accidentally_quadratic() {
|
||||||
|
let file = project_dir().join("crates/ra_syntax/test_data/accidentally_quadratic");
|
||||||
|
let src = fs::read_to_string(file).unwrap();
|
||||||
|
|
||||||
|
let mut mock = MockAnalysis::new();
|
||||||
|
let file_id = mock.add_file("/main.rs", &src);
|
||||||
|
let host = mock.analysis_host();
|
||||||
|
|
||||||
|
// let t = std::time::Instant::now();
|
||||||
|
let _ = host.analysis().highlight(file_id).unwrap();
|
||||||
|
// eprintln!("elapsed: {:?}", t.elapsed());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
3980
crates/ra_syntax/test_data/accidentally_quadratic
Normal file
3980
crates/ra_syntax/test_data/accidentally_quadratic
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user