Packages
exq
0.2.2
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.2
0.16.1
0.16.0
0.15.0
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.1
0.9.0
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.2
Exq is a job processing library compatible with Resque / Sidekiq for the Elixir language.
Current section
Files
Jump to
Current section
Files
priv/ember/ext/ember-patched/tests/qunit_configuration.js
(function() {
window.EmberDev = window.EmberDev || { assertions: {}, deprecations: {} };
EmberDev.assertions.noViewsRemain = function(){
if (Ember && Ember.View) {
var viewIds = [], id;
for (id in Ember.View.views) {
if (Ember.View.views[id] != null) {
viewIds.push(id);
}
}
if (viewIds.length > 0) {
deepEqual(viewIds, [], "Ember.View.views should be empty");
Ember.View.views = [];
}
}
};
EmberDev.assertions.noTemplatesRemain = function(){
if (Ember && Ember.TEMPLATES) {
var templateNames = [], name;
for (name in Ember.TEMPLATES) {
if (Ember.TEMPLATES[name] != null) {
templateNames.push(name);
}
}
if (templateNames.length > 0) {
deepEqual(templateNames, [], "Ember.TEMPLATES should be empty");
Ember.TEMPLATES = {};
}
}
};
EmberDev.assertions.noExpectedDeprecations = function(){
window.assertDeprecation();
};
EmberDev.afterEach = function() {
EmberDev.assertions.noViewsRemain();
EmberDev.assertions.noTemplatesRemain();
EmberDev.assertions.noExpectedDeprecations();
};
// hack qunit to not suck for Ember objects
var originalTypeof = QUnit.jsDump.typeOf;
QUnit.jsDump.typeOf = function(obj) {
if (Ember && Ember.Object && Ember.Object.detectInstance(obj)) {
return "emberObject";
}
return originalTypeof.call(this, obj);
};
// raises is deprecated, but we likely want to keep it around for our es3
// test runs.
QUnit.constructor.prototype.raises = QUnit['throws'];
window.raises = QUnit['throws'];
QUnit.jsDump.parsers.emberObject = function(obj) {
return obj.toString();
};
var originalModule = QUnit.module;
QUnit.module = function(name, origOpts) {
var opts = {};
if (origOpts && origOpts.setup) { opts.setup = origOpts.setup; }
opts.teardown = function() {
if (origOpts && origOpts.teardown) { origOpts.teardown(); }
if (Ember && Ember.run) {
if (Ember.run.currentRunLoop) {
ok(false, "Should not be in a run loop at end of test");
while (Ember.run.currentRunLoop) {
Ember.run.end();
}
}
if (Ember.run.hasScheduledTimers()) {
// Use `ok` so we get full description.
// Gate inside of `if` so that we don't mess up `expects` counts
ok(false, "Ember run should not have scheduled timers at end of test");
Ember.run.cancelTimers();
}
}
if (EmberDev.afterEach) {
EmberDev.afterEach();
}
};
return originalModule(name, opts);
};
// Tests should time out after 5 seconds
QUnit.config.testTimeout = 5000;
// Hide passed tests by default
QUnit.config.hidepassed = true;
// Handle testing feature flags
QUnit.config.urlConfig.push({ id: 'enableoptionalfeatures', label: "Enable Opt Features"});
// Handle extending prototypes
QUnit.config.urlConfig.push({ id: 'extendprototypes', label: 'Extend Prototypes'});
// Raise on unhandled deprecation
QUnit.config.urlConfig.push({ id: 'raiseonunhandleddeprecation', label: 'Raise on Deprecation'});
// Handle JSHint
QUnit.config.urlConfig.push('nojshint');
EmberDev.jsHint = !QUnit.urlParams.nojshint;
var o_create = Object.create || (function(){
function F(){}
return function(o) {
if (arguments.length !== 1) {
throw new Error('Object.create implementation only accepts one parameter.');
}
F.prototype = o;
return new F();
};
}());
EmberDev.runningProdBuild = !!QUnit.urlParams.prod;
// A light class for stubbing
//
function MethodCallExpectation(target, property){
this.target = target;
this.property = property;
};
MethodCallExpectation.prototype = {
handleCall: function(){
this.sawCall = true;
return this.originalMethod.apply(this.target, arguments);
},
stubMethod: function(replacementFunc){
var context = this,
property = this.property;
this.originalMethod = this.target[property];
if (typeof replacementFunc === 'function') {
this.target[property] = replacementFunc;
} else {
this.target[property] = function(){
return context.handleCall.apply(context, arguments);
};
}
},
restoreMethod: function(){
this.target[this.property] = this.originalMethod;
},
runWithStub: function(fn, replacementFunc){
try {
this.stubMethod(replacementFunc);
fn();
} finally {
this.restoreMethod();
}
},
assert: function() {
this.runWithStub.apply(this, arguments);
ok(this.sawCall, "Expected "+this.property+" to be called.");
}
};
function AssertExpectation(message){
MethodCallExpectation.call(this, Ember, 'assert');
this.expectedMessage = message;
};
AssertExpectation.Error = function(){};
AssertExpectation.prototype = o_create(MethodCallExpectation.prototype);
AssertExpectation.prototype.handleCall = function(message, test){
this.sawCall = true;
if (test) return; // Only get message for failures
this.actualMessage = message;
// Halt execution
throw new AssertExpectation.Error();
};
AssertExpectation.prototype.assert = function(fn){
try {
this.runWithStub(fn);
} catch (e) {
if (!(e instanceof AssertExpectation.Error))
throw e;
}
// Run assertions in an order that is useful when debugging a test failure.
//
if (!this.sawCall) {
ok(false, "Expected Ember.assert to be called (Not called with any value).");
} else if (!this.actualMessage) {
ok(false, 'Expected a failing Ember.assert (Ember.assert called, but without a failing test).');
} else {
if (this.expectedMessage) {
if (this.expectedMessage instanceof RegExp) {
ok(this.expectedMessage.test(this.actualMessage), "Expected failing Ember.assert: '" + this.expectedMessage + "', but got '" + this.actualMessage + "'.");
} else {
equal(this.actualMessage, this.expectedMessage, "Expected failing Ember.assert: '" + this.expectedMessage + "', but got '" + this.actualMessage + "'.");
}
} else {
// Positive assertion that assert was called
ok(true, 'Expected a failing Ember.assert.');
}
}
};
// Looks for an exception raised within the fn.
//
// expectAssertion(function(){
// Ember.assert("Homie don't roll like that");
// } /* , optionalMessageStringOrRegex */);
//
window.expectAssertion = function expectAssertion(fn, message){
if (EmberDev.runningProdBuild){
ok(true, 'Assertions disabled in production builds.');
return;
}
// do not assert as the production builds do not contain Ember.assert
(new AssertExpectation(message)).assert(fn);
};
window.ignoreAssertion = function ignoreAssertion(fn){
var stubber = new MethodCallExpectation(Ember, 'assert'),
noop = function(){};
stubber.runWithStub(fn, noop);
};
EmberDev.deprecations = {
NONE: 99, // 99 problems and a deprecation ain't one
expecteds: null,
actuals: null,
stubEmber: function(){
if (!EmberDev.deprecations.originalEmberDeprecate && Ember.deprecate !== EmberDev.deprecations.originalEmberDeprecate) {
EmberDev.deprecations.originalEmberDeprecate = Ember.deprecate;
}
Ember.deprecate = function(msg, test) {
EmberDev.deprecations.actuals = EmberDev.deprecations.actuals || [];
EmberDev.deprecations.actuals.push([msg, test]);
};
},
restoreEmber: function(){
Ember.deprecate = EmberDev.deprecations.originalEmberDeprecate;
}
};
// Expects no deprecation to happen from the time of calling until
// the end of the test.
//
// expectNoDeprecation(/* optionalStringOrRegex */);
// Ember.deprecate("Old And Busted");
//
window.expectNoDeprecation = function(message) {
if (typeof EmberDev.deprecations.expecteds === 'array') {
throw("expectNoDeprecation was called after expectDeprecation was called!");
}
EmberDev.deprecations.stubEmber();
EmberDev.deprecations.expecteds = EmberDev.deprecations.NONE;
};
// Expect a deprecation to happen within a function, or if no function
// is pass, from the time of calling until the end of the test. Can be called
// multiple times to assert deprecations with different specific messages
// were fired.
//
// expectDeprecation(function(){
// Ember.deprecate("Old And Busted");
// }, /* optionalStringOrRegex */);
//
// expectDeprecation(/* optionalStringOrRegex */);
// Ember.deprecate("Old And Busted");
//
window.expectDeprecation = function(fn, message) {
if (EmberDev.deprecations.expecteds === EmberDev.deprecations.NONE) {
throw("expectDeprecation was called after expectNoDeprecation was called!");
}
EmberDev.deprecations.stubEmber();
EmberDev.deprecations.expecteds = EmberDev.deprecations.expecteds || [];
if (fn && typeof fn !== 'function') {
// fn is a message
EmberDev.deprecations.expecteds.push(fn);
} else {
EmberDev.deprecations.expecteds.push(message || /.*/);
if (fn) {
fn();
window.assertDeprecation();
}
}
};
window.ignoreDeprecation = function ignoreDeprecation(fn){
var stubber = new MethodCallExpectation(Ember, 'deprecate'),
noop = function(){};
stubber.runWithStub(fn, noop);
};
// Forces an assert the deprecations occurred, and resets the globals
// storing asserts for the next run.
//
// expectNoDeprecation(/Old/);
// setTimeout(function(){
// Ember.deprecate("Old And Busted");
// assertDeprecation();
// });
//
// assertDeprecation is called after each test run to catch any expectations
// without explicit asserts.
//
window.assertDeprecation = function() {
var expecteds = EmberDev.deprecations.expecteds,
actuals = EmberDev.deprecations.actuals || [];
if (!expecteds) {
EmberDev.deprecations.actuals = null;
return;
}
EmberDev.deprecations.restoreEmber();
EmberDev.deprecations.actuals = null;
EmberDev.deprecations.expecteds = null;
if (EmberDev.runningProdBuild){
ok(true, 'deprecations disabled in production builds.');
return;
}
if (expecteds === EmberDev.deprecations.NONE) {
var actualMessages = [];
for (var i=0;i<actuals.length;i++) {
actualMessages.push(actuals[i][0]);
}
ok(actuals.length === 0, "Expected no deprecation calls, got "+actuals.length+": "+actualMessages.join(', '));
} else {
for (var o=0;o < expecteds.length; o++) {
var expected = expecteds[o], match;
for (var i=0;i < actuals.length; i++) {
var actual = actuals[i];
if (!actual[1]) {
if (expected instanceof RegExp) {
if (expected.test(actual[0])) {
match = actual;
break;
}
} else {
if (expected === actual[0]) {
match = actual;
break;
}
}
}
}
if (!actual)
ok(false, "Recieved no deprecate calls at all, expecting: "+expected);
else if (match && !match[1])
ok(true, "Recieved failing deprecation with message: "+match[0]);
else if (match && match[1])
ok(false, "Expected failing deprecation, got succeeding with message: "+match[0]);
else if (actual[1])
ok(false, "Did not receive failing deprecation matching '"+expected+"', last was success with '"+actual[0]+"'");
else if (!actual[1])
ok(false, "Did not receive failing deprecation matching '"+expected+"', last was failure with '"+actual[0]+"'");
}
}
};
})();