Skip to content

Instantly share code, notes, and snippets.

@knownasilya
Last active January 4, 2016 16:59
Show Gist options
  • Save knownasilya/8650767 to your computer and use it in GitHub Desktop.
Save knownasilya/8650767 to your computer and use it in GitHub Desktop.
ContainerView - Assertion failed: calling set on destroyed object - in tests using ember-mocha-adapter
var Ember = require('ember'),
Constants = require('../constants'),
MapOverlayView = require('./map/overlay'),
SearchView = require('./search'),
NavigationView = require('./navigation'),
SidebarView;
SidebarView = Ember.View.extend({
templateName: 'sidebar',
elementId: 'sidebar',
classNameBindings: ['position', 'isVisible'],
contentView: Ember.ContainerView.create(),
mapOverlayView: MapOverlayView,
searchView: SearchView,
navigationView: NavigationView,
position: 'right',
isVisible: true,
isPinned: false,
settings: null,
setupSettings: function () {
var settings = Constants.map.sidebar;
this.set('position', settings.position);
this.set('isVisible', settings.visible);
this.set('isPinned', settings.pinned);
this.set('settings', settings);
}.on('init'),
actions: {
setCurrentView: function (viewPropertyName) {
var container = this.get('contentView'),
view = this.get(viewPropertyName),
currentView;
if (container && view) {
currentView = container.get('currentView');
if (currentView && currentView.constructor === view) {
container.set('currentView', undefined);
}
else {
container.set('currentView', view.create());
}
}
}
}
});
module.exports = SidebarView;
// From devtools
Assertion failed: calling set on destroyed object libs.js:23878
logToConsole libs.js:23878
Ember.assert libs.js:20666
set libs.js:23386
(anonymous function) libs.js:24225
Ember.tryFinally libs.js:22005
Ember.changeProperties libs.js:23306
Ember.setProperties libs.js:24223
Ember.View.Ember.CoreView.extend.createChildView libs.js:44321
Ember.merge.appendChild libs.js:44821
Ember.View.Ember.CoreView.extend.appendChild libs.js:44171
EmberHandlebars.ViewHelper.Ember.Object.create.helper libs.js:48987
viewHelper libs.js:49165
anonymous .templates.js:976
__exports__.template libs.js:61619
Ember.View.Ember.CoreView.extend.render libs.js:43409
Ember.CoreView.Ember.Object.extend._renderToBuffer libs.js:42347
Ember.View.Ember.CoreView.extend._renderToBuffer libs.js:43976
superWrapper libs.js:21823
instrumentRenderToBuffer libs.js:42328
Ember.Instrumentation.instrument libs.js:22274
Ember.CoreView.Ember.Object.extend.renderToBuffer libs.js:42327
Ember.merge.appendChild libs.js:44825
Ember.View.Ember.CoreView.extend.appendChild libs.js:44171
EmberHandlebars.ViewHelper.Ember.Object.create.helper libs.js:48987
viewHelper libs.js:49165
renderHelper libs.js:57083
anonymous .templates.js:8
__exports__.template libs.js:61619
Ember.View.Ember.CoreView.extend.render libs.js:43409
Ember.CoreView.Ember.Object.extend._renderToBuffer libs.js:42347
Ember.View.Ember.CoreView.extend._renderToBuffer libs.js:43976
superWrapper libs.js:21823
instrumentRenderToBuffer libs.js:42328
Ember.Instrumentation.instrument libs.js:22274
Ember.CoreView.Ember.Object.extend.renderToBuffer libs.js:42327
Ember.View.Ember.CoreView.extend.createElement libs.js:43807
Ember.merge.insertElement libs.js:44752
Ember.View.Ember.CoreView.extend._insertElement libs.js:43735
DeferredActionQueues.flush libs.js:26243
Backburner.end libs.js:26334
Backburner.run libs.js:26373
Ember.run libs.js:26774
visit libs.js:60850
(anonymous function) libs.js:60426
isolate libs.js:60623
(anonymous function) libs.js:60606
invokeCallback libs.js:30020
publish libs.js:29690
publishFulfillment libs.js:30110
DeferredActionQueues.flush libs.js:26243
Backburner.end libs.js:26334
Backburner.run libs.js:26373
Ember.run libs.js:26774
(anonymous function)
// Within the tests
Error: Assertion Failed: calling set on destroyed object
at new Error (native)
at Error.Ember.Error (libs.js:21429:19)
at Object.Ember.assert (libs.js:20671:11)
at set (libs.js:23386:9)
at libs.js:24225:40
at Ember.tryFinally (libs.js:22005:24)
at Ember.changeProperties (libs.js:23306:3)
at Object.Ember.setProperties (libs.js:24223:3)
at Ember.View.Ember.CoreView.extend.createChildView (libs.js:44321:13)
at Object.Ember.merge.appendChild (libs.js:44821:22)
<ul class="navigation">
<li>
<a class="accent-grey" {{action 'setCurrentView' 'navigationView' target=view}}>
<i class="fa fa-bars icon-white"></i>
</a>
</li>
<li>
<a class="accent-blue" {{action 'setCurrentView' 'searchView' target=view}}>
<i class="fa fa-search icon-white"></i>
</a>
</li>
{{#if controllers.map.visible}}
<li>
<a class="accent-purple" {{action 'setCurrentView' 'mapOverlayView' target=view}}>
<i class="fa fa-th-large icon-white"></i>
</a>
</li>
<li>
{{#link-to 'policymaker' class='accent-green'}}
<i class="fa fa-legal icon-white"></i>
{{/link-to}}
</li>
<li>
<a {{action 'toggleFullscreen'}} class="accent-orange">
<i class="fa fa-expand icon-white"></i>
</a>
</li>
{{/if}}
</ul>
<div class="content">
{{view view.contentView}}
</div>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Mocha Test - Connecticut Broadband</title>
<link rel="stylesheet" href="../assets/bower_components/leaflet/dist/leaflet.css">
<link rel="stylesheet" href="../assets/styles/libs.css">
<link rel="stylesheet" href="../assets/styles/styles.css">
<link rel="stylesheet" media="all" href="assets/bower_components/mocha/mocha.css">
<script src="../assets/scripts/libs.js"></script>
<style>
#ember-container {
position: fixed;
bottom: 1em;
right: 1em;
width: 50%;
height: 85%;
border: 1px solid #333;
}
#mocha {
width: 50%;
padding: 1em;
margin: 30px 0 0 0;
color: #444;
}
</style>
</head>
<body>
<div id="mocha"></div>
<div id="ember-container"></div>
<script src="../assets/scripts/application.js"></script>
<script src="assets/bower_components/ember-mocha-adapter/adapter.js"></script>
<script type="application/javascript">
window.jQuery = Ember.$;
</script>
<script src="assets/bower_components/chai/chai.js"></script>
<script src="assets/bower_components/chai-jquery/chai-jquery.js"></script>
<script src="assets/bower_components/sinon-chai/lib/sinon-chai.js"></script>
<script src="assets/bower_components/sinonjs/sinon.js"></script>
<script src="assets/bower_components/mocha/mocha.js"></script>
<script type="application/javascript">
Ember.Test.adapter = Ember.Test.MochaAdapter.create();
App.rootElement = '#ember-container';
App.setupForTesting();
App.injectTestHelpers();
mocha.setup('bdd');
</script>
<!-- Include tests here -->
<script src="test.js"></script>
<script type="application/javascript">
mocha.run();
</script>
</body>
</html>
describe('Location Panel', function () {
beforeEach(function () {
App.reset();
visit('/map/41.76721,-72.66907');
});
it('Have proper address', function () {
andThen(function () {
var $title = find('.panel-header h2');
expect($title).to.have.text('476 Columbus Blvd, Hartford');
});
});
it('Have average download speed', function () {
andThen(function () {
var $dspeed = find('.average-dspeed');
expect($dspeed).to.have.text('4.5 Mbps');
});
});
it('Have average upload speed', function () {
andThen(function () {
var $uspeed = find('.average-uspeed');
expect($uspeed).to.not.have.text('-');
});
});
});
@Qianfinland
Copy link

do you solve your problem? i am also using mocha adapter, get below error and don't know how to solve it
ok 9 PhantomJS 1.9 - Viewing an initiative Successfully
not ok 10 PhantomJS 1.9 - Viewing an initiative "after each" hook
---
message: >
Assertion Failed: calling set on destroyed object
stack: >
Error: Assertion Failed: calling set on destroyed object
at http://localhost:7357/assets/vendor.js:13269
at set (http://localhost:7357/assets/vendor.js:19612)
at http://localhost:7357/assets/vendor.js:65383
at http://localhost:7357/assets/vendor.js:67226
at tryable (http://localhost:7357/assets/vendor.js:16404)
at http://localhost:7357/assets/vendor.js:20923

@andyo729
Copy link

Also having this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment