chromium/third_party/blink/renderer/core/css/rule_feature_set_test.cc

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/core/css/rule_feature_set.h"

#include "base/test/scoped_feature_list.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/renderer/core/css/css_property_value_set.h"
#include "third_party/blink/renderer/core/css/css_selector_list.h"
#include "third_party/blink/renderer/core/css/css_test_helpers.h"
#include "third_party/blink/renderer/core/css/invalidation/invalidation_set.h"
#include "third_party/blink/renderer/core/css/parser/css_parser.h"
#include "third_party/blink/renderer/core/css/rule_set.h"
#include "third_party/blink/renderer/core/css/style_rule.h"
#include "third_party/blink/renderer/core/dom/element_traversal.h"
#include "third_party/blink/renderer/core/execution_context/security_context.h"
#include "third_party/blink/renderer/core/html/html_body_element.h"
#include "third_party/blink/renderer/core/html/html_document.h"
#include "third_party/blink/renderer/core/html/html_element.h"
#include "third_party/blink/renderer/core/html/html_html_element.h"
#include "third_party/blink/renderer/core/testing/null_execution_context.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"

AssertionFailure;
AssertionResult;
AssertionSuccess;

namespace blink {

class RuleFeatureSetTest : public testing::Test {};

TEST_F(RuleFeatureSetTest, interleavedDescendantSibling1) {}

TEST_F(RuleFeatureSetTest, interleavedDescendantSibling2) {}

TEST_F(RuleFeatureSetTest, interleavedDescendantSibling3) {}

TEST_F(RuleFeatureSetTest, interleavedDescendantSibling4) {}

TEST_F(RuleFeatureSetTest, interleavedDescendantSibling5) {}

TEST_F(RuleFeatureSetTest, interleavedDescendantSibling6) {}

TEST_F(RuleFeatureSetTest, anySibling) {}

TEST_F(RuleFeatureSetTest, any) {}

TEST_F(RuleFeatureSetTest, repeatedAny) {}

TEST_F(RuleFeatureSetTest, anyIdDescendant) {}

TEST_F(RuleFeatureSetTest, repeatedAnyDescendant) {}

TEST_F(RuleFeatureSetTest, anyTagDescendant) {}

TEST_F(RuleFeatureSetTest, siblingAny) {}

TEST_F(RuleFeatureSetTest, descendantSiblingAny) {}

TEST_F(RuleFeatureSetTest, id) {}

TEST_F(RuleFeatureSetTest, attribute) {}

TEST_F(RuleFeatureSetTest, pseudoClass) {}

TEST_F(RuleFeatureSetTest, tagName) {}

TEST_F(RuleFeatureSetTest, nonMatchingHost) {}

TEST_F(RuleFeatureSetTest, nonMatchingHostContext) {}

TEST_F(RuleFeatureSetTest, emptyIsWhere) {}

TEST_F(RuleFeatureSetTest, universalSiblingInvalidationDirectAdjacent) {}

TEST_F(RuleFeatureSetTest, universalSiblingInvalidationMultipleDirectAdjacent) {}

TEST_F(RuleFeatureSetTest,
       universalSiblingInvalidationDirectAdjacentDescendant) {}

TEST_F(RuleFeatureSetTest, universalSiblingInvalidationIndirectAdjacent) {}

TEST_F(RuleFeatureSetTest,
       universalSiblingInvalidationMultipleIndirectAdjacent) {}

TEST_F(RuleFeatureSetTest,
       universalSiblingInvalidationIndirectAdjacentDescendant) {}

TEST_F(RuleFeatureSetTest, universalSiblingInvalidationNot) {}

TEST_F(RuleFeatureSetTest, nonUniversalSiblingInvalidationNot) {}

TEST_F(RuleFeatureSetTest, nonUniversalSiblingInvalidationAny) {}

TEST_F(RuleFeatureSetTest, universalSiblingInvalidationType) {}

TEST_F(RuleFeatureSetTest, nonUniversalSiblingInvalidationType) {}

TEST_F(RuleFeatureSetTest, universalSiblingInvalidationLink) {}

TEST_F(RuleFeatureSetTest, nonUniversalSiblingInvalidationLink) {}

TEST_F(RuleFeatureSetTest, nthInvalidationUniversal) {}

TEST_F(RuleFeatureSetTest, nthInvalidationClass) {}

TEST_F(RuleFeatureSetTest, nthInvalidationUniversalDescendant) {}

TEST_F(RuleFeatureSetTest, nthInvalidationDescendant) {}

TEST_F(RuleFeatureSetTest, nthInvalidationSibling) {}

TEST_F(RuleFeatureSetTest, nthInvalidationSiblingDescendant) {}

TEST_F(RuleFeatureSetTest, nthInvalidationNot) {}

TEST_F(RuleFeatureSetTest, nthInvalidationNotClass) {}

TEST_F(RuleFeatureSetTest, nthInvalidationNotDescendant) {}

TEST_F(RuleFeatureSetTest, nthInvalidationAny) {}

TEST_F(RuleFeatureSetTest, nthInvalidationAnyClass) {}

TEST_F(RuleFeatureSetTest, nthInvalidationAnyDescendant) {}

TEST_F(RuleFeatureSetTest, SelfInvalidationSet) {}

TEST_F(RuleFeatureSetTest, ReplaceSelfInvalidationSet) {}

TEST_F(RuleFeatureSetTest, pseudoIsSibling) {}

TEST_F(RuleFeatureSetTest, pseudoIs) {}

TEST_F(RuleFeatureSetTest, pseudoIsIdDescendant) {}

TEST_F(RuleFeatureSetTest, pseudoIsTagDescendant) {}

TEST_F(RuleFeatureSetTest, pseudoIsAnySibling) {}

TEST_F(RuleFeatureSetTest, pseudoIsDescendantSibling) {}

TEST_F(RuleFeatureSetTest, pseudoIsWithComplexSelectors) {}

TEST_F(RuleFeatureSetTest, pseudoIsNested) {}

TEST_F(RuleFeatureSetTest, pseudoWhere) {}

TEST_F(RuleFeatureSetTest, pseudoWhereSibling) {}

TEST_F(RuleFeatureSetTest, pseudoWhereIdDescendant) {}

TEST_F(RuleFeatureSetTest, pseudoWhereTagDescendant) {}

TEST_F(RuleFeatureSetTest, pseudoWhereAnySibling) {}

TEST_F(RuleFeatureSetTest, pseudoWhereDescendantSibling) {}

TEST_F(RuleFeatureSetTest, pseudoWhereWithComplexSelectors) {}

TEST_F(RuleFeatureSetTest, pseudoWhereNested) {}

TEST_F(RuleFeatureSetTest, invalidatesParts) {}

TEST_F(RuleFeatureSetTest, invalidatesTerminalHas) {}

TEST_F(RuleFeatureSetTest, invalidatesNonTerminalHas) {}

TEST_F(RuleFeatureSetTest, MediaQueryResultFlagsEquality) {}

struct RefTestData {};

// The test passes if |main| produces the same RuleFeatureSet as |ref|.
RefTestData ref_equal_test_data[] =;

// The test passes if |main| does not produce the same RuleFeatureSet as |ref|.
RefTestData ref_not_equal_test_data[] =;

class RuleFeatureSetRefTest : public RuleFeatureSetTest {};

class RuleFeatureSetSelectorRefTest : public RuleFeatureSetRefTest {};

class RuleFeatureSetRefEqualTest
    : public RuleFeatureSetSelectorRefTest,
      public testing::WithParamInterface<RefTestData> {};

INSTANTIATE_TEST_SUITE_P();

TEST_P(RuleFeatureSetRefEqualTest, All) {}

class RuleFeatureSetRefNotEqualTest
    : public RuleFeatureSetSelectorRefTest,
      public testing::WithParamInterface<RefTestData> {};

INSTANTIATE_TEST_SUITE_P();

TEST_P(RuleFeatureSetRefNotEqualTest, All) {}

RefTestData ref_scope_equal_test_data[] =;

class RuleFeatureSetScopeRefTest
    : public RuleFeatureSetRefTest,
      public testing::WithParamInterface<RefTestData> {};

INSTANTIATE_TEST_SUITE_P();

TEST_P(RuleFeatureSetScopeRefTest, All) {}

TEST_F(RuleFeatureSetTest, CopyOnWrite) {}

TEST_F(RuleFeatureSetTest, CopyOnWrite_SiblingDescendantPairs) {}

TEST_F(RuleFeatureSetTest, CopyOnWrite_SelfInvalidation) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas1) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas2) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas3) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas4) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas5) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas6) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas7) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas8) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas9) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas10) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas11) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas12) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas13) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas14) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas15) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas16) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas17) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas18) {}

TEST_F(RuleFeatureSetTest, isPseudoContainingComplexInsideHas19) {}

TEST_F(RuleFeatureSetTest, NestedSelector) {}

TEST_F(RuleFeatureSetTest, BloomFilterForClassSelfInvalidation) {}

TEST_F(RuleFeatureSetTest, BloomFilterForIdSelfInvalidation) {}

}  // namespace blink