2014-07-25 03:11:27 +08:00
/ *
*
* 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 .
*
* /
2016-02-24 15:28:04 +08:00
/* jshint jasmine: true */
/* global StatusBar */
2015-06-17 08:15:00 +08:00
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" ) ;
} ) ;
} ) ;
} ;
2014-07-25 03:11:27 +08:00
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>' +
2014-07-29 23:53:53 +08:00
'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' ;
2014-07-25 03:11:27 +08:00
log ( 'StatusBar.isVisible=' + StatusBar . isVisible ) ;
window . addEventListener ( 'statusTap' , function ( ) {
log ( 'tap!' ) ;
} , false ) ;
createActionButton ( "Show" , function ( ) {
doShow ( ) ;
} , 'action-show' ) ;
createActionButton ( "Hide" , function ( ) {
doHide ( ) ;
} , 'action-hide' ) ;
2014-07-29 23:53:53 +08:00
createActionButton ( "Style=red (background)" , function ( ) {
2014-07-25 03:11:27 +08:00
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' ) ;
} ;