chromium/third_party/blink/web_tests/external/wpt/html/semantics/selectors/pseudo-classes/checked-indeterminate.window.js

test(() => {
  const input = document.createElement("input");
  input.type = "checkbox";

  assert_false(input.matches(":checked:indeterminate"));
  assert_false(input.matches(":checked"));
  assert_false(input.matches(":indeterminate"));

  input.checked = true;
  input.indeterminate = true;

  assert_true(input.matches(":checked:indeterminate"));
  assert_true(input.matches(":checked"));
  assert_true(input.matches(":indeterminate"));

  input.indeterminate = false;

  assert_false(input.matches(":checked:indeterminate"));
  assert_true(input.matches(":checked"));
  assert_false(input.matches(":indeterminate"));

  input.checked = false;

  assert_false(input.matches(":checked:indeterminate"));
  assert_false(input.matches(":checked"));
  assert_false(input.matches(":indeterminate"));
}, "An element can be :checked and :indeterminate at the same time");