Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Unified Diff: third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValueTest.cpp

Issue 2140073002: [Typed-OM] Add compound type of CSSVariableReferenceValue and String with some tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@CSSTokenStreamValue
Patch Set: Rebase-update Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValue.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « third_party/WebKit/Source/core/css/cssom/CSSTokenStreamValue.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698