thirtyfour/common/capabilities/
ie.rs1use serde::Serialize;
2use serde_json::{json, Value};
3
4use crate::{BrowserCapabilitiesHelper, Capabilities, CapabilitiesHelper};
5
6#[derive(Debug, Clone, Serialize)]
8#[serde(transparent)]
9pub struct InternetExplorerCapabilities {
10 capabilities: Capabilities,
11}
12
13impl Default for InternetExplorerCapabilities {
14 fn default() -> Self {
15 Self::new()
16 }
17}
18
19impl InternetExplorerCapabilities {
20 pub fn new() -> Self {
22 let mut capabilities = Capabilities::new();
23 capabilities.insert("browserName".to_string(), json!("internet explorer"));
24 InternetExplorerCapabilities {
25 capabilities,
26 }
27 }
28}
29
30impl From<InternetExplorerCapabilities> for Capabilities {
31 fn from(caps: InternetExplorerCapabilities) -> Capabilities {
32 caps.capabilities
33 }
34}
35
36impl CapabilitiesHelper for InternetExplorerCapabilities {
37 fn _get(&self, key: &str) -> Option<&Value> {
38 self.capabilities._get(key)
39 }
40
41 fn _get_mut(&mut self, key: &str) -> Option<&mut Value> {
42 self.capabilities._get_mut(key)
43 }
44
45 fn insert_base_capability(&mut self, key: String, value: Value) {
46 self.capabilities.insert_base_capability(key, value);
47 }
48}
49
50impl BrowserCapabilitiesHelper for InternetExplorerCapabilities {
51 const KEY: &'static str = "se:ieOptions";
52}