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