| 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
|
| index 398c121910d58aa02b92f1d5e5addda0af464ec9..4403438f3e28ca264d57434a8123bc8e1eb2b987 100644
|
| --- a/third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValueTest.cpp
|
| +++ b/third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValueTest.cpp
|
| @@ -4,22 +4,44 @@
|
|
|
| #include "core/css/cssom/CSSTokenStreamValue.h"
|
|
|
| +#include "core/css/cssom/CSSStyleVariableReferenceValue.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace blink {
|
|
|
| namespace {
|
|
|
| +StringOrCSSVariableReferenceValue getStringOrCSSVariableReferenceValue(String str)
|
| +{
|
| + StringOrCSSVariableReferenceValue temp;
|
| + temp.setString(str);
|
| + return temp;
|
| +}
|
| +
|
| +StringOrCSSVariableReferenceValue getStringOrCSSVariableReferenceValue(CSSStyleVariableReferenceValue* ref)
|
| +{
|
| + StringOrCSSVariableReferenceValue temp;
|
| + temp.setCSSVariableReferenceValue(ref);
|
| + return temp;
|
| +}
|
| +
|
| CSSTokenStreamValue* tokenStreamValueFromString(String str)
|
| {
|
| - Vector<String> fragments;
|
| - fragments.append(str);
|
| + HeapVector<StringOrCSSVariableReferenceValue> fragments;
|
| + fragments.append(getStringOrCSSVariableReferenceValue(str));
|
| + return CSSTokenStreamValue::create(fragments);
|
| +}
|
| +
|
| +CSSTokenStreamValue* tokenStreamValueFromCSSVariableReferenceValue(CSSStyleVariableReferenceValue* ref)
|
| +{
|
| + HeapVector<StringOrCSSVariableReferenceValue> fragments;
|
| + fragments.append(getStringOrCSSVariableReferenceValue(ref));
|
| return CSSTokenStreamValue::create(fragments);
|
| }
|
|
|
| TEST(CSSTokenStreamValueTest, EmptyList)
|
| {
|
| - Vector<String> fragments;
|
| + HeapVector<StringOrCSSVariableReferenceValue> fragments;
|
|
|
| CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(fragments);
|
|
|
| @@ -31,7 +53,57 @@ TEST(CSSTokenStreamValueTest, ListOfString)
|
| CSSTokenStreamValue* tokenStreamValue = tokenStreamValueFromString("Str");
|
|
|
| EXPECT_EQ(tokenStreamValue->size(), 1UL);
|
| - EXPECT_EQ(tokenStreamValue->fragmentAtIndex(0), "Str");
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->fragmentAtIndex(0).isString());
|
| + EXPECT_FALSE(tokenStreamValue->fragmentAtIndex(0).isNull());
|
| + EXPECT_FALSE(tokenStreamValue->fragmentAtIndex(0).isCSSVariableReferenceValue());
|
| +
|
| + EXPECT_EQ(tokenStreamValue->fragmentAtIndex(0).getAsString(), "Str");
|
| +}
|
| +
|
| +TEST(CSSTokenStreamValueTest, ListOfCSSVariableReferenceValue)
|
| +{
|
| + CSSStyleVariableReferenceValue* ref = CSSStyleVariableReferenceValue::create("Ref");
|
| +
|
| + CSSTokenStreamValue* tokenStreamValue = tokenStreamValueFromCSSVariableReferenceValue(ref);
|
| +
|
| + EXPECT_EQ(tokenStreamValue->size(), 1UL);
|
| +
|
| + EXPECT_FALSE(tokenStreamValue->fragmentAtIndex(0).isString());
|
| + EXPECT_FALSE(tokenStreamValue->fragmentAtIndex(0).isNull());
|
| + EXPECT_TRUE(tokenStreamValue->fragmentAtIndex(0).isCSSVariableReferenceValue());
|
| +
|
| + EXPECT_EQ(tokenStreamValue->fragmentAtIndex(0).getAsCSSVariableReferenceValue(), ref);
|
| +}
|
| +
|
| +TEST(CSSTokenStreamValueTest, MixedContents)
|
| +{
|
| + HeapVector<StringOrCSSVariableReferenceValue> fragments;
|
| +
|
| + StringOrCSSVariableReferenceValue x = getStringOrCSSVariableReferenceValue("Str");
|
| +
|
| + CSSStyleVariableReferenceValue* ref = CSSStyleVariableReferenceValue::create("Ref");
|
| + StringOrCSSVariableReferenceValue y = getStringOrCSSVariableReferenceValue(ref);
|
| +
|
| + StringOrCSSVariableReferenceValue z;
|
| +
|
| + fragments.append(x);
|
| + fragments.append(y);
|
| + fragments.append(z);
|
| +
|
| + CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(fragments);
|
| +
|
| + EXPECT_EQ(tokenStreamValue->size(), fragments.size());
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->fragmentAtIndex(0).isString());
|
| + EXPECT_FALSE(tokenStreamValue->fragmentAtIndex(0).isCSSVariableReferenceValue());
|
| + EXPECT_EQ(tokenStreamValue->fragmentAtIndex(0).getAsString(), "Str");
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->fragmentAtIndex(1).isCSSVariableReferenceValue());
|
| + EXPECT_FALSE(tokenStreamValue->fragmentAtIndex(1).isString());
|
| + EXPECT_EQ(tokenStreamValue->fragmentAtIndex(1).getAsCSSVariableReferenceValue(), ref);
|
| +
|
| + EXPECT_TRUE(tokenStreamValue->fragmentAtIndex(2).isNull());
|
| }
|
|
|
| } // namespace
|
|
|