chromium/third_party/blink/web_tests/http/tests/webfont/fontfaceset-status-attribute.html

<!DOCTYPE html>
<style>
  @font-face {
    font-family: 'TestFont';
    src: url(slow-ahem-loading.cgi);
  }
</style>
<style id="RemoveMe">
  @font-face {
    font-family: 'TestFont2';
    src: url(slow-ahem-loading.cgi?2);
  }
</style>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>

promise_test(function(t) {
    assert_false(document.fonts.check('10px TestFont'));
    assert_equals(document.fonts.status, "loaded");
    var loadPromise = document.fonts.load('10px TestFont');
    assert_equals(document.fonts.status, "loading");

    return loadPromise
        .then(function() {
            assert_true(document.fonts.check('10px TestFont'));
            return document.fonts.ready;
        }).then(function() {
            assert_equals(document.fonts.status, "loaded");
        });
}, 'FontFaceSet.status attribute');

promise_test(function(t) {
    document.fonts.load('10px TestFont2');
    assert_equals(document.fonts.status, "loading");
    var style = document.getElementById('RemoveMe');
    style.parentNode.removeChild(style);

    return document.fonts.ready
        .then(function() {
            assert_equals(document.fonts.status, "loaded");
        });
}, 'Removing @font-face while loading');

</script>