1use super::Platform;
2
3pub struct TestPlatform;
4
5impl TestPlatform {
6 pub fn new() -> Self {
7 TestPlatform
8 }
9}
10
11impl Platform for TestPlatform {
12 fn executor(&self) -> std::rc::Rc<crate::ForegroundExecutor> {
13 todo!()
14 }
15
16 fn text_system(&self) -> std::sync::Arc<dyn crate::PlatformTextSystem> {
17 todo!()
18 }
19
20 fn run(&self, on_finish_launching: Box<dyn FnOnce()>) {
21 todo!()
22 }
23
24 fn quit(&self) {
25 todo!()
26 }
27
28 fn restart(&self) {
29 todo!()
30 }
31
32 fn activate(&self, ignoring_other_apps: bool) {
33 todo!()
34 }
35
36 fn hide(&self) {
37 todo!()
38 }
39
40 fn hide_other_apps(&self) {
41 todo!()
42 }
43
44 fn unhide_other_apps(&self) {
45 todo!()
46 }
47
48 fn screens(&self) -> Vec<std::rc::Rc<dyn crate::PlatformScreen>> {
49 todo!()
50 }
51
52 fn screen_by_id(&self, id: uuid::Uuid) -> Option<std::rc::Rc<dyn crate::PlatformScreen>> {
53 todo!()
54 }
55
56 fn main_window(&self) -> Option<crate::AnyWindowHandle> {
57 todo!()
58 }
59
60 fn open_window(
61 &self,
62 handle: crate::AnyWindowHandle,
63 options: crate::WindowOptions,
64 ) -> Box<dyn crate::PlatformWindow> {
65 todo!()
66 }
67
68 fn open_url(&self, url: &str) {
69 todo!()
70 }
71
72 fn on_open_urls(&self, callback: Box<dyn FnMut(Vec<String>)>) {
73 todo!()
74 }
75
76 fn prompt_for_paths(
77 &self,
78 options: crate::PathPromptOptions,
79 ) -> futures::channel::oneshot::Receiver<Option<Vec<std::path::PathBuf>>> {
80 todo!()
81 }
82
83 fn prompt_for_new_path(
84 &self,
85 directory: &std::path::Path,
86 ) -> futures::channel::oneshot::Receiver<Option<std::path::PathBuf>> {
87 todo!()
88 }
89
90 fn reveal_path(&self, path: &std::path::Path) {
91 todo!()
92 }
93
94 fn on_become_active(&self, callback: Box<dyn FnMut()>) {
95 todo!()
96 }
97
98 fn on_resign_active(&self, callback: Box<dyn FnMut()>) {
99 todo!()
100 }
101
102 fn on_quit(&self, callback: Box<dyn FnMut()>) {
103 todo!()
104 }
105
106 fn on_reopen(&self, callback: Box<dyn FnMut()>) {
107 todo!()
108 }
109
110 fn on_event(&self, callback: Box<dyn FnMut(crate::Event) -> bool>) {
111 todo!()
112 }
113
114 fn os_name(&self) -> &'static str {
115 todo!()
116 }
117
118 fn os_version(&self) -> anyhow::Result<crate::SemanticVersion> {
119 todo!()
120 }
121
122 fn app_version(&self) -> anyhow::Result<crate::SemanticVersion> {
123 todo!()
124 }
125
126 fn app_path(&self) -> anyhow::Result<std::path::PathBuf> {
127 todo!()
128 }
129
130 fn local_timezone(&self) -> time::UtcOffset {
131 todo!()
132 }
133
134 fn path_for_auxiliary_executable(&self, name: &str) -> anyhow::Result<std::path::PathBuf> {
135 todo!()
136 }
137
138 fn set_cursor_style(&self, style: crate::CursorStyle) {
139 todo!()
140 }
141
142 fn should_auto_hide_scrollbars(&self) -> bool {
143 todo!()
144 }
145
146 fn write_to_clipboard(&self, item: crate::ClipboardItem) {
147 todo!()
148 }
149
150 fn read_from_clipboard(&self) -> Option<crate::ClipboardItem> {
151 todo!()
152 }
153
154 fn write_credentials(&self, url: &str, username: &str, password: &[u8]) -> anyhow::Result<()> {
155 todo!()
156 }
157
158 fn read_credentials(&self, url: &str) -> anyhow::Result<Option<(String, Vec<u8>)>> {
159 todo!()
160 }
161
162 fn delete_credentials(&self, url: &str) -> anyhow::Result<()> {
163 todo!()
164 }
165}