chromium/third_party/blink/web_tests/external/wpt/js-self-profiling/class-setter-names.https.html

<!DOCTYPE html>
<html>

<head>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>

  <script src="resources/profile-utils.js"></script>
</head>

<body>
  <script>
    // Setter methods should use `set ${label}` as the function/frame name. Source:
    // https://www.ecma-international.org/ecma-262/#sec-method-definitions-runtime-semantics-propertydefinitionevaluation
    promise_test(t => ProfileUtils.testFunction(sample => {
      class SomeClass {
        set someValue(_) {
          sample();
        }
      }
      let instance = new SomeClass();
      instance.someValue = 5;
    }, {
      name: 'set someValue',
    }
    ), 'class setter names are logged correctly');
  </script>
</body>

</html>