Enable tests for MentionsEditor
This commit is contained in:
parent
e4bc346723
commit
f3b764b7d2
1 changed files with 85 additions and 87 deletions
|
@ -203,98 +203,96 @@ impl Render for MessageEditor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// #[cfg(test)]
|
#[cfg(test)]
|
||||||
// mod tests {
|
mod tests {
|
||||||
// use super::*;
|
use super::*;
|
||||||
// use client::{Client, User, UserStore};
|
use client::{Client, User, UserStore};
|
||||||
// use gpui::{TestAppContext, WindowHandle};
|
use gpui::{Context as _, TestAppContext, VisualContext as _};
|
||||||
// use language::{Language, LanguageConfig};
|
use language::{Language, LanguageConfig};
|
||||||
// use rpc::proto;
|
use rpc::proto;
|
||||||
// use settings::SettingsStore;
|
use settings::SettingsStore;
|
||||||
// use util::{http::FakeHttpClient, test::marked_text_ranges};
|
use util::{http::FakeHttpClient, test::marked_text_ranges};
|
||||||
|
|
||||||
// #[gpui::test]
|
#[gpui::test]
|
||||||
// async fn test_message_editor(cx: &mut TestAppContext) {
|
async fn test_message_editor(cx: &mut TestAppContext) {
|
||||||
// let editor = init_test(cx);
|
let language_registry = init_test(cx);
|
||||||
// let editor = editor.root(cx);
|
|
||||||
|
|
||||||
// editor.update(cx, |editor, cx| {
|
let (editor, cx) = cx.add_window_view(|cx| {
|
||||||
// editor.set_members(
|
MessageEditor::new(
|
||||||
// vec![
|
language_registry,
|
||||||
// ChannelMembership {
|
ChannelStore::global(cx),
|
||||||
// user: Arc::new(User {
|
cx.build_view(|cx| Editor::auto_height(4, cx)),
|
||||||
// github_login: "a-b".into(),
|
cx,
|
||||||
// id: 101,
|
)
|
||||||
// avatar: None,
|
});
|
||||||
// }),
|
cx.executor().run_until_parked();
|
||||||
// kind: proto::channel_member::Kind::Member,
|
|
||||||
// role: proto::ChannelRole::Member,
|
|
||||||
// },
|
|
||||||
// ChannelMembership {
|
|
||||||
// user: Arc::new(User {
|
|
||||||
// github_login: "C_D".into(),
|
|
||||||
// id: 102,
|
|
||||||
// avatar: None,
|
|
||||||
// }),
|
|
||||||
// kind: proto::channel_member::Kind::Member,
|
|
||||||
// role: proto::ChannelRole::Member,
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// cx,
|
|
||||||
// );
|
|
||||||
|
|
||||||
// editor.editor.update(cx, |editor, cx| {
|
editor.update(cx, |editor, cx| {
|
||||||
// editor.set_text("Hello, @a-b! Have you met @C_D?", cx)
|
editor.set_members(
|
||||||
// });
|
vec![
|
||||||
// });
|
ChannelMembership {
|
||||||
|
user: Arc::new(User {
|
||||||
|
github_login: "a-b".into(),
|
||||||
|
id: 101,
|
||||||
|
avatar: None,
|
||||||
|
}),
|
||||||
|
kind: proto::channel_member::Kind::Member,
|
||||||
|
role: proto::ChannelRole::Member,
|
||||||
|
},
|
||||||
|
ChannelMembership {
|
||||||
|
user: Arc::new(User {
|
||||||
|
github_login: "C_D".into(),
|
||||||
|
id: 102,
|
||||||
|
avatar: None,
|
||||||
|
}),
|
||||||
|
kind: proto::channel_member::Kind::Member,
|
||||||
|
role: proto::ChannelRole::Member,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
cx,
|
||||||
|
);
|
||||||
|
|
||||||
// cx.foreground().advance_clock(MENTIONS_DEBOUNCE_INTERVAL);
|
editor.editor.update(cx, |editor, cx| {
|
||||||
|
editor.set_text("Hello, @a-b! Have you met @C_D?", cx)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// editor.update(cx, |editor, cx| {
|
cx.executor().advance_clock(MENTIONS_DEBOUNCE_INTERVAL);
|
||||||
// let (text, ranges) = marked_text_ranges("Hello, «@a-b»! Have you met «@C_D»?", false);
|
|
||||||
// assert_eq!(
|
|
||||||
// editor.take_message(cx),
|
|
||||||
// MessageParams {
|
|
||||||
// text,
|
|
||||||
// mentions: vec![(ranges[0].clone(), 101), (ranges[1].clone(), 102)],
|
|
||||||
// }
|
|
||||||
// );
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn init_test(cx: &mut TestAppContext) -> WindowHandle<MessageEditor> {
|
editor.update(cx, |editor, cx| {
|
||||||
// cx.foreground().forbid_parking();
|
let (text, ranges) = marked_text_ranges("Hello, «@a-b»! Have you met «@C_D»?", false);
|
||||||
|
assert_eq!(
|
||||||
|
editor.take_message(cx),
|
||||||
|
MessageParams {
|
||||||
|
text,
|
||||||
|
mentions: vec![(ranges[0].clone(), 101), (ranges[1].clone(), 102)],
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// cx.update(|cx| {
|
fn init_test(cx: &mut TestAppContext) -> Arc<LanguageRegistry> {
|
||||||
// let http = FakeHttpClient::with_404_response();
|
cx.update(|cx| {
|
||||||
// let client = Client::new(http.clone(), cx);
|
let http = FakeHttpClient::with_404_response();
|
||||||
// let user_store = cx.add_model(|cx| UserStore::new(client.clone(), http, cx));
|
let client = Client::new(http.clone(), cx);
|
||||||
// cx.set_global(SettingsStore::test(cx));
|
let user_store = cx.build_model(|cx| UserStore::new(client.clone(), http, cx));
|
||||||
// theme::init((), cx);
|
let settings = SettingsStore::test(cx);
|
||||||
// language::init(cx);
|
cx.set_global(settings);
|
||||||
// editor::init(cx);
|
theme::init(theme::LoadThemes::JustBase, cx);
|
||||||
// client::init(&client, cx);
|
language::init(cx);
|
||||||
// channel::init(&client, user_store, cx);
|
editor::init(cx);
|
||||||
// });
|
client::init(&client, cx);
|
||||||
|
channel::init(&client, user_store, cx);
|
||||||
|
});
|
||||||
|
|
||||||
// let language_registry = Arc::new(LanguageRegistry::test());
|
let language_registry = Arc::new(LanguageRegistry::test());
|
||||||
// language_registry.add(Arc::new(Language::new(
|
language_registry.add(Arc::new(Language::new(
|
||||||
// LanguageConfig {
|
LanguageConfig {
|
||||||
// name: "Markdown".into(),
|
name: "Markdown".into(),
|
||||||
// ..Default::default()
|
..Default::default()
|
||||||
// },
|
},
|
||||||
// Some(tree_sitter_markdown::language()),
|
Some(tree_sitter_markdown::language()),
|
||||||
// )));
|
)));
|
||||||
|
language_registry
|
||||||
// let editor = cx.add_window(|cx| {
|
}
|
||||||
// MessageEditor::new(
|
}
|
||||||
// language_registry,
|
|
||||||
// ChannelStore::global(cx),
|
|
||||||
// cx.add_view(|cx| Editor::auto_height(4, cx)),
|
|
||||||
// cx,
|
|
||||||
// )
|
|
||||||
// });
|
|
||||||
// cx.foreground().run_until_parked();
|
|
||||||
// editor
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue