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" |
| 6 #include "modules/mediastream/MediaTrackConstraints.h" |
5 #include "public/platform/WebMediaConstraints.h" | 7 #include "public/platform/WebMediaConstraints.h" |
6 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "wtf/Vector.h" |
| 10 #include "wtf/text/WTFString.h" |
7 | 11 |
8 // The MediaTrackConstraintsTest group tests the types declared in | 12 // The MediaTrackConstraintsTest group tests the types declared in |
9 // WebKit/public/platform/WebMediaConstraints.h | 13 // WebKit/public/platform/WebMediaConstraints.h |
10 TEST(MediaTrackConstraintsTest, LongConstraint) | 14 TEST(MediaTrackConstraintsTest, LongConstraint) |
11 { | 15 { |
12 blink::LongConstraint rangeConstraint(nullptr); | 16 blink::LongConstraint rangeConstraint(nullptr); |
13 rangeConstraint.setMin(5); | 17 rangeConstraint.setMin(5); |
14 rangeConstraint.setMax(6); | 18 rangeConstraint.setMax(6); |
15 EXPECT_TRUE(rangeConstraint.matches(5)); | 19 EXPECT_TRUE(rangeConstraint.matches(5)); |
16 EXPECT_TRUE(rangeConstraint.matches(6)); | 20 EXPECT_TRUE(rangeConstraint.matches(6)); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 blink::WebMediaTrackConstraintSet basic; | 111 blink::WebMediaTrackConstraintSet basic; |
108 blink::WebVector<blink::WebMediaTrackConstraintSet> advanced(static_cast<siz
e_t>(1)); | 112 blink::WebVector<blink::WebMediaTrackConstraintSet> advanced(static_cast<siz
e_t>(1)); |
109 basic.width.setMax(240); | 113 basic.width.setMax(240); |
110 advanced[0].echoCancellation.setExact(true); | 114 advanced[0].echoCancellation.setExact(true); |
111 theConstraints.initialize(basic, advanced); | 115 theConstraints.initialize(basic, advanced); |
112 EXPECT_EQ("{width: {max: 240}, advanced: [{echoCancellation: {exact: true}}]
}", theConstraints.toString().utf8()); | 116 EXPECT_EQ("{width: {max: 240}, advanced: [{echoCancellation: {exact: true}}]
}", theConstraints.toString().utf8()); |
113 | 117 |
114 blink::WebMediaConstraints nullConstraints; | 118 blink::WebMediaConstraints nullConstraints; |
115 EXPECT_EQ("", nullConstraints.toString().utf8()); | 119 EXPECT_EQ("", nullConstraints.toString().utf8()); |
116 } | 120 } |
| 121 |
| 122 TEST(MediaTrackConstraintsTest, ConvertWebConstraintsBasic) |
| 123 { |
| 124 blink::WebMediaConstraints input; |
| 125 blink::MediaTrackConstraints output; |
| 126 |
| 127 blink::MediaConstraintsImpl::convertConstraints(input, output); |
| 128 } |
| 129 |
| 130 TEST(MediaTrackConstraintsTest, ConvertWebSingleStringConstraint) |
| 131 { |
| 132 blink::WebMediaConstraints input; |
| 133 blink::MediaTrackConstraints output; |
| 134 |
| 135 blink::WebMediaTrackConstraintSet basic; |
| 136 std::vector<blink::WebMediaTrackConstraintSet> advanced; |
| 137 |
| 138 basic.facingMode.setIdeal(WTF::Vector<WTF::String>(1, WTF::String("foo"))); |
| 139 input.initialize(basic, advanced); |
| 140 blink::MediaConstraintsImpl::convertConstraints(input, output); |
| 141 ASSERT_TRUE(output.hasFacingMode()); |
| 142 ASSERT_TRUE(output.facingMode().isString()); |
| 143 EXPECT_EQ("foo", output.facingMode().getAsString()); |
| 144 } |
| 145 |
| 146 TEST(MediaTrackConstraintsTest, ConvertWebDoubleStringConstraint) |
| 147 { |
| 148 blink::WebMediaConstraints input; |
| 149 blink::MediaTrackConstraints output; |
| 150 |
| 151 blink::WebMediaTrackConstraintSet basic; |
| 152 std::vector<blink::WebMediaTrackConstraintSet> advanced; |
| 153 WTF::Vector<WTF::String> buffer; |
| 154 buffer.append(WTF::String("foo")); |
| 155 buffer.append(WTF::String("bar")); |
| 156 |
| 157 basic.facingMode.setIdeal(buffer); |
| 158 input.initialize(basic, advanced); |
| 159 blink::MediaConstraintsImpl::convertConstraints(input, output); |
| 160 ASSERT_TRUE(output.hasFacingMode()); |
| 161 ASSERT_TRUE(output.facingMode().isStringSequence()); |
| 162 buffer = output.facingMode().getAsStringSequence(); |
| 163 EXPECT_EQ("foo", buffer[0]); |
| 164 EXPECT_EQ("bar", buffer[1]); |
| 165 } |
| 166 |
| 167 TEST(MediaTrackConstraintsTest, ConvertBlinkStringConstraint) |
| 168 { |
| 169 blink::MediaTrackConstraints input; |
| 170 blink::WebMediaConstraints output; |
| 171 blink::StringOrStringSequenceOrConstrainDOMStringParameters parameter; |
| 172 parameter.setString("foo"); |
| 173 input.setFacingMode(parameter); |
| 174 output = blink::MediaConstraintsImpl::convertConstraintsToWeb(input); |
| 175 ASSERT_TRUE(output.basic().facingMode.hasIdeal()); |
| 176 ASSERT_EQ(1U, output.basic().facingMode.ideal().size()); |
| 177 ASSERT_EQ("foo", output.basic().facingMode.ideal()[0]); |
| 178 } |
| 179 |
| 180 TEST(MediaTrackConstraintsTest, ConvertBlinkComplexStringConstraint) |
| 181 { |
| 182 blink::MediaTrackConstraints input; |
| 183 blink::WebMediaConstraints output; |
| 184 blink::StringOrStringSequenceOrConstrainDOMStringParameters parameter; |
| 185 blink::ConstrainDOMStringParameters subparameter; |
| 186 blink::StringOrStringSequence innerString; |
| 187 innerString.setString("foo"); |
| 188 subparameter.setIdeal(innerString); |
| 189 parameter.setConstrainDOMStringParameters(subparameter); |
| 190 input.setFacingMode(parameter); |
| 191 output = blink::MediaConstraintsImpl::convertConstraintsToWeb(input); |
| 192 ASSERT_TRUE(output.basic().facingMode.hasIdeal()); |
| 193 ASSERT_EQ(1U, output.basic().facingMode.ideal().size()); |
| 194 ASSERT_EQ("foo", output.basic().facingMode.ideal()[0]); |
| 195 |
| 196 // Convert this back, and see that it appears as a single string. |
| 197 blink::MediaTrackConstraints recycled; |
| 198 blink::MediaConstraintsImpl::convertConstraints(output, recycled); |
| 199 ASSERT_TRUE(recycled.hasFacingMode()); |
| 200 ASSERT_TRUE(recycled.facingMode().isString()); |
| 201 ASSERT_EQ("foo", recycled.facingMode().getAsString()); |
| 202 } |
OLD | NEW |