diff options
Diffstat (limited to 'devtools/client/netmonitor/test/browser_net_icon-preview.js')
-rw-r--r-- | devtools/client/netmonitor/test/browser_net_icon-preview.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_icon-preview.js b/devtools/client/netmonitor/test/browser_net_icon-preview.js new file mode 100644 index 000000000..e3c5bde4e --- /dev/null +++ b/devtools/client/netmonitor/test/browser_net_icon-preview.js @@ -0,0 +1,71 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/** + * Tests if image responses show a thumbnail in the requests menu. + */ + +add_task(function* () { + let Actions = require("devtools/client/netmonitor/actions/index"); + + let { tab, monitor } = yield initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL); + info("Starting test... "); + + let { $, $all, EVENTS, ACTIVITY_TYPE, NetMonitorView, NetMonitorController, + gStore } = monitor.panelWin; + let { RequestsMenu } = NetMonitorView; + + let wait = waitForEvents(); + yield performRequests(); + yield wait; + + info("Checking the image thumbnail when all items are shown."); + checkImageThumbnail(); + + RequestsMenu.sortBy("size"); + info("Checking the image thumbnail when all items are sorted."); + checkImageThumbnail(); + + gStore.dispatch(Actions.toggleFilterType("images")); + info("Checking the image thumbnail when only images are shown."); + checkImageThumbnail(); + + info("Reloading the debuggee and performing all requests again..."); + wait = waitForEvents(); + yield reloadAndPerformRequests(); + yield wait; + + info("Checking the image thumbnail after a reload."); + checkImageThumbnail(); + + yield teardown(monitor); + + function waitForEvents() { + return promise.all([ + waitForNetworkEvents(monitor, CONTENT_TYPE_WITHOUT_CACHE_REQUESTS), + monitor.panelWin.once(EVENTS.RESPONSE_IMAGE_THUMBNAIL_DISPLAYED) + ]); + } + + function performRequests() { + return ContentTask.spawn(tab.linkedBrowser, {}, function* () { + content.wrappedJSObject.performRequests(); + }); + } + + function* reloadAndPerformRequests() { + yield NetMonitorController.triggerActivity(ACTIVITY_TYPE.RELOAD.WITH_CACHE_ENABLED); + yield performRequests(); + } + + function checkImageThumbnail() { + is($all(".requests-menu-icon[type=thumbnail]").length, 1, + "There should be only one image request with a thumbnail displayed."); + is($(".requests-menu-icon[type=thumbnail]").src, TEST_IMAGE_DATA_URI, + "The image requests-menu-icon thumbnail is displayed correctly."); + is($(".requests-menu-icon[type=thumbnail]").hidden, false, + "The image requests-menu-icon thumbnail should not be hidden."); + } +}); |