blob: b66c5cc58d9578641a710adbc4c31632dafa688b [file] [log] [blame]
/*
*
* 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.
*
*/
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.styleBlackTranslucent).toBeDefined();
expect(typeof window.StatusBar.styleBlackTranslucent).toBe("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.styleBlackOpaque).toBeDefined();
expect(typeof window.StatusBar.styleBlackOpaque).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 doColor2() {
log('set style=translucent black');
StatusBar.styleBlackTranslucent();
}
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=translucent black", function () {
doColor2();
}, 'action-color2');
createActionButton("Style=default", function () {
doColor3();
}, 'action-color3');
createActionButton("Toggle Overlays", function () {
doOverlay();
}, 'action-overlays');
};