Last active
March 21, 2020 18:40
-
-
Save bendemboski/212dc178f1da9dc03ad270fbec3ea60f to your computer and use it in GitHub Desktop.
Double willDestroy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Controller from '@ember/controller'; | |
export default class ApplicationController extends Controller { | |
appName = 'Ember Twiddle'; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Helper from '@ember/component/helper'; | |
class FullStackError extends Error { | |
constructor() { | |
let limit = Error.stackTraceLimit; | |
Error.stackTraceLimit = Infinity; | |
try { | |
super(...arguments); | |
} finally { | |
Error.stackTraceLimit = limit; | |
} | |
} | |
} | |
export default class MyHelper extends Helper { | |
compute() { | |
} | |
willDestroy() { | |
if (this.willDestroyStack) { | |
throw new Error(`willDestroy() called twice\n\nfirst call:\n\n ${this.willDestroyStack.stack}\n\nsecond call:\n\n${new FullStackError().stack}`); | |
} else { | |
this.willDestroyStack = new FullStackError(); | |
} | |
super.willDestroy(...arguments); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { module, test } from 'qunit'; | |
import { visit, currentURL } from '@ember/test-helpers'; | |
import { setupApplicationTest } from 'ember-qunit'; | |
module('double willDestroy', function(hooks) { | |
setupApplicationTest(hooks); | |
test('visiting /my-acceptance', async function(assert) { | |
assert.expect(0); | |
await visit('/'); | |
}); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Application from '../app'; | |
import config from '../config/environment'; | |
import { setApplication } from '@ember/test-helpers'; | |
import { assign } from '@ember/polyfills'; | |
import { start } from 'ember-qunit'; | |
let attributes = { | |
rootElement: '#test-root', | |
autoboot: false | |
}; | |
attributes = assign(attributes, config.APP); | |
let application = Application.create(attributes); | |
setApplication(application); | |
start(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"version": "0.17.0", | |
"EmberENV": { | |
"FEATURES": {}, | |
"_TEMPLATE_ONLY_GLIMMER_COMPONENTS": false, | |
"_APPLICATION_TEMPLATE_WRAPPER": true, | |
"_JQUERY_INTEGRATION": true | |
}, | |
"options": { | |
"use_pods": false, | |
"enable-testing": true | |
}, | |
"dependencies": { | |
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js", | |
"ember": "3.17.0", | |
"ember-template-compiler": "3.17.0", | |
"ember-testing": "3.17.0" | |
}, | |
"addons": { | |
"@glimmer/component": "1.0.0" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment