action_macros.rs

 1use gpui::{actions, impl_actions};
 2use gpui_macros::register_action;
 3use schemars::JsonSchema;
 4use serde_derive::Deserialize;
 5
 6#[test]
 7fn test_action_macros() {
 8    actions!(test, [TestAction]);
 9
10    #[derive(PartialEq, Clone, Deserialize, JsonSchema)]
11    struct AnotherTestAction;
12
13    impl_actions!(test, [AnotherTestAction]);
14
15    #[derive(PartialEq, Clone, gpui::private::serde_derive::Deserialize)]
16    struct RegisterableAction {}
17
18    register_action!(RegisterableAction);
19
20    impl gpui::Action for RegisterableAction {
21        fn boxed_clone(&self) -> Box<dyn gpui::Action> {
22            unimplemented!()
23        }
24
25        fn partial_eq(&self, _action: &dyn gpui::Action) -> bool {
26            unimplemented!()
27        }
28
29        fn name(&self) -> &str {
30            unimplemented!()
31        }
32
33        fn debug_name() -> &'static str
34        where
35            Self: Sized,
36        {
37            unimplemented!()
38        }
39
40        fn build(_value: serde_json::Value) -> anyhow::Result<Box<dyn gpui::Action>>
41        where
42            Self: Sized,
43        {
44            unimplemented!()
45        }
46    }
47}