blossom
Version:
Modern, Cross-Platform Application Framework
42 lines (34 loc) • 1.48 kB
JavaScript
// ==========================================================================
// Project: SproutCore - JavaScript Application Framework
// Copyright: ©2006-2011 Strobe Inc. and contributors.
// portions copyright @2009 Apple Inc.
// License: Licensed under MIT license (see license.js)
// ==========================================================================
/*global module test htmlbody ok equals same stop start */
suite('SC.Pane-SC.Page') ;
test("isVisible changes should update views that are instantiated in a page", function() {
var page = SC.Page.design({
inspector: SC.PickerPane.design({
layout: { width: 300, height: 300, centerX: 0 },
contentView: SC.View.extend({
layout: { top: 0, left: 0, bottom: 0, right: 0 },
childViews: 'labelView'.w(),
labelView: SC.LabelView.extend({
layout: { centerY: -10, height: 24, left: 0, right: 0 },
value: "PrefPane"
})
})
})
}) ;
var pp = page.get('inspector');
pp.append();
SC.RunLoop.begin().end();
pp.remove();
SC.RunLoop.begin().end();
pp.childViews[0].childViews[0].set('isVisible', false);
SC.RunLoop.begin().end();
pp.append();
SC.RunLoop.begin().end();
var res = pp.childViews[0].childViews[0].$().hasClass('hidden');
ok(res, "The view (isVisible) has been properly rerendered even though it was part of a page, the pane was detached and the visibility was changed while detached");
});