| Index: chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| diff --git a/chrome/test/data/webui/bluetooth_internals_browsertest.js b/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| index 2bfa1804bf53326bc901dd7393f30b3de8d7a799..8061da727eb29907cd44bffa36d22a61e99624bf 100644
|
| --- a/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| +++ b/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| @@ -228,10 +228,14 @@ GEN('#endif');
|
|
|
| TEST_F('BluetoothInternalsTest',
|
| 'MAYBE_Startup_BluetoothInternals', function() {
|
| + /** @const */ var PageManager = cr.ui.pageManager.PageManager;
|
| +
|
| var adapterFactory = null;
|
| + var adapterFieldSet = null;
|
| var deviceTable = null;
|
| var sidebarNode = null;
|
|
|
| + var fakeAdapterInfo = this.fakeAdapterInfo;
|
| var fakeDeviceInfo1 = this.fakeDeviceInfo1;
|
| var fakeDeviceInfo2 = this.fakeDeviceInfo2;
|
| var fakeDeviceInfo3 = this.fakeDeviceInfo3;
|
| @@ -256,6 +260,7 @@ TEST_F('BluetoothInternalsTest',
|
| });
|
|
|
| setup(function() {
|
| + adapterFieldSet = document.querySelector('#adapter fieldset');
|
| deviceTable = document.querySelector('#devices table');
|
| sidebarNode = document.querySelector('#sidebar');
|
| devices.splice(0, devices.length);
|
| @@ -267,6 +272,7 @@ TEST_F('BluetoothInternalsTest',
|
| adapterFactory.reset();
|
| sidebarObj.close();
|
| snackbar.Snackbar.dismiss(true);
|
| + PageManager.registeredPages['adapter'].setAdapterInfo(fakeAdapterInfo());
|
| });
|
|
|
| /**
|
| @@ -436,7 +442,7 @@ TEST_F('BluetoothInternalsTest',
|
| var sidebarItems = Array.from(
|
| sidebarNode.querySelectorAll('.sidebar-content li'));
|
|
|
| - ['devices'].forEach(function(pageName) {
|
| + ['adapter', 'devices'].forEach(function(pageName) {
|
| expectTrue(sidebarItems.some(function(item) {
|
| return item.dataset.pageName === pageName;
|
| }));
|
| @@ -552,8 +558,56 @@ TEST_F('BluetoothInternalsTest',
|
|
|
| snackbar.Snackbar.dismiss(true);
|
| });
|
| - });
|
|
|
| + /* AdapterPage Tests */
|
| + function checkAdapterFieldSet(adapterInfo) {
|
| + for (var propName in adapterInfo) {
|
| + var valueCell = adapterFieldSet.querySelector(
|
| + '[data-field="' + propName + '"]');
|
| + var value = adapterInfo[propName];
|
| +
|
| + if (typeof(value) === 'boolean') {
|
| + expectEquals(value, valueCell.classList.contains('checked'));
|
| + } else if (typeof(value) === 'string') {
|
| + expectEquals(value, valueCell.textContent);
|
| + } else {
|
| + assert('boolean or string type expected but got ' + typeof(value));
|
| + }
|
| + }
|
| + }
|
| +
|
| + test('AdapterPage_DefaultState', function() {
|
| + checkAdapterFieldSet(adapterFieldSet.value);
|
| + });
|
| +
|
| + test('AdapterPage_AdapterChanged', function() {
|
| + var adapterInfo = adapterFieldSet.value;
|
| +
|
| + adapterInfo.present = !adapterInfo.present;
|
| + adapterBroker.adapterClient_.presentChanged(adapterInfo.present);
|
| + checkAdapterFieldSet(adapterInfo);
|
| +
|
| + adapterInfo.discovering = !adapterInfo.discovering;
|
| + adapterBroker.adapterClient_.discoveringChanged(adapterInfo.discovering);
|
| + checkAdapterFieldSet(adapterInfo);
|
| + });
|
| +
|
| + test('AdapterPage_AdapterChanged_RepeatTwice', function() {
|
| + var adapterInfo = adapterFieldSet.value;
|
| +
|
| + adapterInfo.present = !adapterInfo.present;
|
| + adapterBroker.adapterClient_.presentChanged(adapterInfo.present);
|
| + checkAdapterFieldSet(adapterInfo);
|
| + adapterBroker.adapterClient_.presentChanged(adapterInfo.present);
|
| + checkAdapterFieldSet(adapterInfo);
|
| +
|
| + adapterInfo.discovering = !adapterInfo.discovering;
|
| + adapterBroker.adapterClient_.discoveringChanged(adapterInfo.discovering);
|
| + checkAdapterFieldSet(adapterInfo);
|
| + adapterBroker.adapterClient_.discoveringChanged(adapterInfo.discovering);
|
| + checkAdapterFieldSet(adapterInfo);
|
| + });
|
| + });
|
|
|
| // Run all registered tests.
|
| mocha.run();
|
|
|