Skip to content

Commit

Permalink
Merge pull request #349 from san650/normal-ember-error-handling
Browse files Browse the repository at this point in the history
Do not use error handling hack for ember >= 2.17
  • Loading branch information
san650 committed Dec 14, 2017
2 parents 6a65ceb + c1ee642 commit 6906736
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 42 deletions.
8 changes: 5 additions & 3 deletions tests/expect-ember-error.js
@@ -1,18 +1,20 @@

import Ember from 'ember';

// ember@2.11.3 introduces a (breaking?) change in how the errors are propagated
// ember@2.11.3 introduces a breaking change in how the errors are propagated
// in backburner which causes some test that were previously working, to fail.
//
// See https://github.com/emberjs/ember.js/pull/14898#issuecomment-285510703

// We need to use this hack to test with >= 2.11
// Starting from ember@2.17 this regression has been fixed
//
// See https://github.com/emberjs/ember.js/pull/15871
function useHack() {
var [major, minor] = Ember.VERSION.split('.');
major = Number(major);
minor = Number(minor);

return (major === 2 && minor >= 11) || major > 2;
return (major === 2 && minor >= 11 && minor < 17);
}

export default function expectEmberError(assert, callback, matcher, message) {
Expand Down
39 changes: 0 additions & 39 deletions tests/test-helper.js
@@ -1,4 +1,3 @@
import Ember from 'ember';
import resolver from './helpers/resolver';
import {
setResolver
Expand All @@ -7,42 +6,4 @@ import { start } from 'ember-cli-qunit';

setResolver(resolver);


// ember@2.11.3 introduces a (breaking?) change in how the errors are propagated
// in backburner which causes some test that were previously working, to fail.
//
// See https://github.com/emberjs/ember.js/pull/14898#issuecomment-285510703

// We need to use this hack to test with >= 2.11
function useHack() {
var [major, minor] = Ember.VERSION.split('.');
major = Number(major);
minor = Number(minor);

return (major === 2 && minor >= 11) || major > 2;
}

export function expectEmberError(assert, callback, matcher, message) {
if (useHack()) {
let origTestAdapter = Ember.Test.adapter;
let testError;
let TestAdapter = Ember.Test.QUnitAdapter.extend({
exception(error) {
testError = error;
}
});

Ember.run(() => { Ember.Test.adapter = TestAdapter.create(); });
callback();
Ember.run(() => {
Ember.Test.adapter.destroy();
});
Ember.Test.adapter = origTestAdapter;

assert.ok(testError && testError.message.match(matcher), message);
} else {
assert.throws(callback, matcher, message);
}
}

start();

0 comments on commit 6906736

Please sign in to comment.