Changeset 206116 in webkit


Ignore:
Timestamp:
Sep 19, 2016 1:49:32 PM (8 years ago)
Author:
commit-queue@webkit.org
Message:

Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/console
https://bugs.webkit.org/show_bug.cgi?id=162070

Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.

Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.

  • inspector/console/clearMessages.html:
  • inspector/console/command-line-api.html:
  • inspector/console/console-time.html:
  • inspector/console/messageAdded-from-named-evaluations.html:
  • inspector/console/messageAdded-from-worker.html:
  • inspector/console/messageRepeatCountUpdated.html:
  • inspector/console/messagesCleared.html:
Location:
trunk/LayoutTests
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r206115 r206116  
     12016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>
     2
     3        Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/console
     4        https://bugs.webkit.org/show_bug.cgi?id=162070
     5
     6        Reviewed by Brian Burg.
     7
     8        Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
     9        tests more readable.
     10
     11        * inspector/console/clearMessages.html:
     12        * inspector/console/command-line-api.html:
     13        * inspector/console/console-time.html:
     14        * inspector/console/messageAdded-from-named-evaluations.html:
     15        * inspector/console/messageAdded-from-worker.html:
     16        * inspector/console/messageRepeatCountUpdated.html:
     17        * inspector/console/messagesCleared.html:
     18
    1192016-09-19  Devin Rousso  <dcrousso+webkit@gmail.com>
    220
  • trunk/LayoutTests/inspector/console/clearMessages.html

    r189373 r206116  
    1111        name: "CallClearMessages",
    1212        description: "Calling the Console.clearMessages command should trigger Console.messagesCleared.",
    13         test: (resolve, reject) => {
     13        test(resolve, reject) {
    1414            ConsoleAgent.clearMessages();
    1515
    16             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     16            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     17            .then((event) => {
    1718                InspectorTest.assert(false, "MessageAdded event should not fire.");
    18                 reject();
    19             });
     19            })
     20            .then(reject, reject);
    2021
    21             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.Cleared, (event) => {
     22            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.Cleared)
     23            .then((event) => {
    2224                InspectorTest.expectThat(event, "Cleared event should fire.");
    23                 resolve();
    24             });
     25            })
     26            .then(resolve, reject);
    2527        }
    2628    });
  • trunk/LayoutTests/inspector/console/command-line-api.html

    r201855 r206116  
    5454    let suite = InspectorTest.createAsyncSuite("Console.TestCommandLineAPI");
    5555
    56     function addAPITestCase(args) {
    57         let {title, input, setup} = args;
     56    function addAPITestCase({title, input, setup}) {
    5857        suite.addTestCase({
    5958            name: `Evaluate${title}`,
    6059            setup,
    61             test: (resolve, reject) => {
     60            test(resolve, reject) {
    6261                InspectorTest.log(`Input: ${input}`);
    6362
     
    9291
    9392    function selectElementForDollarZero(resolve, reject) {
    94         WebInspector.domTreeManager.requestDocument(function(documentNode) {
     93        WebInspector.domTreeManager.requestDocument((documentNode) => {
    9594            if (!documentNode) {
    9695                InspectorTest.log("FAIL: DOM node not found.");
     
    9998
    10099            // Select div#foo for $0.
    101             WebInspector.domTreeManager.querySelector(documentNode.id, "#foo", function(contentNodeId) {
     100            WebInspector.domTreeManager.querySelector(documentNode.id, "#foo", (contentNodeId) => {
    102101                if (!contentNodeId) {
    103102                    InspectorTest.log("FAIL: DOM node not found.");
  • trunk/LayoutTests/inspector/console/console-time.html

    r200535 r206116  
    1111        name: "DefaultLabel",
    1212        description: "Test that default label works as expected.",
    13         test: (resolve, reject) => {
     13        test(resolve, reject) {
    1414            let seen = 0;
    1515            const expected = 3;
     
    3939        name: "UserLabels",
    4040        description: "Test that user labels works as expected.",
    41         test: (resolve, reject) => {
    42             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     41        test(resolve, reject) {
     42            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     43            .then((event) => {
    4344                let message = event.data.message;
    4445                InspectorTest.expectThat(message.type === WebInspector.ConsoleMessage.MessageType.Timing, "Should receive a Timing type message.");
    4546                InspectorTest.expectThat(message.messageText.includes("my-label"), "Message should contain the 'my-label' label name somewhere.");
    46                 resolve();
    47             });
     47            })
     48            .then(resolve, reject);
    4849
    4950            InspectorTest.evaluateInPage("console.time('my-label')");
     
    5556        name: "MultipleTimers",
    5657        description: "Test that multiple timers running at the same time work as expected.",
    57         test: (resolve, reject) => {
     58        test(resolve, reject) {
    5859            let seen = 0;
    5960            const expected = 2;
     
    8081        name: "WarnWhenExisting",
    8182        description: "Test for a warning when trying to start an already started timer.",
    82         test: (resolve, reject) => {
     83        test(resolve, reject) {
    8384            WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.MessageAdded, handler);
    8485            function handler(event) {
     
    105106        name: "WarnWhenNotExisting",
    106107        description: "Test for a warning when trying to start an already started timer.",
    107         test: (resolve, reject) => {
    108             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     108        test(resolve, reject) {
     109            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     110            .then((event) => {
    109111                let message = event.data.message;
    110112                InspectorTest.expectThat(message.type === WebInspector.ConsoleMessage.MessageType.Timing, "Should receive a Timing type message.");
    111113                InspectorTest.expectThat(message.level === WebInspector.ConsoleMessage.MessageLevel.Warning, "Should receive a Warning level message.");
    112114                InspectorTest.expectThat(message.messageText.includes("default"), "Message should contain the 'default' label name somewhere.");
    113                 resolve();
    114             });
     115            })
     116            .then(resolve, reject);
    115117
    116118            InspectorTest.evaluateInPage("console.timeEnd()");
  • trunk/LayoutTests/inspector/console/messageAdded-from-named-evaluations.html

    r199852 r206116  
    2121        name: "TriggerMessageFromNameEvaluation",
    2222        description: "Message from named evaluation should have a source location.",
    23         test: (resolve, reject) => {
    24             InspectorTest.evaluateInPage("triggerMessageFromNamedEvaluation()");
    25             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     23        test(resolve, reject) {
     24            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     25            .then((event) => {
    2626                let message = event.data.message;
    2727                let topCallFrame = message.stackTrace.callFrames[0];
    2828                InspectorTest.expectThat(topCallFrame.sourceCodeLocation.sourceCode.displayName === "named-eval.js", "Log ConsoleMessage top call frame should have sourceURL name.");
    29                 resolve();
    30             });
     29            })
     30            .then(resolve, reject);
     31
     32            InspectorTest.evaluateInPage("triggerMessageFromNamedEvaluation()");
    3133        }
    3234    });
     
    3537        name: "TriggerExceptionFromNameFunctionConstructorEvaluation",
    3638        description: "Exception message from named Function constructor evaluation should have a source location.",
    37         test: (resolve, reject) => {
    38             InspectorTest.evaluateInPage("setTimeout(triggerExceptionFromNamedFunctionConstructorEvaluation)");
    39             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     39        test(resolve, reject) {
     40            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     41            .then((event) => {
    4042                let message = event.data.message;
    4143                let topCallFrame = message.stackTrace.callFrames[0];
    4244                InspectorTest.expectThat(topCallFrame.sourceCodeLocation.sourceCode.displayName === "named-function-constructor.js", "Exception ConsoleMessage top call frame should have sourceURL name.");
    43                 resolve();
    44             });
     45            })
     46            .then(resolve, reject);
     47
     48            InspectorTest.evaluateInPage("setTimeout(triggerExceptionFromNamedFunctionConstructorEvaluation)");
    4549        }
    4650    });
  • trunk/LayoutTests/inspector/console/messageAdded-from-worker.html

    r196594 r206116  
    1616        name: "TriggerConsoleMessagesInWorker",
    1717        description: "Triggered console messages in a Worker should be received.",
    18         test: (resolve, reject) => {
    19             InspectorTest.evaluateInPage("triggerWorkerConsoleLog()");
    20             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
    21                 InspectorTest.expectThat(event.data.message.messageText === "WORKER STARTED", "MessageAdded event should fire for started log.");
    22                 WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     18        test(resolve, reject) {
     19            let eventCount = 0;
     20            WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     21                ++eventCount;
     22
     23                if (eventCount === 1)
     24                    InspectorTest.expectThat(event.data.message.messageText === "WORKER STARTED", "MessageAdded event should fire for started log.");
     25                else if (eventCount === 2) {
    2326                    InspectorTest.expectThat(event.data.message.messageText === "WORKER RECEIVED MESSAGE", "MessageAdded event should fire for received message log.");
    2427                    resolve();
    25                 });
     28                } else
     29                    reject();
    2630            });
     31
     32            InspectorTest.evaluateInPage("triggerWorkerConsoleLog()");
    2733        }
    2834    });
  • trunk/LayoutTests/inspector/console/messageRepeatCountUpdated.html

    r189373 r206116  
    1414        name: "AddTestMessage",
    1515        description: "Add a new message, it should have a single repeat count.",
    16         test: (resolve, reject) => {
    17             InspectorTest.evaluateInPage(testMessage);
    18 
     16        test(resolve, reject) {
    1917            let listener = WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
    2018                InspectorTest.assert(false, "Should not fire PreviousMessageRepeatCountUpdated yet.");
     
    2220            });
    2321
    24             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     22            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     23            .then((event) => {
    2524                InspectorTest.expectThat(event.data.message instanceof WebInspector.ConsoleMessage, "MessageAdded event should fire.");
    2625                InspectorTest.expectThat(event.data.message.repeatCount === 1, "ConsoleMessage repeatCount is 1.");
    2726                WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, listener, null);
    28                 resolve();
    29             });
     27            })
     28            .then(resolve, reject);
     29
     30            InspectorTest.evaluateInPage(testMessage);
    3031        }
    3132    });
     
    3536            name: `RepeatTestMessage${i}`,
    3637            description: "Repeat the last message, it should trigger messageRepeatCountUpdated.",
    37             test: (resolve, reject) => {
    38                 InspectorTest.evaluateInPage(testMessage);
    39 
     38            test(resolve, reject) {
    4039                let listener = WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
    4140                    InspectorTest.assert(false, "Should not fire MessageAdded, this should be a repeat.");
     
    4342                });
    4443
    45                 WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
     44                WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated)
     45                .then((event) => {
    4646                    InspectorTest.expectThat(event, "PreviousMessageRepeatCountUpdated should fire.");
    4747                    InspectorTest.expectThat(event.data.count === (i + 1), `Count should be ${i + 1}.`);
    4848                    WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.MessageAdded, listener, null);
    49                     resolve();
    50                 });
     49                })
     50                .then(resolve, reject);
     51
     52                InspectorTest.evaluateInPage(testMessage);
    5153            }
    5254        });
     
    5658        name: "AddDifferentMessage",
    5759        description: "Add a different message, it should reset the repeat count.",
    58         test: (resolve, reject) => {
    59             InspectorTest.evaluateInPage(differentMessage);
    60 
     60        test(resolve, reject) {
    6161            let listener = WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
    6262                InspectorTest.assert(false, "Should not fire PreviousMessageRepeatCountUpdated, this message is different.");
     
    6464            });
    6565
    66             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     66            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     67            .then((event) => {
    6768                InspectorTest.expectThat(event.data.message instanceof WebInspector.ConsoleMessage, "MessageAdded event should fire.");
    6869                InspectorTest.expectThat(event.data.message.repeatCount === 1, "ConsoleMessage repeatCount is 1.");
    6970                WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, listener, null);
    70                 resolve();
    71             });
     71            })
     72            .then(resolve, reject);
     73
     74            InspectorTest.evaluateInPage(differentMessage);
    7275        }
    7376    });
     
    7679        name: "RepeatDifferentMessage",
    7780        description: "Repeat this different message, it should increment the repeat count.",
    78         test: (resolve, reject) => {
    79             InspectorTest.evaluateInPage(differentMessage);
    80 
     81        test(resolve, reject) {
    8182            let listener = WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
    8283                InspectorTest.assert(false, "Should not fire MessageAdded, this should be a repeat.");
     
    8485            });
    8586
    86             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
     87            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated)
     88            .then((event) => {
    8789                InspectorTest.expectThat(event, "PreviousMessageRepeatCountUpdated should fire.");
    8890                InspectorTest.expectThat(event.data.count === 2, "Count should be 2.");
    8991                WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.MessageAdded, listener, null);
    90                 resolve();
    91             });
     92            })
     93            .then(resolve, reject);
     94
     95            InspectorTest.evaluateInPage(differentMessage);
    9296        }
    9397    });
     
    96100        name: "AddTestMessageAgain",
    97101        description: "Add the original message again, it should have a single repeat count.",
    98         test: (resolve, reject) => {
    99             InspectorTest.evaluateInPage(testMessage);
    100 
     102        test(resolve, reject) {
    101103            let listener = WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
    102104                InspectorTest.assert(false, "Should not fire PreviousMessageRepeatCountUpdated yet.");
     
    104106            });
    105107
    106             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.MessageAdded, (event) => {
     108            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.MessageAdded)
     109            .then((event) => {
    107110                InspectorTest.expectThat(event.data.message instanceof WebInspector.ConsoleMessage, "MessageAdded event should fire.");
    108111                InspectorTest.expectThat(event.data.message.repeatCount === 1, "ConsoleMessage repeatCount is 1.");
    109112                WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, listener, null);
    110                 resolve();
    111             });
     113            })
     114            .then(resolve, reject);
     115
     116            InspectorTest.evaluateInPage(testMessage);
    112117        }
    113118    });
     
    118123        name: "MessagesWithEqualValuesRepeats",
    119124        description: "Repeat messages with equal values should trigger messageRepeatCountUpdated.",
    120         test: (resolve, reject) => {
     125        test(resolve, reject) {
     126            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated)
     127            .then((event) => {
     128                InspectorTest.expectThat(event, "PreviousMessageRepeatCountUpdated should fire for repeat messages with equal values.");
     129            })
     130            .then(resolve, reject);
     131
    121132            const messageWithValues = "console.log('equal parameter values', 1, 2)";
    122133            InspectorTest.evaluateInPage(messageWithValues);
    123134            InspectorTest.evaluateInPage(messageWithValues);
    124 
    125             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
    126                 InspectorTest.expectThat(event, "PreviousMessageRepeatCountUpdated should fire for repeat messages with equal values.");
    127                 resolve();
    128             });
    129135        }
    130136    });
     
    133139        name: "MessagesWithObjectsDoNotRepeat",
    134140        description: "Repeat messages with objects should not trigger messageRepeatCountUpdated.",
    135         test: (resolve, reject) => {
    136             const messageWithObject = "console.log('object', window)";
    137             InspectorTest.evaluateInPage(messageWithObject);
    138             InspectorTest.evaluateInPage(messageWithObject);
    139 
     141        test(resolve, reject) {
    140142            let repeatListener = WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
    141143                InspectorTest.assert(false, "PreviousMessageRepeatCountUpdated should not fire for repeat messages with object arguments.");
     
    151153                    WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.MessageAdded, addListener, null);
    152154                    resolve();
    153                 }               
     155                }
    154156            });
     157
     158            const messageWithObject = "console.log('object', window)";
     159            InspectorTest.evaluateInPage(messageWithObject);
     160            InspectorTest.evaluateInPage(messageWithObject);
    155161        }
    156162    });
     
    159165        name: "MessagesWithDifferentLevelsDoNotRepeat",
    160166        description: "Repeat messages with different levels should not trigger messageRepeatCountUpdated.",
    161         test: (resolve, reject) => {
    162             InspectorTest.evaluateInPage("console.warn('level')");
    163             InspectorTest.evaluateInPage("console.error('level')");
    164 
     167        test(resolve, reject) {
    165168            let repeatListener = WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.PreviousMessageRepeatCountUpdated, (event) => {
    166169                InspectorTest.assert(false, "PreviousMessageRepeatCountUpdated should not fire for repeat messages with different levels.");
     
    176179                    WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.MessageAdded, addListener, null);
    177180                    resolve();
    178                 }               
     181                }
    179182            });
     183
     184            InspectorTest.evaluateInPage("console.warn('level')");
     185            InspectorTest.evaluateInPage("console.error('level')");
    180186        }
    181187    });
  • trunk/LayoutTests/inspector/console/messagesCleared.html

    r201855 r206116  
    1111        name: "ClearViaConsoleClearMessagesAPI",
    1212        description: "Calling Console.clearMessages should trigger Console.messagesCleared.",
    13         test: (resolve, reject) => {
     13        test(resolve, reject) {
     14            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.Cleared)
     15            .then((event) => {
     16                InspectorTest.expectThat(event, "Cleared event should fire.");
     17            })
     18            .then(resolve, reject);
     19
    1420            ConsoleAgent.clearMessages();
    15             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.Cleared, (event) => {
    16                 InspectorTest.expectThat(event, "Cleared event should fire.");
    17                 resolve();
    18             });
    1921        }
    2022    });
     
    2325        name: "ClearViaConsoleAPI",
    2426        description: "Calling console.clear() should trigger Console.messagesCleared.",
    25         test: (resolve, reject) => {
     27        test(resolve, reject) {
     28            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.Cleared)
     29            .then((event) => {
     30                InspectorTest.expectThat(event, "Cleared event should fire.");
     31            })
     32            .then(resolve, reject);
     33
    2634            InspectorTest.evaluateInPage("console.clear()");
    27             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.Cleared, (event) => {
    28                 InspectorTest.expectThat(event, "Cleared event should fire.");
    29                 resolve();
    30             });
    3135        }
    3236    });
     
    3539        name: "ClearViaCommandLineAPI",
    3640        description: "Calling `clear()` in the command line API should trigger Console.messagesCleared.",
    37         test: (resolve, reject) => {
     41        test(resolve, reject) {
     42            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.Cleared)
     43            .then((event) => {
     44                InspectorTest.expectThat(event, "Cleared event should fire.");
     45            })
     46            .then(resolve, reject);
     47
    3848            WebInspector.runtimeManager.evaluateInInspectedWindow("clear()", {objectGroup: "test", includeCommandLineAPI: true}, function(){});
    39             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.Cleared, (event) => {
    40                 InspectorTest.expectThat(event, "Cleared event should fire.");
    41                 resolve();
    42             });
    4349        }
    4450    });
     
    4753        name: "ClearViaPageReload",
    4854        description: "Reloading the page should trigger Console.messagesCleared.",
    49         test: (resolve, reject) => {
     55        test(resolve, reject) {
     56            WebInspector.logManager.awaitEvent(WebInspector.LogManager.Event.Cleared)
     57            .then((event) => {
     58                InspectorTest.expectThat(event, "Cleared event should fire.");
     59            })
     60            .then(resolve, reject);
     61
    5062            InspectorTest.reloadPage();
    51             WebInspector.logManager.singleFireEventListener(WebInspector.LogManager.Event.Cleared, (event) => {
    52                 InspectorTest.expectThat(event, "Cleared event should fire.");
    53                 resolve();
    54             });
    5563        }
    5664    });
Note: See TracChangeset for help on using the changeset viewer.