dist/ember-testing.js in ember-source-2.7.2 vs dist/ember-testing.js in ember-source-2.8.0.beta.1
- old
+ new
@@ -4,11 +4,11 @@
* @copyright Copyright 2011-2016 Tilde Inc. and contributors
* Portions Copyright 2006-2011 Strobe Inc.
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
* @license Licensed under MIT license
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
- * @version 2.7.2
+ * @version 2.8.0-beta.1
*/
var enifed, requireModule, require, Ember;
var mainContext = this;
@@ -217,20 +217,17 @@
* In a production build, this method is defined as an empty function (NOP).
Uses of this method in Ember itself are stripped from the ember.prod.js build.
@method deprecate
@param {String} message A description of the deprecation.
- @param {Boolean} test A boolean. If falsy, the deprecation will be displayed.
- @param {Object} options
- @param {String} options.id A unique id for this deprecation. The id can be
- used by Ember debugging tools to change the behavior (raise, log or silence)
- for that specific deprecation. The id should be namespaced by dots, e.g.
- "view.helper.select".
- @param {string} options.until The version of Ember when this deprecation
- warning will be removed.
- @param {String} [options.url] An optional url to the transition guide on the
- emberjs.com website.
+ @param {Boolean} test A boolean. If falsy, the deprecation
+ will be displayed.
+ @param {Object} options An object that can be used to pass
+ in a `url` to the transition guide on the emberjs.com website, and a unique
+ `id` for this deprecation. The `id` can be used by Ember debugging tools
+ to change the behavior (raise, log or silence) for that specific deprecation.
+ The `id` should be namespaced by dots, e.g. "view.helper.select".
@for Ember
@public
*/
function deprecate(message, test, options) {
@@ -482,40 +479,42 @@
}
}
}
if (!_emberMetalTesting.isTesting()) {
- // Complain if they're using FEATURE flags in builds other than canary
- _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
- var featuresWereStripped = true;
+ (function () {
+ // Complain if they're using FEATURE flags in builds other than canary
+ _emberMetalFeatures.FEATURES['features-stripped-test'] = true;
+ var featuresWereStripped = true;
- if (false) {
- exports.featuresWereStripped = featuresWereStripped = false;
- }
+ if (false) {
+ featuresWereStripped = false;
+ }
- delete _emberMetalFeatures.FEATURES['features-stripped-test'];
- _warnIfUsingStrippedFeatureFlags(_emberEnvironment.ENV.FEATURES, _emberMetalFeatures.DEFAULT_FEATURES, featuresWereStripped);
+ delete _emberMetalFeatures.FEATURES['features-stripped-test'];
+ _warnIfUsingStrippedFeatureFlags(_emberEnvironment.ENV.FEATURES, _emberMetalFeatures.DEFAULT_FEATURES, featuresWereStripped);
- // Inform the developer about the Ember Inspector if not installed.
- var isFirefox = _emberEnvironment.environment.isFirefox;
- var isChrome = _emberEnvironment.environment.isChrome;
+ // Inform the developer about the Ember Inspector if not installed.
+ var isFirefox = _emberEnvironment.environment.isFirefox;
+ var isChrome = _emberEnvironment.environment.isChrome;
- if (typeof window !== 'undefined' && (isFirefox || isChrome) && window.addEventListener) {
- window.addEventListener('load', function () {
- if (document.documentElement && document.documentElement.dataset && !document.documentElement.dataset.emberExtension) {
- var downloadURL;
+ if (typeof window !== 'undefined' && (isFirefox || isChrome) && window.addEventListener) {
+ window.addEventListener('load', function () {
+ if (document.documentElement && document.documentElement.dataset && !document.documentElement.dataset.emberExtension) {
+ var downloadURL;
- if (isChrome) {
- downloadURL = 'https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi';
- } else if (isFirefox) {
- downloadURL = 'https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/';
- }
+ if (isChrome) {
+ downloadURL = 'https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi';
+ } else if (isFirefox) {
+ downloadURL = 'https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/';
+ }
- _emberMetalDebug.debug('For more advanced debugging, install the Ember Inspector from ' + downloadURL);
- }
- }, false);
- }
+ _emberMetalDebug.debug('For more advanced debugging, install the Ember Inspector from ' + downloadURL);
+ }
+ }, false);
+ }
+ })();
}
/**
@public
@class Ember.Debug
*/
@@ -686,11 +685,11 @@
@class Adapter
@namespace Ember.Test
@public
*/
- var Adapter = _emberRuntimeSystemObject.default.extend({
+ exports.default = _emberRuntimeSystemObject.default.extend({
/**
This callback will be called whenever an async operation is about to start.
Override this to call your framework's methods that handle async
operations.
@public
@@ -721,12 +720,10 @@
*/
exception: function (error) {
throw error;
}
});
-
- exports.default = Adapter;
});
enifed('ember-testing/adapters/qunit', ['exports', 'ember-testing/adapters/adapter', 'ember-metal/utils'], function (exports, _emberTestingAdaptersAdapter, _emberMetalUtils) {
'use strict';
/**
@@ -949,14 +946,14 @@
this.removeTestHelpers();
}
});
this.testHelpers = {};
- for (var name in _emberTestingTestHelpers.helpers) {
- this.originalMethods[name] = this.helperContainer[name];
- this.testHelpers[name] = this.helperContainer[name] = helper(this, name);
- protoWrap(_emberTestingTestPromise.default.prototype, name, helper(this, name), _emberTestingTestHelpers.helpers[name].meta.wait);
+ for (var _name in _emberTestingTestHelpers.helpers) {
+ this.originalMethods[_name] = this.helperContainer[_name];
+ this.testHelpers[_name] = this.helperContainer[_name] = helper(this, _name);
+ protoWrap(_emberTestingTestPromise.default.prototype, _name, helper(this, _name), _emberTestingTestHelpers.helpers[_name].meta.wait);
}
_emberTestingTestOn_inject_helpers.invokeInjectHelpersCallbacks(this);
},
@@ -973,15 +970,15 @@
removeTestHelpers: function () {
if (!this.helperContainer) {
return;
}
- for (var name in _emberTestingTestHelpers.helpers) {
- this.helperContainer[name] = this.originalMethods[name];
- delete _emberTestingTestPromise.default.prototype[name];
- delete this.testHelpers[name];
- delete this.originalMethods[name];
+ for (var _name2 in _emberTestingTestHelpers.helpers) {
+ this.helperContainer[_name2] = this.originalMethods[_name2];
+ delete _emberTestingTestPromise.default.prototype[_name2];
+ delete this.testHelpers[_name2];
+ delete this.originalMethods[_name2];
}
}
});
// This method is no longer needed
@@ -1096,11 +1093,10 @@
});
```
@method click
@param {String} selector jQuery selector for finding element on the DOM
- @param {Object} context A DOM Element, Document, or jQuery to use as context
@return {RSVP.Promise}
@public
*/
_emberTestingTestHelpers.registerAsyncHelper('click', _emberTestingHelpersClick.default);
@@ -1204,31 +1200,11 @@
@return {RSVP.Promise}
@public
*/
_emberTestingTestHelpers.registerAsyncHelper('wait', _emberTestingHelpersWait.default);
_emberTestingTestHelpers.registerAsyncHelper('andThen', _emberTestingHelpersAnd_then.default);
-
- /**
- Returns the currently active route name.
-
- Example:
-
- ```javascript
- function validateRouteName() {
- equal(currentRouteName(), 'some.path', "correct route was transitioned into.");
- }
-
- visit('/some/path').then(validateRouteName)
- ```
-
- @method currentRouteName
- @return {Object} The name of the currently active route.
- @since 1.5.0
- @public
- */
_emberTestingTestHelpers.registerHelper('currentRouteName', _emberTestingHelpersCurrent_route_name.default);
-
/**
Returns the current path.
Example:
@@ -1264,56 +1240,11 @@
@return {Object} The currently active URL.
@since 1.5.0
@public
*/
_emberTestingTestHelpers.registerHelper('currentURL', _emberTestingHelpersCurrent_url.default);
-
- /**
- Pauses the current test - this is useful for debugging while testing or for test-driving.
- It allows you to inspect the state of your application at any point.
-
- Example (The test will pause before clicking the button):
-
- ```javascript
- visit('/')
- return pauseTest();
-
- click('.btn');
- ```
-
- @since 1.9.0
- @method pauseTest
- @return {Object} A promise that will never resolve
- @public
- */
_emberTestingTestHelpers.registerAsyncHelper('pauseTest', _emberTestingHelpersPause_test.default);
-
- /**
- Triggers the given DOM event on the element identified by the provided selector.
-
- Example:
-
- ```javascript
- triggerEvent('#some-elem-id', 'blur');
- ```
-
- This is actually used internally by the `keyEvent` helper like so:
-
- ```javascript
- triggerEvent('#some-elem-id', 'keypress', { keyCode: 13 });
- ```
-
- @method triggerEvent
- @param {String} selector jQuery selector for finding element on the DOM
- @param {String} [context] jQuery selector that will limit the selector
- argument to find only within the context's children
- @param {String} type The event type to be triggered.
- @param {Object} [options] The options to be passed to jQuery.Event.
- @return {RSVP.Promise}
- @since 1.5.0
- @public
- */
_emberTestingTestHelpers.registerAsyncHelper('triggerEvent', _emberTestingHelpersTrigger_event.default);
});
enifed("ember-testing/helpers/and_then", ["exports"], function (exports) {
"use strict";
@@ -1321,25 +1252,25 @@
function andThen(app, callback) {
return app.testHelpers.wait(callback(app));
}
});
-enifed('ember-testing/helpers/click', ['exports', 'ember-metal/run_loop', 'ember-testing/events'], function (exports, _emberMetalRun_loop, _emberTestingEvents) {
+enifed('ember-testing/helpers/click', ['exports', 'ember-testing/events'], function (exports, _emberTestingEvents) {
'use strict';
exports.default = click;
function click(app, selector, context) {
var $el = app.testHelpers.findWithAssert(selector, context);
var el = $el[0];
- _emberMetalRun_loop.default(null, _emberTestingEvents.fireEvent, el, 'mousedown');
+ _emberTestingEvents.fireEvent(el, 'mousedown');
_emberTestingEvents.focus(el);
- _emberMetalRun_loop.default(null, _emberTestingEvents.fireEvent, el, 'mouseup');
- _emberMetalRun_loop.default(null, _emberTestingEvents.fireEvent, el, 'click');
+ _emberTestingEvents.fireEvent(el, 'mouseup');
+ _emberTestingEvents.fireEvent(el, 'click');
return app.testHelpers.wait();
}
});
enifed('ember-testing/helpers/current_path', ['exports', 'ember-metal/property_get'], function (exports, _emberMetalProperty_get) {
@@ -1351,14 +1282,33 @@
var routingService = app.__container__.lookup('service:-routing');
return _emberMetalProperty_get.get(routingService, 'currentPath');
}
});
enifed('ember-testing/helpers/current_route_name', ['exports', 'ember-metal/property_get'], function (exports, _emberMetalProperty_get) {
+ /**
+ @module ember
+ @submodule ember-testing
+ */
'use strict';
exports.default = currentRouteName;
+ /**
+ Returns the currently active route name.
+ Example:
+ ```javascript
+ function validateRouteName() {
+ equal(currentRouteName(), 'some.path', "correct route was transitioned into.");
+ }
+ visit('/some/path').then(validateRouteName)
+ ```
+ @method currentRouteName
+ @return {Object} The name of the currently active route.
+ @since 1.5.0
+ @public
+ */
+
function currentRouteName(app) {
var routingService = app.__container__.lookup('service:-routing');
return _emberMetalProperty_get.get(routingService, 'currentRouteName');
}
});
@@ -1370,30 +1320,32 @@
function currentURL(app) {
var router = app.__container__.lookup('router:main');
return _emberMetalProperty_get.get(router, 'location').getURL();
}
});
-enifed('ember-testing/helpers/fill_in', ['exports', 'ember-metal/run_loop', 'ember-testing/events'], function (exports, _emberMetalRun_loop, _emberTestingEvents) {
+enifed('ember-testing/helpers/fill_in', ['exports', 'ember-testing/events'], function (exports, _emberTestingEvents) {
'use strict';
exports.default = fillIn;
function fillIn(app, selector, contextOrText, text) {
- var $el, el, context;
+ var $el = undefined,
+ el = undefined,
+ context = undefined;
if (typeof text === 'undefined') {
text = contextOrText;
} else {
context = contextOrText;
}
$el = app.testHelpers.findWithAssert(selector, context);
el = $el[0];
_emberTestingEvents.focus(el);
- _emberMetalRun_loop.default(function () {
- $el.val(text);
- _emberTestingEvents.fireEvent(el, 'input');
- _emberTestingEvents.fireEvent(el, 'change');
- });
+
+ $el.val(text);
+ _emberTestingEvents.fireEvent(el, 'input');
+ _emberTestingEvents.fireEvent(el, 'change');
+
return app.testHelpers.wait();
}
});
enifed('ember-testing/helpers/find', ['exports', 'ember-metal/property_get'], function (exports, _emberMetalProperty_get) {
'use strict';
@@ -1424,11 +1376,12 @@
'use strict';
exports.default = keyEvent;
function keyEvent(app, selector, contextOrType, typeOrKeyCode, keyCode) {
- var context, type;
+ var context = undefined,
+ type = undefined;
if (typeof keyCode === 'undefined') {
context = null;
keyCode = typeOrKeyCode;
type = contextOrType;
@@ -1439,26 +1392,72 @@
return app.testHelpers.triggerEvent(selector, context, type, { keyCode: keyCode, which: keyCode });
}
});
enifed('ember-testing/helpers/pause_test', ['exports', 'ember-runtime/ext/rsvp'], function (exports, _emberRuntimeExtRsvp) {
+ /**
+ @module ember
+ @submodule ember-testing
+ */
'use strict';
exports.default = pauseTest;
+ /**
+ Pauses the current test - this is useful for debugging while testing or for test-driving.
+ It allows you to inspect the state of your application at any point.
+ Example (The test will pause before clicking the button):
+ ```javascript
+ visit('/')
+ return pauseTest();
+ click('.btn');
+ ```
+ @since 1.9.0
+ @method pauseTest
+ @return {Object} A promise that will never resolve
+ @public
+ */
+
function pauseTest() {
return new _emberRuntimeExtRsvp.default.Promise(function () {}, 'TestAdapter paused promise');
}
});
-enifed('ember-testing/helpers/trigger_event', ['exports', 'ember-metal/run_loop', 'ember-testing/events'], function (exports, _emberMetalRun_loop, _emberTestingEvents) {
+enifed('ember-testing/helpers/trigger_event', ['exports', 'ember-testing/events'], function (exports, _emberTestingEvents) {
+ /**
+ @module ember
+ @submodule ember-testing
+ */
'use strict';
exports.default = triggerEvent;
+ /**
+ Triggers the given DOM event on the element identified by the provided selector.
+ Example:
+ ```javascript
+ triggerEvent('#some-elem-id', 'blur');
+ ```
+ This is actually used internally by the `keyEvent` helper like so:
+ ```javascript
+ triggerEvent('#some-elem-id', 'keypress', { keyCode: 13 });
+ ```
+ @method triggerEvent
+ @param {String} selector jQuery selector for finding element on the DOM
+ @param {String} [context] jQuery selector that will limit the selector
+ argument to find only within the context's children
+ @param {String} type The event type to be triggered.
+ @param {Object} [options] The options to be passed to jQuery.Event.
+ @return {RSVP.Promise}
+ @since 1.5.0
+ @public
+ */
+
function triggerEvent(app, selector, contextOrType, typeOrOptions, possibleOptions) {
var arity = arguments.length;
- var context, type, options;
+ var context = undefined,
+ type = undefined,
+ options = undefined;
if (arity === 3) {
// context and options are optional, so this is
// app, selector, type
context = null;
@@ -1486,11 +1485,11 @@
}
var $el = app.testHelpers.findWithAssert(selector, context);
var el = $el[0];
- _emberMetalRun_loop.default(null, _emberTestingEvents.fireEvent, el, type, options);
+ _emberTestingEvents.fireEvent(el, type, options);
return app.testHelpers.wait();
}
});
enifed('ember-testing/helpers/visit', ['exports', 'ember-metal/run_loop'], function (exports, _emberMetalRun_loop) {
@@ -1728,11 +1727,11 @@
resolve: _emberTestingTestPromise.resolve,
registerWaiter: _emberTestingTestWaiters.registerWaiter,
unregisterWaiter: _emberTestingTestWaiters.unregisterWaiter
};
- if (false) {
+ if (true) {
Test.checkWaiters = _emberTestingTestWaiters.checkWaiters;
}
/**
Used to allow ember-testing to communicate with a specific testing
@@ -2242,10 +2241,10 @@
}
return -1;
}
function generateDeprecatedWaitersArray() {
- _emberMetalDebug.deprecate('Usage of `Ember.Test.waiters` is deprecated. Please refactor to `Ember.Test.checkWaiters`.', !false, { until: '2.8.0', id: 'ember-testing.test-waiters' });
+ _emberMetalDebug.deprecate('Usage of `Ember.Test.waiters` is deprecated. Please refactor to `Ember.Test.checkWaiters`.', !true, { until: '2.8.0', id: 'ember-testing.test-waiters' });
var array = new Array(callbacks.length);
for (var i = 0; i < callbacks.length; i++) {
var context = contexts[i];
var callback = callbacks[i];