chromium/third_party/blink/web_tests/transforms/resources/parsing-test-helper.js

window.expect = (function() {
  var testElement = document.getElementById('target');

  function assert_equals_or_matches(actual, expected, description) {
    return expected instanceof RegExp ?
        assert_regexp_match(actual, expected, description) :
        assert_equals(actual, expected, description);
  }
  return function expect(property, camelProperty, input) {
    return {
      parsesAs: function(output) {
        test(function() {
          assert_true(CSS.supports(property, input), 'CSS.supports');
          testElement.style[camelProperty] = input;
          assert_equals(testElement.style[camelProperty], output);
        }, '"' + property + ': ' + input + ';" should parse as "' + output + '"');
        return this;
      },
      isComputedTo: function(output) {
        test(function() {
          testElement.style[camelProperty] = input;
          assert_equals_or_matches(getComputedStyle(testElement)[camelProperty], output);
        }, '"' + property + ': ' + input + ';" should be computed to "' + output + '"');
      },
      isInvalid: function() {
        test(function() {
          assert_false(CSS.supports(property, input), 'CSS.supports');
        }, '"' + property + ': ' + input + ';" should be invalid');
      },
    };
  }
})();