Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Commit

Permalink
added unit tests for Element.Layout.toObject
Browse files Browse the repository at this point in the history
  • Loading branch information
RStankov committed Apr 19, 2010
1 parent 949dc83 commit a9f0ccd
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/dom/layout.js
Expand Up @@ -358,7 +358,7 @@
if (!Element.Layout.PROPERTIES.include(key)) return;
var value = this.get(key);
if (value != null) obj[key] = value;
});
}, this);
return obj;
},

Expand Down
27 changes: 27 additions & 0 deletions test/unit/layout_test.js
Expand Up @@ -25,6 +25,7 @@ new Test.Unit.Runner({
this.assertEqual(normalLayout.get(key), preComputedLayout.get(key), key);
}, this);
},

'test layout on absolutely-positioned elements': function() {
var layout = $('box1').getLayout();

Expand All @@ -38,6 +39,32 @@ new Test.Unit.Runner({
this.assertEqual(25, layout.get('left'), 'left');
},

'test toObject method': function(){
var layout = $('box1').getLayout();

// default behavior
var object = layout.toObject(),
fullObject = Element.Layout.PROPERTIES.inject({}, function(obj, key){
obj[key] = layout.get(key);
return obj;
});

this.assertEnumEqual(Object.keys(object), Element.Layout.PROPERTIES);
this.assertEnumEqual(Object.values(object), Object.values(fullObject));

// with given keys as string
object = layout.toObject('width height top left');

this.assertEnumEqual(Object.keys(object), ['width', 'height', 'top', 'left']);
this.assertEnumEqual(Object.values(object), [242, 555, 1020, 25]);

// with given keys as array of strings
object = layout.toObject('width height', 'top', 'left');

this.assertEnumEqual(Object.keys(object), ['width', 'height', 'top', 'left']);
this.assertEnumEqual(Object.values(object), [242, 555, 1020, 25]);
},

'test layout on elements with display: none and exact width': function() {
var layout = $('box2').getLayout();

Expand Down

0 comments on commit a9f0ccd

Please sign in to comment.