| Index: third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValueTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValueTest.cpp b/third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValueTest.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..012d945712a0e78db01d1f39d706e5460a9221fd
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValueTest.cpp
|
| @@ -0,0 +1,95 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "core/css/cssom/CSSTokenStreamValue.h"
|
| +
|
| +#include "core/css/cssom/CSSStyleVariableReferenceValue.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace blink {
|
| +
|
| +namespace {
|
| +
|
| +TEST(CSSTokenStreamValueTest, EmptyList)
|
| +{
|
| + HeapVector<StringOrCSSVariableReferenceValue> listOfReferences;
|
| +
|
| + CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(listOfReferences);
|
| +
|
| + EXPECT_EQ(tokenStreamValue->size(), 0UL);
|
| +}
|
| +
|
| +TEST(CSSTokenStreamValueTest, ListOfString)
|
| +{
|
| + HeapVector<StringOrCSSVariableReferenceValue> listOfReferences;
|
| +
|
| + StringOrCSSVariableReferenceValue temp;
|
| + temp.setString("str");
|
| + listOfReferences.append(temp);
|
| +
|
| + CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(listOfReferences);
|
| +
|
| + EXPECT_EQ(tokenStreamValue->size(), 1UL);
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->referenceAtIndex(0).isString());
|
| + EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isNull());
|
| + EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isCSSVariableReferenceValue());
|
| +
|
| + EXPECT_EQ(tokenStreamValue->referenceAtIndex(0).getAsString(), "str");
|
| +}
|
| +
|
| +TEST(CSSTokenStreamValueTest, ListOfCSSVariableReferenceValue)
|
| +{
|
| + HeapVector<StringOrCSSVariableReferenceValue> listOfReferences;
|
| +
|
| + StringOrCSSVariableReferenceValue temp;
|
| + CSSStyleVariableReferenceValue* ref = CSSStyleVariableReferenceValue::create("Ref");
|
| + temp.setCSSVariableReferenceValue(ref);
|
| + listOfReferences.append(temp);
|
| +
|
| + CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(listOfReferences);
|
| +
|
| + EXPECT_EQ(tokenStreamValue->size(), 1UL);
|
| +
|
| + EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isString());
|
| + EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isNull());
|
| + EXPECT_TRUE(tokenStreamValue->referenceAtIndex(0).isCSSVariableReferenceValue());
|
| +
|
| + EXPECT_EQ(tokenStreamValue->referenceAtIndex(0).getAsCSSVariableReferenceValue(), ref);
|
| +}
|
| +
|
| +TEST(CSSTokenStreamValueTest, MixedContents)
|
| +{
|
| + HeapVector<StringOrCSSVariableReferenceValue> listOfReferences;
|
| +
|
| + StringOrCSSVariableReferenceValue x;
|
| + x.setString("1234");
|
| + listOfReferences.append(x);
|
| +
|
| + StringOrCSSVariableReferenceValue y;
|
| + CSSStyleVariableReferenceValue* ref = CSSStyleVariableReferenceValue::create("Ref");
|
| + y.setCSSVariableReferenceValue(ref);
|
| + listOfReferences.append(y);
|
| +
|
| + StringOrCSSVariableReferenceValue z;
|
| + listOfReferences.append(z);
|
| +
|
| + CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(listOfReferences);
|
| +
|
| + EXPECT_EQ(tokenStreamValue->size(), listOfReferences.size());
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->referenceAtIndex(0).isString());
|
| + EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isCSSVariableReferenceValue());
|
| + EXPECT_EQ(tokenStreamValue->referenceAtIndex(0).getAsString(), "1234");
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->referenceAtIndex(1).isCSSVariableReferenceValue());
|
| + EXPECT_FALSE(tokenStreamValue->referenceAtIndex(1).isString());
|
| + EXPECT_EQ(tokenStreamValue->referenceAtIndex(1).getAsCSSVariableReferenceValue(), ref);
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->referenceAtIndex(2).isNull());
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +} // namespace blink
|
|
|