|
21 | 21 | using OpenQA.Selenium.BiDi.Modules.Script; |
22 | 22 | using System; |
23 | 23 | using System.Collections.Generic; |
| 24 | +using System.Collections.Immutable; |
| 25 | +using System.Linq; |
24 | 26 |
|
25 | 27 | namespace OpenQA.Selenium.BiDi.Script; |
26 | 28 |
|
@@ -159,6 +161,46 @@ static void AssertValue(LocalValue value) |
159 | 161 | } |
160 | 162 | } |
161 | 163 |
|
| 164 | + [Test] |
| 165 | + public void CanConvertArrayToLocalValue() |
| 166 | + { |
| 167 | + AssertValue(LocalValue.ConvertFrom(new List<int> { 1, 2 })); |
| 168 | + |
| 169 | + AssertValue(LocalValue.ConvertFrom(new string[] { "a", "b" })); |
| 170 | + |
| 171 | + static void AssertValue(LocalValue value) |
| 172 | + { |
| 173 | + Assert.That(value, Is.TypeOf<ArrayLocalValue>()); |
| 174 | + Assert.That((value as ArrayLocalValue).Value.Count, Is.EqualTo(2)); |
| 175 | + } |
| 176 | + } |
| 177 | + |
| 178 | + [Test] |
| 179 | + public void CanConvertMapToLocalValue() |
| 180 | + { |
| 181 | + AssertValue(LocalValue.ConvertFrom(new Dictionary<int, string> { { 1, "a" }, { 2, "b" } })); |
| 182 | + |
| 183 | + static void AssertValue(LocalValue value) |
| 184 | + { |
| 185 | + Assert.That(value, Is.TypeOf<MapLocalValue>()); |
| 186 | + Assert.That((value as MapLocalValue).Value.Count, Is.EqualTo(2)); |
| 187 | + } |
| 188 | + } |
| 189 | + |
| 190 | + [Test] |
| 191 | + public void CanConvertSetToLocalValue() |
| 192 | + { |
| 193 | + AssertValue(LocalValue.ConvertFrom(new HashSet<int> { 1, 2 })); |
| 194 | + |
| 195 | + AssertValue(LocalValue.ConvertFrom(ImmutableHashSet.CreateRange([1, 2]))); |
| 196 | + |
| 197 | + static void AssertValue(LocalValue value) |
| 198 | + { |
| 199 | + Assert.That(value, Is.TypeOf<SetLocalValue>()); |
| 200 | + Assert.That((value as SetLocalValue).Value.Count, Is.EqualTo(2)); |
| 201 | + } |
| 202 | + } |
| 203 | + |
162 | 204 | [Test] |
163 | 205 | public void CanConvertObjectValue() |
164 | 206 | { |
|
0 commit comments