| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/mediastream/MediaConstraintsImpl.h" | 5 #include "modules/mediastream/MediaConstraintsImpl.h" |
| 6 #include "modules/mediastream/MediaTrackConstraints.h" | 6 #include "modules/mediastream/MediaTrackConstraints.h" |
| 7 #include "public/platform/WebMediaConstraints.h" | 7 #include "public/platform/WebMediaConstraints.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 namespace blink { | 10 namespace blink { |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 ASSERT_EQ("foo", output.basic().facingMode.ideal()[0]); | 188 ASSERT_EQ("foo", output.basic().facingMode.ideal()[0]); |
| 189 | 189 |
| 190 // Convert this back, and see that it appears as a single string. | 190 // Convert this back, and see that it appears as a single string. |
| 191 MediaTrackConstraints recycled; | 191 MediaTrackConstraints recycled; |
| 192 MediaConstraintsImpl::convertConstraints(output, recycled); | 192 MediaConstraintsImpl::convertConstraints(output, recycled); |
| 193 ASSERT_TRUE(recycled.hasFacingMode()); | 193 ASSERT_TRUE(recycled.hasFacingMode()); |
| 194 ASSERT_TRUE(recycled.facingMode().isString()); | 194 ASSERT_TRUE(recycled.facingMode().isString()); |
| 195 ASSERT_EQ("foo", recycled.facingMode().getAsString()); | 195 ASSERT_EQ("foo", recycled.facingMode().getAsString()); |
| 196 } | 196 } |
| 197 | 197 |
| 198 TEST(MediaTrackConstraintsTest, NakedIsExactInAdvanced) { |
| 199 MediaTrackConstraints input; |
| 200 WebMediaConstraints output; |
| 201 StringOrStringSequenceOrConstrainDOMStringParameters parameter; |
| 202 parameter.setString("foo"); |
| 203 input.setFacingMode(parameter); |
| 204 HeapVector<MediaTrackConstraintSet> advanced(1); |
| 205 advanced[0].setFacingMode(parameter); |
| 206 input.setAdvanced(advanced); |
| 207 output = MediaConstraintsImpl::convertConstraintsToWeb(input); |
| 208 |
| 209 ASSERT_TRUE(output.basic().facingMode.hasIdeal()); |
| 210 ASSERT_FALSE(output.basic().facingMode.hasExact()); |
| 211 ASSERT_EQ(1U, output.basic().facingMode.ideal().size()); |
| 212 ASSERT_EQ("foo", output.basic().facingMode.ideal()[0]); |
| 213 |
| 214 ASSERT_FALSE(output.advanced()[0].facingMode.hasIdeal()); |
| 215 ASSERT_TRUE(output.advanced()[0].facingMode.hasExact()); |
| 216 ASSERT_EQ(1U, output.advanced()[0].facingMode.exact().size()); |
| 217 ASSERT_EQ("foo", output.advanced()[0].facingMode.exact()[0]); |
| 218 } |
| 219 |
| 220 TEST(MediaTrackConstraintsTest, IdealAndExactConvertToNaked) { |
| 221 WebMediaConstraints input; |
| 222 MediaTrackConstraints output; |
| 223 |
| 224 WebVector<WebString> buffer(static_cast<size_t>(1u)); |
| 225 |
| 226 WebMediaTrackConstraintSet basic; |
| 227 WebMediaTrackConstraintSet advancedElement1; |
| 228 WebMediaTrackConstraintSet advancedElement2; |
| 229 buffer[0] = "ideal"; |
| 230 basic.facingMode.setIdeal(buffer); |
| 231 advancedElement1.facingMode.setIdeal(buffer); |
| 232 buffer[0] = "exact"; |
| 233 advancedElement2.facingMode.setExact(buffer); |
| 234 std::vector<WebMediaTrackConstraintSet> advanced; |
| 235 advanced.push_back(advancedElement1); |
| 236 advanced.push_back(advancedElement2); |
| 237 input.initialize(basic, advanced); |
| 238 MediaConstraintsImpl::convertConstraints(input, output); |
| 239 // The first element should return a ConstrainDOMStringParameters |
| 240 // with an "ideal" value containing a String value of "ideal". |
| 241 // The second element should return a ConstrainDOMStringParameters |
| 242 // with a String value of "exact". |
| 243 ASSERT_TRUE(output.hasAdvanced()); |
| 244 ASSERT_EQ(2U, output.advanced().size()); |
| 245 MediaTrackConstraintSet element1 = output.advanced()[0]; |
| 246 MediaTrackConstraintSet element2 = output.advanced()[1]; |
| 247 |
| 248 ASSERT_TRUE(output.hasFacingMode()); |
| 249 ASSERT_TRUE(output.facingMode().isString()); |
| 250 EXPECT_EQ("ideal", output.facingMode().getAsString()); |
| 251 |
| 252 ASSERT_TRUE(element1.hasFacingMode()); |
| 253 ASSERT_TRUE(element1.facingMode().isConstrainDOMStringParameters()); |
| 254 EXPECT_EQ("ideal", element1.facingMode() |
| 255 .getAsConstrainDOMStringParameters() |
| 256 .ideal() |
| 257 .getAsString()); |
| 258 |
| 259 ASSERT_TRUE(element2.hasFacingMode()); |
| 260 ASSERT_TRUE(element2.facingMode().isString()); |
| 261 EXPECT_EQ("exact", element2.facingMode().getAsString()); |
| 262 } |
| 263 |
| 198 } // namespace blink | 264 } // namespace blink |
| OLD | NEW |