mirror of
https://github.com/apache/cordova-plugin-statusbar.git
synced 2025-01-19 01:12:49 +08:00
161 lines
5.0 KiB
JavaScript
161 lines
5.0 KiB
JavaScript
/*
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
* or more contributor license agreements. See the NOTICE file
|
|
* distributed with this work for additional information
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
* to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance
|
|
* with the License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing,
|
|
* software distributed under the License is distributed on an
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
* KIND, either express or implied. See the License for the
|
|
* specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
*/
|
|
|
|
/* global StatusBar */
|
|
|
|
exports.defineAutoTests = function () {
|
|
describe('StatusBar', function () {
|
|
it('statusbar.spec.1 should exist', function () {
|
|
expect(window.StatusBar).toBeDefined();
|
|
});
|
|
|
|
it('statusbar.spec.2 should have show|hide methods', function () {
|
|
expect(window.StatusBar.show).toBeDefined();
|
|
expect(typeof window.StatusBar.show).toBe('function');
|
|
|
|
expect(window.StatusBar.hide).toBeDefined();
|
|
expect(typeof window.StatusBar.hide).toBe('function');
|
|
});
|
|
|
|
it('statusbar.spec.3 should have set backgroundColor methods', function () {
|
|
expect(window.StatusBar.backgroundColorByName).toBeDefined();
|
|
expect(typeof window.StatusBar.backgroundColorByName).toBe('function');
|
|
|
|
expect(window.StatusBar.backgroundColorByHexString).toBeDefined();
|
|
expect(typeof window.StatusBar.backgroundColorByHexString).toBe('function');
|
|
});
|
|
|
|
it('statusbar.spec.4 should have set style methods', function () {
|
|
expect(window.StatusBar.styleDefault).toBeDefined();
|
|
expect(typeof window.StatusBar.styleDefault).toBe('function');
|
|
|
|
expect(window.StatusBar.styleLightContent).toBeDefined();
|
|
expect(typeof window.StatusBar.styleLightContent).toBe('function');
|
|
|
|
expect(window.StatusBar.overlaysWebView).toBeDefined();
|
|
expect(typeof window.StatusBar.overlaysWebView).toBe('function');
|
|
});
|
|
});
|
|
};
|
|
|
|
exports.defineManualTests = function (contentEl, createActionButton) {
|
|
function log (msg) {
|
|
var el = document.getElementById('info');
|
|
var logLine = document.createElement('div');
|
|
logLine.innerHTML = msg;
|
|
el.appendChild(logLine);
|
|
}
|
|
|
|
function doShow () {
|
|
StatusBar.show();
|
|
log('StatusBar.isVisible=' + StatusBar.isVisible);
|
|
}
|
|
|
|
function doHide () {
|
|
StatusBar.hide();
|
|
log('StatusBar.isVisible=' + StatusBar.isVisible);
|
|
}
|
|
|
|
function doColor1 () {
|
|
log('set color=red');
|
|
StatusBar.backgroundColorByName('red');
|
|
}
|
|
|
|
function doColor3 () {
|
|
log('set style=default');
|
|
StatusBar.styleDefault();
|
|
}
|
|
|
|
var showOverlay = true;
|
|
function doOverlay () {
|
|
showOverlay = !showOverlay;
|
|
StatusBar.overlaysWebView(showOverlay);
|
|
log('Set overlay=' + showOverlay);
|
|
}
|
|
|
|
/******************************************************************************/
|
|
|
|
contentEl.innerHTML =
|
|
'<div id="info"></div>' +
|
|
'Also: tapping bar on iOS should emit a log.' +
|
|
'<div id="action-show"></div>' +
|
|
'Expected result: Status bar will be visible' +
|
|
'</p> <div id="action-hide"></div>' +
|
|
'Expected result: Status bar will be hidden' +
|
|
'</p> <div id="action-color2"></div>' +
|
|
'Expected result: Status bar text will be a light (white) color' +
|
|
'</p> <div id="action-color3"></div>' +
|
|
'Expected result: Status bar text will be a dark (black) color' +
|
|
'</p> <div id="action-overlays"></div>' +
|
|
'Expected result:<br>Overlay true = status bar will lay on top of web view content<br>Overlay false = status bar will be separate from web view and will not cover content' +
|
|
'</p> <div id="action-color1"></div>' +
|
|
'Expected result: If overlay false, background color for status bar will be red';
|
|
|
|
log('StatusBar.isVisible=' + StatusBar.isVisible);
|
|
window.addEventListener(
|
|
'statusTap',
|
|
function () {
|
|
log('tap!');
|
|
},
|
|
false
|
|
);
|
|
|
|
createActionButton(
|
|
'Show',
|
|
function () {
|
|
doShow();
|
|
},
|
|
'action-show'
|
|
);
|
|
|
|
createActionButton(
|
|
'Hide',
|
|
function () {
|
|
doHide();
|
|
},
|
|
'action-hide'
|
|
);
|
|
|
|
createActionButton(
|
|
'Style=red (background)',
|
|
function () {
|
|
doColor1();
|
|
},
|
|
'action-color1'
|
|
);
|
|
|
|
createActionButton(
|
|
'Style=default',
|
|
function () {
|
|
doColor3();
|
|
},
|
|
'action-color3'
|
|
);
|
|
|
|
createActionButton(
|
|
'Toggle Overlays',
|
|
function () {
|
|
doOverlay();
|
|
},
|
|
'action-overlays'
|
|
);
|
|
};
|