fix for viewport props w/ only key, no value

This commit is contained in:
Adam Bradley
2014-05-02 10:50:02 -05:00
parent 5f8e9040bd
commit 7cfa3a685d
2 changed files with 20 additions and 6 deletions

View File

@@ -25,8 +25,10 @@ function viewportLoadTag() {
var props = viewportTag.content.toLowerCase().replace(/\s+/g, '').split(',');
var keyValue;
for(x=0; x<props.length; x++) {
keyValue = props[x].split('=');
if(keyValue.length == 2) viewportProperties[ keyValue[0] ] = keyValue[1];
if(props[x] != '') {
keyValue = props[x].split('=');
viewportProperties[ keyValue[0] ] = (keyValue.length > 1 ? keyValue[1] : '_');
}
}
viewportUpdate();
}
@@ -112,12 +114,12 @@ function viewportUpdate() {
}
}
function viewportTagUpdate(updates) {
ionic.Utils.extend(viewportProperties, updates);
function viewportTagUpdate() {
var key, props = [];
for(key in viewportProperties) {
if( viewportProperties[key] ) props.push(key + '=' + viewportProperties[key]);
if( viewportProperties[key] ) {
props.push(key + (viewportProperties[key] == '_' ? '' : '=' + viewportProperties[key]) );
}
}
viewportTag.content = props.join(', ');

View File

@@ -479,6 +479,18 @@ describe('Ionic Viewport', function() {
it('Should set viewport properties that have a key but without a value', function(){
vportTag.content = ' keyonly, , ,, WIDTH=DeViCe-wIDTH , minimal-ui ';
viewportLoadTag();
expect( viewportProperties['keyonly'] ).toEqual('_');
expect( viewportProperties['width'] ).toEqual('device-width');
expect( viewportProperties['minimal-ui'] ).toEqual('_');
viewportTagUpdate();
expect( vportTag.content ).toEqual('keyonly, width=device-width, minimal-ui');
});
it('Should get portrait (0) orientation', function(){
window.innerWidth = 768;
window.innerHeight = 1024;