jabba_cpc/
clipboard.rs

1use jabba_lib::jclipboard;
2
3pub fn set_text(text: &str) {
4    jclipboard::check();  // may panic
5
6    jclipboard::set_text(text).unwrap();
7}
8
9#[allow(dead_code)]
10pub fn get_text() -> String {
11    jclipboard::get_text().unwrap()
12}
13
14#[allow(dead_code)]
15pub fn clear() {
16    set_text("");
17}
18
19// ==========================================================================
20
21#[cfg(test)]
22mod tests {
23    use super::*;
24
25    #[test]
26    fn set_text_and_get_text_test() {
27        let backup = get_text();
28        //
29        let text = "";
30        set_text(text);
31        assert_eq!(get_text(), text);
32        //
33        let text = "a";
34        set_text(text);
35        assert_eq!(get_text(), text);
36        //
37        let text = "hello";
38        set_text(text);
39        assert_eq!(get_text(), text);
40        //
41        set_text(&backup);
42        assert_eq!(get_text(), backup);
43    }
44
45    #[test]
46    fn clear_test() {
47        let backup = get_text();
48        //
49        clear();
50        assert_eq!(get_text(), "");
51        //
52        set_text(&backup);
53        assert_eq!(get_text(), backup);
54    }
55}