/// <summary>
        /// Returns the current options as a <see cref="Dictionary{TKey, TValue}"/>.
        /// </summary>
        /// <returns>The current options as a <see cref="Dictionary{TKey, TValue}"/>.</returns>
        internal IDictionary <string, object> ToDictionary()
        {
            IHasCapabilitiesDictionary desired = this.ToCapabilities() as IHasCapabilitiesDictionary;

            if (desired == null)
            {
                return(null);
            }

            return(desired.CapabilitiesDictionary);
        }
Exemple #2
0
        /// <summary>
        /// Gets the capabilities as a dictionary.
        /// </summary>
        /// <param name="capabilitiesToConvert">The dictionary to return.</param>
        /// <returns>A Dictionary consisting of the capabilities requested.</returns>
        /// <remarks>This method is only transitional. Do not rely on it. It will be removed
        /// once browser driver capability formats stabilize.</remarks>
        protected virtual Dictionary <string, object> GetCapabilitiesDictionary(ICapabilities capabilitiesToConvert)
        {
            Dictionary <string, object> capabilitiesDictionary = new Dictionary <string, object>();
            IHasCapabilitiesDictionary  capabilitiesObject     = capabilitiesToConvert as IHasCapabilitiesDictionary;

            foreach (KeyValuePair <string, object> entry in capabilitiesObject.CapabilitiesDictionary)
            {
                if (CapabilityType.IsSpecCompliantCapabilityName(entry.Key))
                {
                    capabilitiesDictionary.Add(entry.Key, entry.Value);
                }
            }

            return(capabilitiesDictionary);
        }
        /// <summary>
        /// Gets the capabilities as a dictionary supporting legacy drivers.
        /// </summary>
        /// <param name="legacyCapabilities">The dictionary to return.</param>
        /// <returns>A Dictionary consisting of the capabilities requested.</returns>
        /// <remarks>This method is only transitional. Do not rely on it. It will be removed
        /// once browser driver capability formats stabilize.</remarks>
        protected override Dictionary <string, object> GetLegacyCapabilitiesDictionary(ICapabilities legacyCapabilities)
        {
            // Flatten the dictionary, if required to support old versions of the IE driver.
            Dictionary <string, object> capabilitiesDictionary = new Dictionary <string, object>();
            IHasCapabilitiesDictionary  capabilitiesObject     = legacyCapabilities as IHasCapabilitiesDictionary;

            foreach (KeyValuePair <string, object> entry in capabilitiesObject.CapabilitiesDictionary)
            {
                if (entry.Key == InternetExplorerOptions.Capability)
                {
                    Dictionary <string, object> internetExplorerOptions = entry.Value as Dictionary <string, object>;
                    foreach (KeyValuePair <string, object> option in internetExplorerOptions)
                    {
                        capabilitiesDictionary.Add(option.Key, option.Value);
                    }
                }
                else
                {
                    capabilitiesDictionary.Add(entry.Key, entry.Value);
                }
            }

            return(capabilitiesDictionary);
        }
Exemple #4
0
        /// <summary>
        /// Returns the current options as a <see cref="Dictionary{TKey, TValue}"/>.
        /// </summary>
        /// <returns>The current options as a <see cref="Dictionary{TKey, TValue}"/>.</returns>
        internal Dictionary <string, object> ToDictionary()
        {
            IHasCapabilitiesDictionary desired = this.ToCapabilities() as IHasCapabilitiesDictionary;

            return(desired.CapabilitiesDictionary);
        }