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

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

Issue 2122193003: [Typed-OM] Add CSSTokenStreamValue (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unused headers, renaming Created 4 years, 5 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "core/css/cssom/CSSTokenStreamValue.h"
6
7 #include "core/css/cssom/CSSStyleVariableReferenceValue.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace blink {
11
12 namespace {
13
14 StringOrCSSVariableReferenceValue getStringOrCSSVariableReferenceValue(String st r)
15 {
16 StringOrCSSVariableReferenceValue temp;
17 temp.setString(str);
18 return temp;
19 }
20
21 StringOrCSSVariableReferenceValue getStringOrCSSVariableReferenceValue(CSSStyleV ariableReferenceValue ref)
22 {
23 StringOrCSSVariableReferenceValue temp;
24 temp.setCSSVariableReferenceValue(ref);
25 return temp;
26 }
27
28 CSSTokenStreamValue* tokenStreamValueFromString(String str)
29 {
30 HeapVector<StringOrCSSVariableReferenceValue> listOfStrings;
31 listOfStrings.append(getStringOrCSSVariableReferenceValue(str));
32 return CSSTokenStreamValue::create(listOfStrings);
33 }
34
35 CSSTokenStreamValue* tokenStreamValueFromCSSVariableReferenceValue(CSSStyleVaria bleReferenceValue* ref)
36 {
37 HeapVector<StringOrCSSVariableReferenceValue> listOfReferences;
38 listOfReferences.append(getStringOrCSSVariableReferenceValue(ref));
39 return CSSTokenStreamValue::create(listOfReferences);
40 }
41
42 TEST(CSSTokenStreamValueTest, EmptyList)
43 {
44 HeapVector<StringOrCSSVariableReferenceValue> listOfReferences;
45
46 CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(listOfRe ferences);
47
48 EXPECT_EQ(tokenStreamValue->size(), 0UL);
49 }
50
51 TEST(CSSTokenStreamValueTest, ListOfString)
52 {
53 CSSTokenStreamValue* tokenStreamValue = tokenStreamValueFromString("Str");
54
55 EXPECT_EQ(tokenStreamValue->size(), 1UL);
56
57 EXPECT_TRUE(tokenStreamValue->referenceAtIndex(0).isString());
58 EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isNull());
59 EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isCSSVariableReferenceVal ue());
60
61 EXPECT_EQ(tokenStreamValue->referenceAtIndex(0).getAsString(), "Str");
62 }
63
64 TEST(CSSTokenStreamValueTest, ListOfCSSVariableReferenceValue)
65 {
66 CSSStyleVariableReferenceValue* ref = CSSStyleVariableReferenceValue::create ("Ref", tokenStreamValueFromString("Str"));
67
68 CSSTokenStreamValue* tokenStreamValue = tokenStreamValueFromCSSVariableRefer enceValue(ref);
69
70 EXPECT_EQ(tokenStreamValue->size(), 1UL);
71
72 EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isString());
73 EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isNull());
74 EXPECT_TRUE(tokenStreamValue->referenceAtIndex(0).isCSSVariableReferenceValu e());
75
76 EXPECT_EQ(tokenStreamValue->referenceAtIndex(0).getAsCSSVariableReferenceVal ue(), ref);
77 }
78
79 TEST(CSSTokenStreamValueTest, MixedContents)
80 {
81 HeapVector<StringOrCSSVariableReferenceValue> listOfReferences;
82
83 StringOrCSSVariableReferenceValue x = getStringOrCSSVariableReferenceValue(" Str");
84
85 CSSStyleVariableReferenceValue* ref = CSSStyleVariableReferenceValue::create ("Ref", tokenStreamValueFromString("Str"));
86 StringOrCSSVariableReferenceValue y = getStringOrCSSVariableReferenceValue(r ef);
87
88 StringOrCSSVariableReferenceValue z;
89
90 listOfReferences.append(x);
91 listOfReferences.append(y);
92 listOfReferences.append(z);
93
94 CSSTokenStreamValue* tokenStreamValue = CSSTokenStreamValue::create(listOfRe ferences);
95
96 EXPECT_EQ(tokenStreamValue->size(), listOfReferences.size());
97
98 EXPECT_TRUE(tokenStreamValue->referenceAtIndex(0).isString());
99 EXPECT_FALSE(tokenStreamValue->referenceAtIndex(0).isCSSVariableReferenceVal ue());
100 EXPECT_EQ(tokenStreamValue->referenceAtIndex(0).getAsString(), "1234");
101
102 EXPECT_TRUE(tokenStreamValue->referenceAtIndex(1).isCSSVariableReferenceValu e());
103 EXPECT_FALSE(tokenStreamValue->referenceAtIndex(1).isString());
104 EXPECT_EQ(tokenStreamValue->referenceAtIndex(1).getAsCSSVariableReferenceVal ue(), ref);
105
106 EXPECT_TRUE(tokenStreamValue->referenceAtIndex(2).isNull());
107 y
108
109 } // namespace
110
111 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698