Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5406)

Unified Diff: chrome/test/data/webui/settings/bluetooth_page_browsertest_chromeos.js

Issue 1568703002: Add Bluetooth settings dialog tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/webui/settings/bluetooth_page_browsertest_chromeos.js
diff --git a/chrome/test/data/webui/settings/bluetooth_page_browsertest_chromeos.js b/chrome/test/data/webui/settings/bluetooth_page_browsertest_chromeos.js
index 9d31c55044849ed921ba9ad48716f40b2fbd81e7..2a5007e9ebc7a5fb0bf2830650798dd9a9460831 100644
--- a/chrome/test/data/webui/settings/bluetooth_page_browsertest_chromeos.js
+++ b/chrome/test/data/webui/settings/bluetooth_page_browsertest_chromeos.js
@@ -86,11 +86,16 @@ TEST_F('SettingsBluetoothPageBrowserTest', 'MAYBE_Bluetooth', function() {
name: 'FakeUnPairedDevice1',
paired: false,
},
+ {
+ address: '00:00:00:00:00:02',
+ name: 'FakeUnPairedDevice2',
+ paired: false,
+ },
];
suite('SettingsBluetoothPage', function() {
test('enable', function() {
- assertFalse(self.bluetoothApi_.enabled);
+ assertFalse(self.bluetoothApi_.adapterState.powered);
var bluetoothSection = self.getSection(advanced, 'bluetooth');
assertTrue(!!bluetoothSection);
var bluetooth =
@@ -103,10 +108,10 @@ TEST_F('SettingsBluetoothPageBrowserTest', 'MAYBE_Bluetooth', function() {
// Test that tapping the enable checkbox changes its value and calls
// bluetooth.setAdapterState with powered = false.
MockInteractions.tap(enable);
+ Polymer.dom.flush();
expectTrue(enable.checked);
- expectTrue(self.bluetoothApi_.enabled);
+ expectTrue(self.bluetoothApi_.adapterState.powered);
// Confirm that 'bluetoothEnabled' remains set to true.
- Polymer.dom.flush();
expectTrue(bluetooth.bluetoothEnabled);
// Set 'bluetoothEnabled' directly and confirm that the checkbox
// toggles.
@@ -123,8 +128,7 @@ TEST_F('SettingsBluetoothPageBrowserTest', 'MAYBE_Bluetooth', function() {
var deviceList = bluetooth.$.deviceList;
assertTrue(!!deviceList);
// Set enabled, with default (empty) device list.
- self.bluetoothApi_.enabled = true;
- bluetooth.bluetoothEnabled = true;
+ self.bluetoothApi_.setEnabled(true);
Polymer.dom.flush();
// Ensure that initially the 'device list empty' span is visible.
expectFalse(deviceList.hidden);
@@ -144,6 +148,48 @@ TEST_F('SettingsBluetoothPageBrowserTest', 'MAYBE_Bluetooth', function() {
assertFalse(devices[1].device.connected);
assertTrue(devices[1].device.connecting);
});
+
+ test('device dialog', function() {
+ var bluetoothSection = self.getSection(advanced, 'bluetooth');
+ var bluetooth =
+ bluetoothSection.querySelector('settings-bluetooth-page');
+ assertTrue(!!bluetooth);
+ self.bluetoothApi_.setEnabled(true);
+
+ // Tap the 'add device' button.
+ MockInteractions.tap(bluetooth.$.addDevice);
+ Polymer.dom.flush();
+ // Ensure the dialog appears.
+ var dialog = bluetooth.$.deviceDialog;
+ assertTrue(!!dialog);
+ assertTrue(dialog.opened);
+ var addDialog = bluetooth.$$('settings-bluetooth-add-device-dialog');
+ assertTrue(!!addDialog);
+ // Ensure the dialog has the expected devices.
+ var devicesDiv = addDialog.$.dialogDeviceList;
+ var devices = devicesDiv.querySelectorAll('bluetooth-device-list-item');
+ assertEquals(2, devices.length);
+
+ // Select a device.
+ MockInteractions.tap(devices[0].$$('div'));
+ Polymer.dom.flush();
+ // Ensure the pairing dialog is shown.
+ var pairDialog = bluetooth.$$('settings-bluetooth-pair-device-dialog');
+ assertTrue(!!pairDialog);
+ // Ensure the device is connected to.
+ expectEquals(1, self.bluetoothPrivateApi_.connectedDevices_.size);
+ var deviceAddress =
+ self.bluetoothPrivateApi_.connectedDevices_.keys().next().value;
+
+ // Close the dialog
michaelpg 2016/01/08 03:02:53 period
stevenjb 2016/01/08 16:48:01 Done.
+ MockInteractions.tap(pairDialog.$.close);
+ Polymer.dom.flush();
+ expectFalse(dialog.opened);
+ var response = self.bluetoothPrivateApi_.pairingResponses_[deviceAddress];
+ assertTrue(!!response);
+ expectEquals(chrome.bluetoothPrivate.PairingResponse.CANCEL,
+ response.response);
+ });
});
// Run all registered tests.

Powered by Google App Engine
This is Rietveld 408576698