| Index: third_party/WebKit/Source/core/html/parser/AtomicHTMLTokenTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/parser/AtomicHTMLTokenTest.cpp b/third_party/WebKit/Source/core/html/parser/AtomicHTMLTokenTest.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2dcaaf3a5fe3194f2609c67d126a21392c6abfa1
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/core/html/parser/AtomicHTMLTokenTest.cpp
|
| @@ -0,0 +1,80 @@
|
| +// Copyright 2015 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 "config.h"
|
| +#include "core/html/parser/AtomicHTMLToken.h"
|
| +
|
| +#include <gtest/gtest.h>
|
| +
|
| +namespace blink {
|
| +
|
| +TEST(AtomicHTMLTokenTest, EmptyAttributeValueFromHTMLToken)
|
| +{
|
| + HTMLToken token;
|
| + token.beginStartTag('a');
|
| + token.addNewAttribute();
|
| + token.beginAttributeName(3);
|
| + token.appendToAttributeName('b');
|
| + token.endAttributeName(4);
|
| + token.addNewAttribute();
|
| + token.beginAttributeName(5);
|
| + token.appendToAttributeName('c');
|
| + token.endAttributeName(6);
|
| + token.beginAttributeValue(8);
|
| + token.endAttributeValue(8);
|
| +
|
| + AtomicHTMLToken atoken(token);
|
| +
|
| + const blink::Attribute* attributeB = atoken.getAttributeItem(
|
| + QualifiedName(AtomicString(), "b", AtomicString()));
|
| + ASSERT_TRUE(attributeB);
|
| + EXPECT_FALSE(attributeB->value().isNull());
|
| + EXPECT_TRUE(attributeB->value().isEmpty());
|
| +
|
| + const blink::Attribute* attributeC = atoken.getAttributeItem(
|
| + QualifiedName(AtomicString(), "c", AtomicString()));
|
| + ASSERT_TRUE(attributeC);
|
| + EXPECT_FALSE(attributeC->value().isNull());
|
| + EXPECT_TRUE(attributeC->value().isEmpty());
|
| +
|
| + const blink::Attribute* attributeD = atoken.getAttributeItem(
|
| + QualifiedName(AtomicString(), "d", AtomicString()));
|
| + EXPECT_FALSE(attributeD);
|
| +}
|
| +
|
| +TEST(AtomicHTMLTokenTest, EmptyAttributeValueFromCompactHTMLToken)
|
| +{
|
| + HTMLToken token;
|
| + token.beginStartTag('a');
|
| + token.addNewAttribute();
|
| + token.beginAttributeName(3);
|
| + token.appendToAttributeName('b');
|
| + token.endAttributeName(4);
|
| + token.addNewAttribute();
|
| + token.beginAttributeName(5);
|
| + token.appendToAttributeName('c');
|
| + token.endAttributeName(6);
|
| + token.beginAttributeValue(8);
|
| + token.endAttributeValue(8);
|
| +
|
| + AtomicHTMLToken atoken(CompactHTMLToken(&token, TextPosition()));
|
| +
|
| + const blink::Attribute* attributeB = atoken.getAttributeItem(
|
| + QualifiedName(AtomicString(), "b", AtomicString()));
|
| + ASSERT_TRUE(attributeB);
|
| + EXPECT_FALSE(attributeB->value().isNull());
|
| + EXPECT_TRUE(attributeB->value().isEmpty());
|
| +
|
| + const blink::Attribute* attributeC = atoken.getAttributeItem(
|
| + QualifiedName(AtomicString(), "c", AtomicString()));
|
| + ASSERT_TRUE(attributeC);
|
| + EXPECT_FALSE(attributeC->value().isNull());
|
| + EXPECT_TRUE(attributeC->value().isEmpty());
|
| +
|
| + const blink::Attribute* attributeD = atoken.getAttributeItem(
|
| + QualifiedName(AtomicString(), "d", AtomicString()));
|
| + EXPECT_FALSE(attributeD);
|
| +}
|
| +
|
| +} // namespace blink
|
|
|