gecko-dev/devtools/client/shared/test/browser_telemetry_button_responsive.js
Gabriel Luong 725df6c2ff Bug 1569574 - Part 1: Rename the responsive.html/ folder to responsive/. r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D40929

--HG--
rename : devtools/client/responsive.html/actions/devices.js => devtools/client/responsive/actions/devices.js
rename : devtools/client/responsive.html/actions/index.js => devtools/client/responsive/actions/index.js
rename : devtools/client/responsive.html/actions/moz.build => devtools/client/responsive/actions/moz.build
rename : devtools/client/responsive.html/actions/screenshot.js => devtools/client/responsive/actions/screenshot.js
rename : devtools/client/responsive.html/actions/ui.js => devtools/client/responsive/actions/ui.js
rename : devtools/client/responsive.html/actions/viewports.js => devtools/client/responsive/actions/viewports.js
rename : devtools/client/responsive.html/browser/content.js => devtools/client/responsive/browser/content.js
rename : devtools/client/responsive.html/browser/moz.build => devtools/client/responsive/browser/moz.build
rename : devtools/client/responsive.html/browser/swap.js => devtools/client/responsive/browser/swap.js
rename : devtools/client/responsive.html/browser/tunnel.js => devtools/client/responsive/browser/tunnel.js
rename : devtools/client/responsive.html/browser/web-navigation.js => devtools/client/responsive/browser/web-navigation.js
rename : devtools/client/responsive.html/components/App.js => devtools/client/responsive/components/App.js
rename : devtools/client/responsive.html/components/Browser.js => devtools/client/responsive/components/Browser.js
rename : devtools/client/responsive.html/components/Device.js => devtools/client/responsive/components/Device.js
rename : devtools/client/responsive.html/components/DeviceAdder.js => devtools/client/responsive/components/DeviceAdder.js
rename : devtools/client/responsive.html/components/DeviceForm.js => devtools/client/responsive/components/DeviceForm.js
rename : devtools/client/responsive.html/components/DeviceList.js => devtools/client/responsive/components/DeviceList.js
rename : devtools/client/responsive.html/components/DeviceModal.js => devtools/client/responsive/components/DeviceModal.js
rename : devtools/client/responsive.html/components/DevicePixelRatioMenu.js => devtools/client/responsive/components/DevicePixelRatioMenu.js
rename : devtools/client/responsive.html/components/DeviceSelector.js => devtools/client/responsive/components/DeviceSelector.js
rename : devtools/client/responsive.html/components/ResizableViewport.js => devtools/client/responsive/components/ResizableViewport.js
rename : devtools/client/responsive.html/components/SettingsMenu.js => devtools/client/responsive/components/SettingsMenu.js
rename : devtools/client/responsive.html/components/Toolbar.js => devtools/client/responsive/components/Toolbar.js
rename : devtools/client/responsive.html/components/UserAgentInput.js => devtools/client/responsive/components/UserAgentInput.js
rename : devtools/client/responsive.html/components/ViewportDimension.js => devtools/client/responsive/components/ViewportDimension.js
rename : devtools/client/responsive.html/components/Viewports.js => devtools/client/responsive/components/Viewports.js
rename : devtools/client/responsive.html/components/moz.build => devtools/client/responsive/components/moz.build
rename : devtools/client/responsive.html/constants.js => devtools/client/responsive/constants.js
rename : devtools/client/responsive.html/images/grippers.svg => devtools/client/responsive/images/grippers.svg
rename : devtools/client/responsive.html/images/moz.build => devtools/client/responsive/images/moz.build
rename : devtools/client/responsive.html/images/rotate-viewport.svg => devtools/client/responsive/images/rotate-viewport.svg
rename : devtools/client/responsive.html/images/touch-events.svg => devtools/client/responsive/images/touch-events.svg
rename : devtools/client/responsive.html/index.css => devtools/client/responsive/index.css
rename : devtools/client/responsive.html/index.js => devtools/client/responsive/index.js
rename : devtools/client/responsive.html/index.xhtml => devtools/client/responsive/index.xhtml
rename : devtools/client/responsive.html/manager.js => devtools/client/responsive/manager.js
rename : devtools/client/responsive.html/moz.build => devtools/client/responsive/moz.build
rename : devtools/client/responsive.html/reducers.js => devtools/client/responsive/reducers.js
rename : devtools/client/responsive.html/reducers/devices.js => devtools/client/responsive/reducers/devices.js
rename : devtools/client/responsive.html/reducers/moz.build => devtools/client/responsive/reducers/moz.build
rename : devtools/client/responsive.html/reducers/screenshot.js => devtools/client/responsive/reducers/screenshot.js
rename : devtools/client/responsive.html/reducers/ui.js => devtools/client/responsive/reducers/ui.js
rename : devtools/client/responsive.html/reducers/viewports.js => devtools/client/responsive/reducers/viewports.js
rename : devtools/client/responsive.html/setting-onboarding-tooltip.js => devtools/client/responsive/setting-onboarding-tooltip.js
rename : devtools/client/responsive.html/store.js => devtools/client/responsive/store.js
rename : devtools/client/responsive.html/test/browser/.eslintrc.js => devtools/client/responsive/test/browser/.eslintrc.js
rename : devtools/client/responsive.html/test/browser/browser.ini => devtools/client/responsive/test/browser/browser.ini
rename : devtools/client/responsive.html/test/browser/browser_cmd_click.js => devtools/client/responsive/test/browser/browser_cmd_click.js
rename : devtools/client/responsive.html/test/browser/browser_container_tab.js => devtools/client/responsive/test/browser/browser_container_tab.js
rename : devtools/client/responsive.html/test/browser/browser_contextmenu_inspect.js => devtools/client/responsive/test/browser/browser_contextmenu_inspect.js
rename : devtools/client/responsive.html/test/browser/browser_contextual_identity.js => devtools/client/responsive/test/browser/browser_contextual_identity.js
rename : devtools/client/responsive.html/test/browser/browser_device_change.js => devtools/client/responsive/test/browser/browser_device_change.js
rename : devtools/client/responsive.html/test/browser/browser_device_custom.js => devtools/client/responsive/test/browser/browser_device_custom.js
rename : devtools/client/responsive.html/test/browser/browser_device_custom_edit.js => devtools/client/responsive/test/browser/browser_device_custom_edit.js
rename : devtools/client/responsive.html/test/browser/browser_device_custom_remove.js => devtools/client/responsive/test/browser/browser_device_custom_remove.js
rename : devtools/client/responsive.html/test/browser/browser_device_modal_error.js => devtools/client/responsive/test/browser/browser_device_modal_error.js
rename : devtools/client/responsive.html/test/browser/browser_device_modal_exit.js => devtools/client/responsive/test/browser/browser_device_modal_exit.js
rename : devtools/client/responsive.html/test/browser/browser_device_modal_submit.js => devtools/client/responsive/test/browser/browser_device_modal_submit.js
rename : devtools/client/responsive.html/test/browser/browser_device_pixel_ratio_change.js => devtools/client/responsive/test/browser/browser_device_pixel_ratio_change.js
rename : devtools/client/responsive.html/test/browser/browser_device_state_restore.js => devtools/client/responsive/test/browser/browser_device_state_restore.js
rename : devtools/client/responsive.html/test/browser/browser_device_width.js => devtools/client/responsive/test/browser/browser_device_width.js
rename : devtools/client/responsive.html/test/browser/browser_exit_button.js => devtools/client/responsive/test/browser/browser_exit_button.js
rename : devtools/client/responsive.html/test/browser/browser_ext_messaging.js => devtools/client/responsive/test/browser/browser_ext_messaging.js
rename : devtools/client/responsive.html/test/browser/browser_favicon.js => devtools/client/responsive/test/browser/browser_favicon.js
rename : devtools/client/responsive.html/test/browser/browser_frame_script_active.js => devtools/client/responsive/test/browser/browser_frame_script_active.js
rename : devtools/client/responsive.html/test/browser/browser_hide_container.js => devtools/client/responsive/test/browser/browser_hide_container.js
rename : devtools/client/responsive.html/test/browser/browser_menu_item_01.js => devtools/client/responsive/test/browser/browser_menu_item_01.js
rename : devtools/client/responsive.html/test/browser/browser_menu_item_02.js => devtools/client/responsive/test/browser/browser_menu_item_02.js
rename : devtools/client/responsive.html/test/browser/browser_mouse_resize.js => devtools/client/responsive/test/browser/browser_mouse_resize.js
rename : devtools/client/responsive.html/test/browser/browser_navigation.js => devtools/client/responsive/test/browser/browser_navigation.js
rename : devtools/client/responsive.html/test/browser/browser_network_throttling.js => devtools/client/responsive/test/browser/browser_network_throttling.js
rename : devtools/client/responsive.html/test/browser/browser_orientationchange_event.js => devtools/client/responsive/test/browser/browser_orientationchange_event.js
rename : devtools/client/responsive.html/test/browser/browser_page_state.js => devtools/client/responsive/test/browser/browser_page_state.js
rename : devtools/client/responsive.html/test/browser/browser_page_style.js => devtools/client/responsive/test/browser/browser_page_style.js
rename : devtools/client/responsive.html/test/browser/browser_permission_doorhanger.js => devtools/client/responsive/test/browser/browser_permission_doorhanger.js
rename : devtools/client/responsive.html/test/browser/browser_preloaded_newtab.js => devtools/client/responsive/test/browser/browser_preloaded_newtab.js
rename : devtools/client/responsive.html/test/browser/browser_prompts.js => devtools/client/responsive/test/browser/browser_prompts.js
rename : devtools/client/responsive.html/test/browser/browser_screenshot_button.js => devtools/client/responsive/test/browser/browser_screenshot_button.js
rename : devtools/client/responsive.html/test/browser/browser_scroll.js => devtools/client/responsive/test/browser/browser_scroll.js
rename : devtools/client/responsive.html/test/browser/browser_state_restore.js => devtools/client/responsive/test/browser/browser_state_restore.js
rename : devtools/client/responsive.html/test/browser/browser_tab_close.js => devtools/client/responsive/test/browser/browser_tab_close.js
rename : devtools/client/responsive.html/test/browser/browser_tab_remoteness_change.js => devtools/client/responsive/test/browser/browser_tab_remoteness_change.js
rename : devtools/client/responsive.html/test/browser/browser_target_blank.js => devtools/client/responsive/test/browser/browser_target_blank.js
rename : devtools/client/responsive.html/test/browser/browser_telemetry_activate_rdm.js => devtools/client/responsive/test/browser/browser_telemetry_activate_rdm.js
rename : devtools/client/responsive.html/test/browser/browser_toggle_zoom.js => devtools/client/responsive/test/browser/browser_toggle_zoom.js
rename : devtools/client/responsive.html/test/browser/browser_toolbox_computed_view.js => devtools/client/responsive/test/browser/browser_toolbox_computed_view.js
rename : devtools/client/responsive.html/test/browser/browser_toolbox_rule_view.js => devtools/client/responsive/test/browser/browser_toolbox_rule_view.js
rename : devtools/client/responsive.html/test/browser/browser_toolbox_rule_view_reload.js => devtools/client/responsive/test/browser/browser_toolbox_rule_view_reload.js
rename : devtools/client/responsive.html/test/browser/browser_toolbox_swap_browsers.js => devtools/client/responsive/test/browser/browser_toolbox_swap_browsers.js
rename : devtools/client/responsive.html/test/browser/browser_toolbox_swap_inspector.js => devtools/client/responsive/test/browser/browser_toolbox_swap_inspector.js
rename : devtools/client/responsive.html/test/browser/browser_tooltip.js => devtools/client/responsive/test/browser/browser_tooltip.js
rename : devtools/client/responsive.html/test/browser/browser_touch_device.js => devtools/client/responsive/test/browser/browser_touch_device.js
rename : devtools/client/responsive.html/test/browser/browser_touch_does_not_trigger_hover_states.js => devtools/client/responsive/test/browser/browser_touch_does_not_trigger_hover_states.js
rename : devtools/client/responsive.html/test/browser/browser_touch_simulation.js => devtools/client/responsive/test/browser/browser_touch_simulation.js
rename : devtools/client/responsive.html/test/browser/browser_typeahead_find.js => devtools/client/responsive/test/browser/browser_typeahead_find.js
rename : devtools/client/responsive.html/test/browser/browser_user_agent_input.js => devtools/client/responsive/test/browser/browser_user_agent_input.js
rename : devtools/client/responsive.html/test/browser/browser_viewport_basics.js => devtools/client/responsive/test/browser/browser_viewport_basics.js
rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_fixed_width.js => devtools/client/responsive/test/browser/browser_viewport_resizing_fixed_width.js
rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_fixed_width_and_zoom.js => devtools/client/responsive/test/browser/browser_viewport_resizing_fixed_width_and_zoom.js
rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_minimum_scale.js => devtools/client/responsive/test/browser/browser_viewport_resizing_minimum_scale.js
rename : devtools/client/responsive.html/test/browser/browser_viewport_resizing_scrollbar.js => devtools/client/responsive/test/browser/browser_viewport_resizing_scrollbar.js
rename : devtools/client/responsive.html/test/browser/browser_window_close.js => devtools/client/responsive/test/browser/browser_window_close.js
rename : devtools/client/responsive.html/test/browser/browser_window_sizing.js => devtools/client/responsive/test/browser/browser_window_sizing.js
rename : devtools/client/responsive.html/test/browser/contextual_identity.html => devtools/client/responsive/test/browser/contextual_identity.html
rename : devtools/client/responsive.html/test/browser/devices.json => devtools/client/responsive/test/browser/devices.json
rename : devtools/client/responsive.html/test/browser/doc_contextmenu_inspect.html => devtools/client/responsive/test/browser/doc_contextmenu_inspect.html
rename : devtools/client/responsive.html/test/browser/doc_page_state.html => devtools/client/responsive/test/browser/doc_page_state.html
rename : devtools/client/responsive.html/test/browser/doc_toolbox_rule_view.css => devtools/client/responsive/test/browser/doc_toolbox_rule_view.css
rename : devtools/client/responsive.html/test/browser/doc_toolbox_rule_view.html => devtools/client/responsive/test/browser/doc_toolbox_rule_view.html
rename : devtools/client/responsive.html/test/browser/favicon.html => devtools/client/responsive/test/browser/favicon.html
rename : devtools/client/responsive.html/test/browser/favicon.ico => devtools/client/responsive/test/browser/favicon.ico
rename : devtools/client/responsive.html/test/browser/geolocation.html => devtools/client/responsive/test/browser/geolocation.html
rename : devtools/client/responsive.html/test/browser/head.js => devtools/client/responsive/test/browser/head.js
rename : devtools/client/responsive.html/test/browser/hover.html => devtools/client/responsive/test/browser/hover.html
rename : devtools/client/responsive.html/test/browser/page_style.html => devtools/client/responsive/test/browser/page_style.html
rename : devtools/client/responsive.html/test/browser/touch.html => devtools/client/responsive/test/browser/touch.html
rename : devtools/client/responsive.html/test/unit/.eslintrc.js => devtools/client/responsive/test/unit/.eslintrc.js
rename : devtools/client/responsive.html/test/unit/head.js => devtools/client/responsive/test/unit/head.js
rename : devtools/client/responsive.html/test/unit/test_add_device.js => devtools/client/responsive/test/unit/test_add_device.js
rename : devtools/client/responsive.html/test/unit/test_add_device_type.js => devtools/client/responsive/test/unit/test_add_device_type.js
rename : devtools/client/responsive.html/test/unit/test_add_viewport.js => devtools/client/responsive/test/unit/test_add_viewport.js
rename : devtools/client/responsive.html/test/unit/test_change_device.js => devtools/client/responsive/test/unit/test_change_device.js
rename : devtools/client/responsive.html/test/unit/test_change_display_pixel_ratio.js => devtools/client/responsive/test/unit/test_change_display_pixel_ratio.js
rename : devtools/client/responsive.html/test/unit/test_change_network_throttling.js => devtools/client/responsive/test/unit/test_change_network_throttling.js
rename : devtools/client/responsive.html/test/unit/test_change_pixel_ratio.js => devtools/client/responsive/test/unit/test_change_pixel_ratio.js
rename : devtools/client/responsive.html/test/unit/test_change_user_agent.js => devtools/client/responsive/test/unit/test_change_user_agent.js
rename : devtools/client/responsive.html/test/unit/test_resize_viewport.js => devtools/client/responsive/test/unit/test_resize_viewport.js
rename : devtools/client/responsive.html/test/unit/test_rotate_viewport.js => devtools/client/responsive/test/unit/test_rotate_viewport.js
rename : devtools/client/responsive.html/test/unit/test_update_device_displayed.js => devtools/client/responsive/test/unit/test_update_device_displayed.js
rename : devtools/client/responsive.html/test/unit/test_update_touch_simulation_enabled.js => devtools/client/responsive/test/unit/test_update_touch_simulation_enabled.js
rename : devtools/client/responsive.html/test/unit/xpcshell.ini => devtools/client/responsive/test/unit/xpcshell.ini
rename : devtools/client/responsive.html/types.js => devtools/client/responsive/types.js
rename : devtools/client/responsive.html/utils/e10s.js => devtools/client/responsive/utils/e10s.js
rename : devtools/client/responsive.html/utils/key.js => devtools/client/responsive/utils/key.js
rename : devtools/client/responsive.html/utils/l10n.js => devtools/client/responsive/utils/l10n.js
rename : devtools/client/responsive.html/utils/message.js => devtools/client/responsive/utils/message.js
rename : devtools/client/responsive.html/utils/moz.build => devtools/client/responsive/utils/moz.build
rename : devtools/client/responsive.html/utils/notification.js => devtools/client/responsive/utils/notification.js
rename : devtools/client/responsive.html/utils/orientation.js => devtools/client/responsive/utils/orientation.js
rename : devtools/client/responsive.html/utils/window.js => devtools/client/responsive/utils/window.js
extra : moz-landing-system : lando
2019-08-07 15:24:45 +00:00

108 lines
2.9 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const TEST_URI =
"data:text/html;charset=utf-8," +
"<p>browser_telemetry_button_responsive.js</p>";
// Because we need to gather stats for the period of time that a tool has been
// opened we make use of setTimeout() to create tool active times.
const TOOL_DELAY = 200;
const asyncStorage = require("devtools/shared/async-storage");
// Toggling the RDM UI involves several docShell swap operations, which are somewhat slow
// on debug builds. Usually we are just barely over the limit, so a blanket factor of 2
// should be enough.
requestLongerTimeout(2);
Services.prefs.setBoolPref("devtools.testing", true);
Services.prefs.clearUserPref("devtools.responsive.html.displayedDeviceList");
Services.prefs.setCharPref(
"devtools.devices.url",
"http://example.com/browser/devtools/client/responsive/test/browser/devices.json"
);
registerCleanupFunction(() => {
Services.prefs.clearUserPref("devtools.testing");
Services.prefs.clearUserPref("devtools.devices.url");
Services.prefs.clearUserPref("devtools.responsive.html.displayedDeviceList");
asyncStorage.removeItem("devtools.devices.url_cache");
asyncStorage.removeItem("devtools.devices.local");
});
loader.lazyRequireGetter(
this,
"ResponsiveUIManager",
"devtools/client/responsive/manager",
true
);
add_task(async function() {
await addTab(TEST_URI);
startTelemetry();
const target = await TargetFactory.forTab(gBrowser.selectedTab);
const toolbox = await gDevTools.showToolbox(target, "inspector");
info("inspector opened");
info("testing the responsivedesign button");
await testButton(toolbox);
await toolbox.destroy();
gBrowser.removeCurrentTab();
});
async function testButton(toolbox) {
info("Testing command-button-responsive");
const button = toolbox.doc.querySelector("#command-button-responsive");
ok(button, "Captain, we have the button");
await delayedClicks(button, 4);
checkResults();
}
function waitForToggle() {
return new Promise(resolve => {
const handler = () => {
ResponsiveUIManager.off("on", handler);
ResponsiveUIManager.off("off", handler);
resolve();
};
ResponsiveUIManager.on("on", handler);
ResponsiveUIManager.on("off", handler);
});
}
var delayedClicks = async function(node, clicks) {
for (let i = 0; i < clicks; i++) {
info("Clicking button " + node.id);
const toggled = waitForToggle();
node.click();
await toggled;
// See TOOL_DELAY for why we need setTimeout here
await DevToolsUtils.waitForTime(TOOL_DELAY);
}
};
function checkResults() {
// For help generating these tests use generateTelemetryTests("DEVTOOLS_RESPONSIVE_")
// here.
checkTelemetry(
"DEVTOOLS_RESPONSIVE_OPENED_COUNT",
"",
{ 0: 2, 1: 0 },
"array"
);
checkTelemetry(
"DEVTOOLS_RESPONSIVE_TIME_ACTIVE_SECONDS",
"",
null,
"hasentries"
);
}