dist/ember-testing.js in ember-source-1.13.13 vs dist/ember-testing.js in ember-source-2.0.0.beta.2

- old
+ new

@@ -3,11 +3,11 @@ * @copyright Copyright 2011-2015 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 1.13.13 + * @version 2.0.0-beta.2 */ (function() { var enifed, requireModule, eriuqer, requirejs, Ember; var mainContext = this; @@ -34,11 +34,11 @@ } else { value.deps = deps; value.callback = callback; } - registry[name] = value; + registry[name] = value; }; requirejs = eriuqer = requireModule = function(name) { return internalRequire(name, null); } @@ -112,15 +112,11 @@ enifed = Ember.__loader.define; requirejs = eriuqer = requireModule = Ember.__loader.require; } })(); -enifed("ember-debug", ["exports", "ember-metal/core", "ember-metal/error", "ember-metal/logger", "ember-debug/deprecation-manager", "ember-metal/environment"], function (exports, _emberMetalCore, _emberMetalError, _emberMetalLogger, _emberDebugDeprecationManager, _emberMetalEnvironment) { - /*global __fail__*/ - - "use strict"; - +enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/features', 'ember-metal/error', 'ember-metal/logger', 'ember-debug/deprecation-manager', 'ember-metal/environment'], function (exports, _emberMetalCore, _emberMetalFeatures, _emberMetalError, _emberMetalLogger, _emberDebugDeprecationManager, _emberMetalEnvironment) { exports._warnIfUsingStrippedFeatureFlags = _warnIfUsingStrippedFeatureFlags; /** @module ember @submodule ember-debug @@ -154,21 +150,21 @@ @param {Boolean|Function} test Must be truthy for the assertion to pass. If falsy, an exception will be thrown. If this is a function, it will be executed and its return value will be used as condition. @public */ - _emberMetalCore["default"].assert = function (desc, test) { + _emberMetalCore.default.assert = function (desc, test) { var throwAssertion; if (isPlainFunction(test)) { throwAssertion = !test(); } else { throwAssertion = !test; } if (throwAssertion) { - throw new _emberMetalError["default"]("Assertion Failed: " + desc); + throw new _emberMetalError.default('Assertion Failed: ' + desc); } }; /** Display a warning with the provided message. Ember build tools will @@ -178,15 +174,15 @@ @param {String} message A warning to display. @param {Boolean} test An optional boolean. If falsy, the warning will be displayed. @public */ - _emberMetalCore["default"].warn = function (message, test) { + _emberMetalCore.default.warn = function (message, test) { if (!test) { - _emberMetalLogger["default"].warn("WARNING: " + message); - if ('trace' in _emberMetalLogger["default"]) { - _emberMetalLogger["default"].trace(); + _emberMetalLogger.default.warn('WARNING: ' + message); + if ('trace' in _emberMetalLogger.default) { + _emberMetalLogger.default.trace(); } } }; /** @@ -199,12 +195,12 @@ @method debug @param {String} message A debug message to display. @public */ - _emberMetalCore["default"].debug = function (message) { - _emberMetalLogger["default"].debug("DEBUG: " + message); + _emberMetalCore.default.debug = function (message) { + _emberMetalLogger.default.debug('DEBUG: ' + message); }; /** Display a deprecation warning with the provided message and a stack trace (Chrome and Firefox only). Ember build tools will remove any calls to @@ -220,15 +216,15 @@ `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". @public */ - _emberMetalCore["default"].deprecate = function (message, test, options) { - if (_emberMetalCore["default"].ENV.RAISE_ON_DEPRECATION) { - _emberDebugDeprecationManager["default"].setDefaultLevel(_emberDebugDeprecationManager.deprecationLevels.RAISE); + _emberMetalCore.default.deprecate = function (message, test, options) { + if (_emberMetalCore.default.ENV.RAISE_ON_DEPRECATION) { + _emberDebugDeprecationManager.default.setDefaultLevel(_emberDebugDeprecationManager.deprecationLevels.RAISE); } - if (_emberDebugDeprecationManager["default"].getLevel(options && options.id) === _emberDebugDeprecationManager.deprecationLevels.SILENCE) { + if (_emberDebugDeprecationManager.default.getLevel(options && options.id) === _emberDebugDeprecationManager.deprecationLevels.SILENCE) { return; } var noDeprecation; @@ -241,15 +237,15 @@ if (noDeprecation) { return; } if (options && options.id) { - message = message + (" [deprecation id: " + options.id + "]"); + message = message + (' [deprecation id: ' + options.id + ']'); } - if (_emberDebugDeprecationManager["default"].getLevel(options && options.id) === _emberDebugDeprecationManager.deprecationLevels.RAISE) { - throw new _emberMetalError["default"](message); + if (_emberDebugDeprecationManager.default.getLevel(options && options.id) === _emberDebugDeprecationManager.deprecationLevels.RAISE) { + throw new _emberMetalError.default(message); } var error; // When using new Error, we can't do the arguments check for Chrome. Alternatives are welcome @@ -258,17 +254,17 @@ } catch (e) { error = e; } if (arguments.length === 3) { - _emberMetalCore["default"].assert('options argument to Ember.deprecate should be an object', options && typeof options === 'object'); + _emberMetalCore.default.assert('options argument to Ember.deprecate should be an object', options && typeof options === 'object'); if (options.url) { message += ' See ' + options.url + ' for more details.'; } } - if (_emberMetalCore["default"].LOG_STACKTRACE_ON_DEPRECATION && error.stack) { + if (_emberMetalCore.default.LOG_STACKTRACE_ON_DEPRECATION && error.stack) { var stack; var stackStr = ''; if (error['arguments']) { // Chrome @@ -277,15 +273,15 @@ } else { // Firefox stack = error.stack.replace(/(?:\n@:0)?\s+$/m, '').replace(/^\(/gm, '{anonymous}(').split('\n'); } - stackStr = "\n " + stack.slice(2).join("\n "); + stackStr = '\n ' + stack.slice(2).join('\n '); message = message + stackStr; } - _emberMetalLogger["default"].warn("DEPRECATION: " + message); + _emberMetalLogger.default.warn('DEPRECATION: ' + message); }; /** Alias an old, deprecated method with its new counterpart. @@ -304,11 +300,11 @@ @param {Object} [options] The options object for Ember.deprecate. @param {Function} func The new function called to replace its deprecated counterpart. @return {Function} a new function that wrapped the original function with a deprecation warning @private */ - _emberMetalCore["default"].deprecateFunc = function () { + _emberMetalCore.default.deprecateFunc = function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (args.length === 3) { @@ -317,31 +313,31 @@ var options = args[1]; var func = args[2]; return { v: function () { - _emberMetalCore["default"].deprecate(message, false, options); + _emberMetalCore.default.deprecate(message, false, options); return func.apply(this, arguments); } }; })(); - if (typeof _ret === "object") return _ret.v; + if (typeof _ret === 'object') return _ret.v; } else { var _ret2 = (function () { var message = args[0]; var func = args[1]; return { v: function () { - _emberMetalCore["default"].deprecate(message); + _emberMetalCore.default.deprecate(message); return func.apply(this, arguments); } }; })(); - if (typeof _ret2 === "object") return _ret2.v; + if (typeof _ret2 === 'object') return _ret2.v; } }; /** Run a function meant for debugging. Ember build tools will remove any calls to @@ -360,11 +356,11 @@ @method runInDebug @param {Function} func The function to be executed. @since 1.5.0 @public */ - _emberMetalCore["default"].runInDebug = function (func) { + _emberMetalCore.default.runInDebug = function (func) { func(); }; /** Will call `Ember.warn()` if ENABLE_ALL_FEATURES, ENABLE_OPTIONAL_FEATURES, or @@ -377,54 +373,53 @@ @return {void} */ function _warnIfUsingStrippedFeatureFlags(FEATURES, featuresWereStripped) { if (featuresWereStripped) { - _emberMetalCore["default"].warn('Ember.ENV.ENABLE_ALL_FEATURES is only available in canary builds.', !_emberMetalCore["default"].ENV.ENABLE_ALL_FEATURES); - _emberMetalCore["default"].warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !_emberMetalCore["default"].ENV.ENABLE_OPTIONAL_FEATURES); + _emberMetalCore.default.warn('Ember.ENV.ENABLE_ALL_FEATURES is only available in canary builds.', !_emberMetalCore.default.ENV.ENABLE_ALL_FEATURES); + _emberMetalCore.default.warn('Ember.ENV.ENABLE_OPTIONAL_FEATURES is only available in canary builds.', !_emberMetalCore.default.ENV.ENABLE_OPTIONAL_FEATURES); for (var key in FEATURES) { if (FEATURES.hasOwnProperty(key) && key !== 'isEnabled') { - _emberMetalCore["default"].warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key]); + _emberMetalCore.default.warn('FEATURE["' + key + '"] is set as enabled, but FEATURE flags are only available in canary builds.', !FEATURES[key]); } } } } - if (!_emberMetalCore["default"].testing) { + if (!_emberMetalCore.default.testing) { // Complain if they're using FEATURE flags in builds other than canary - _emberMetalCore["default"].FEATURES['features-stripped-test'] = true; + _emberMetalFeatures.FEATURES['features-stripped-test'] = true; var featuresWereStripped = true; - - delete _emberMetalCore["default"].FEATURES['features-stripped-test']; - _warnIfUsingStrippedFeatureFlags(_emberMetalCore["default"].ENV.FEATURES, featuresWereStripped); + delete _emberMetalFeatures.FEATURES['features-stripped-test']; + _warnIfUsingStrippedFeatureFlags(_emberMetalCore.default.ENV.FEATURES, featuresWereStripped); // Inform the developer about the Ember Inspector if not installed. - var isFirefox = _emberMetalEnvironment["default"].isFirefox; - var isChrome = _emberMetalEnvironment["default"].isChrome; + var isFirefox = _emberMetalEnvironment.default.isFirefox; + var isChrome = _emberMetalEnvironment.default.isChrome; if (typeof window !== 'undefined' && (isFirefox || isChrome) && window.addEventListener) { - window.addEventListener("load", function () { + 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/'; } - _emberMetalCore["default"].debug('For more advanced debugging, install the Ember Inspector from ' + downloadURL); + _emberMetalCore.default.debug('For more advanced debugging, install the Ember Inspector from ' + downloadURL); } }, false); } } - _emberMetalCore["default"].Debug = { + _emberMetalCore.default.Debug = { _addDeprecationLevel: function (id, level) { - _emberDebugDeprecationManager["default"].setLevel(id, level); + _emberDebugDeprecationManager.default.setLevel(id, level); }, _deprecationLevels: _emberDebugDeprecationManager.deprecationLevels }; /* @@ -436,26 +431,25 @@ used a nice helpful warning message will be printed out. */ var runningNonEmberDebugJS = false; exports.runningNonEmberDebugJS = runningNonEmberDebugJS; if (runningNonEmberDebugJS) { - _emberMetalCore["default"].warn('Please use `ember.debug.js` instead of `ember.js` for development and debugging.'); + _emberMetalCore.default.warn('Please use `ember.debug.js` instead of `ember.js` for development and debugging.'); } }); +/*global __fail__*/ enifed('ember-debug/deprecation-manager', ['exports', 'ember-metal/dictionary', 'ember-metal/utils'], function (exports, _emberMetalDictionary, _emberMetalUtils) { - 'use strict'; - var deprecationLevels = { RAISE: _emberMetalUtils.symbol('RAISE'), LOG: _emberMetalUtils.symbol('LOG'), SILENCE: _emberMetalUtils.symbol('SILENCE') }; exports.deprecationLevels = deprecationLevels; - exports["default"] = { + exports.default = { defaultLevel: deprecationLevels.LOG, - individualLevels: _emberMetalDictionary["default"](null), + individualLevels: _emberMetalDictionary.default(null), setDefaultLevel: function (level) { this.defaultLevel = level; }, setLevel: function (id, level) { this.individualLevels[id] = level; @@ -467,29 +461,26 @@ } return level; } }; }); -enifed("ember-testing", ["exports", "ember-metal/core", "ember-testing/initializers", "ember-testing/support", "ember-testing/setup_for_testing", "ember-testing/test", "ember-testing/adapters/adapter", "ember-testing/adapters/qunit", "ember-testing/helpers"], function (exports, _emberMetalCore, _emberTestingInitializers, _emberTestingSupport, _emberTestingSetup_for_testing, _emberTestingTest, _emberTestingAdaptersAdapter, _emberTestingAdaptersQunit, _emberTestingHelpers) { - "use strict"; - +enifed('ember-testing', ['exports', 'ember-metal/core', 'ember-testing/initializers', 'ember-testing/support', 'ember-testing/setup_for_testing', 'ember-testing/test', 'ember-testing/adapters/adapter', 'ember-testing/adapters/qunit', 'ember-testing/helpers'], function (exports, _emberMetalCore, _emberTestingInitializers, _emberTestingSupport, _emberTestingSetup_for_testing, _emberTestingTest, _emberTestingAdaptersAdapter, _emberTestingAdaptersQunit, _emberTestingHelpers) { // adds helpers to helpers object in Test /** @module ember @submodule ember-testing */ - _emberMetalCore["default"].Test = _emberTestingTest["default"]; - _emberMetalCore["default"].Test.Adapter = _emberTestingAdaptersAdapter["default"]; - _emberMetalCore["default"].Test.QUnitAdapter = _emberTestingAdaptersQunit["default"]; - _emberMetalCore["default"].setupForTesting = _emberTestingSetup_for_testing["default"]; + _emberMetalCore.default.Test = _emberTestingTest.default; + _emberMetalCore.default.Test.Adapter = _emberTestingAdaptersAdapter.default; + _emberMetalCore.default.Test.QUnitAdapter = _emberTestingAdaptersQunit.default; + _emberMetalCore.default.setupForTesting = _emberTestingSetup_for_testing.default; }); // to setup initializer // to handle various edge cases -enifed("ember-testing/adapters/adapter", ["exports", "ember-runtime/system/object"], function (exports, _emberRuntimeSystemObject) { - "use strict"; +enifed('ember-testing/adapters/adapter', ['exports', 'ember-runtime/system/object'], function (exports, _emberRuntimeSystemObject) { function K() { return this; } @@ -504,11 +495,11 @@ @class Adapter @namespace Ember.Test @public */ - var Adapter = _emberRuntimeSystemObject["default"].extend({ + var Adapter = _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 @@ -540,25 +531,24 @@ exception: function (error) { throw error; } }); - exports["default"] = Adapter; + exports.default = Adapter; }); -enifed("ember-testing/adapters/qunit", ["exports", "ember-testing/adapters/adapter", "ember-metal/utils"], function (exports, _emberTestingAdaptersAdapter, _emberMetalUtils) { - "use strict"; +enifed('ember-testing/adapters/qunit', ['exports', 'ember-testing/adapters/adapter', 'ember-metal/utils'], function (exports, _emberTestingAdaptersAdapter, _emberMetalUtils) { /** This class implements the methods defined by Ember.Test.Adapter for the QUnit testing framework. @class QUnitAdapter @namespace Ember.Test @extends Ember.Test.Adapter @public */ - exports["default"] = _emberTestingAdaptersAdapter["default"].extend({ + exports.default = _emberTestingAdaptersAdapter.default.extend({ asyncStart: function () { QUnit.stop(); }, asyncEnd: function () { QUnit.start(); @@ -566,20 +556,19 @@ exception: function (error) { ok(false, _emberMetalUtils.inspect(error)); } }); }); -enifed("ember-testing/helpers", ["exports", "ember-metal/core", "ember-metal/property_get", "ember-metal/error", "ember-metal/run_loop", "ember-views/system/jquery", "ember-testing/test", "ember-runtime/ext/rsvp"], function (exports, _emberMetalCore, _emberMetalProperty_get, _emberMetalError, _emberMetalRun_loop, _emberViewsSystemJquery, _emberTestingTest, _emberRuntimeExtRsvp) { - "use strict"; +enifed('ember-testing/helpers', ['exports', 'ember-metal/core', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/error', 'ember-metal/run_loop', 'ember-views/system/jquery', 'ember-testing/test', 'ember-runtime/ext/rsvp'], function (exports, _emberMetalCore, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalError, _emberMetalRun_loop, _emberViewsSystemJquery, _emberTestingTest, _emberRuntimeExtRsvp) { /** @module ember @submodule ember-testing */ - var helper = _emberTestingTest["default"].registerHelper; - var asyncHelper = _emberTestingTest["default"].registerAsyncHelper; + var helper = _emberTestingTest.default.registerHelper; + var asyncHelper = _emberTestingTest.default.registerAsyncHelper; function currentRouteName(app) { var appController = app.__container__.lookup('controller:application'); return _emberMetalProperty_get.get(appController, 'currentRouteName'); @@ -596,19 +585,19 @@ return _emberMetalProperty_get.get(router, 'location').getURL(); } function pauseTest() { - _emberTestingTest["default"].adapter.asyncStart(); - return new _emberMetalCore["default"].RSVP.Promise(function () {}, 'TestAdapter paused promise'); + _emberTestingTest.default.adapter.asyncStart(); + return new _emberMetalCore.default.RSVP.Promise(function () {}, 'TestAdapter paused promise'); } function focus(el) { if (el && el.is(':input, [contenteditable=true]')) { var type = el.prop('type'); if (type !== 'checkbox' && type !== 'radio' && type !== 'hidden') { - _emberMetalRun_loop["default"](el, function () { + _emberMetalRun_loop.default(el, function () { // Firefox does not trigger the `focusin` event if the window // does not have focus. If the document doesn't have focus just // use trigger('focusin') instead. if (!document.hasFocus || document.hasFocus()) { this.focus(); @@ -626,42 +615,42 @@ app.boot().then(function () { router.location.setURL(url); if (shouldHandleURL) { - _emberMetalRun_loop["default"](app.__deprecatedInstance__, 'handleURL', url); + _emberMetalRun_loop.default(app.__deprecatedInstance__, 'handleURL', url); } }); if (app._readinessDeferrals > 0) { router['initialURL'] = url; - _emberMetalRun_loop["default"](app, 'advanceReadiness'); + _emberMetalRun_loop.default(app, 'advanceReadiness'); delete router['initialURL']; } else { shouldHandleURL = true; } return app.testHelpers.wait(); } function click(app, selector, context) { var $el = app.testHelpers.findWithAssert(selector, context); - _emberMetalRun_loop["default"]($el, 'mousedown'); + _emberMetalRun_loop.default($el, 'mousedown'); focus($el); - _emberMetalRun_loop["default"]($el, 'mouseup'); - _emberMetalRun_loop["default"]($el, 'click'); + _emberMetalRun_loop.default($el, 'mouseup'); + _emberMetalRun_loop.default($el, 'click'); return app.testHelpers.wait(); } function check(app, selector, context) { var $el = app.testHelpers.findWithAssert(selector, context); var type = $el.prop('type'); - _emberMetalCore["default"].assert('To check \'' + selector + '\', the input must be a checkbox', type === 'checkbox'); + _emberMetalCore.default.assert('To check \'' + selector + '\', the input must be a checkbox', type === 'checkbox'); if (!$el.prop('checked')) { app.testHelpers.click(selector, context); } @@ -670,11 +659,11 @@ function uncheck(app, selector, context) { var $el = app.testHelpers.findWithAssert(selector, context); var type = $el.prop('type'); - _emberMetalCore["default"].assert('To uncheck \'' + selector + '\', the input must be a checkbox', type === 'checkbox'); + _emberMetalCore.default.assert('To uncheck \'' + selector + '\', the input must be a checkbox', type === 'checkbox'); if ($el.prop('checked')) { app.testHelpers.click(selector, context); } @@ -691,11 +680,11 @@ context = null; type = contextOrType; options = {}; } else if (arity === 4) { // context and options are optional, so this is - if (typeof typeOrOptions === "object") { + if (typeof typeOrOptions === 'object') { // either // app, selector, type, options context = null; type = contextOrType; options = typeOrOptions; @@ -712,13 +701,13 @@ options = possibleOptions; } var $el = app.testHelpers.findWithAssert(selector, context); - var event = _emberViewsSystemJquery["default"].Event(type, options); + var event = _emberViewsSystemJquery.default.Event(type, options); - _emberMetalRun_loop["default"]($el, 'trigger', event); + _emberMetalRun_loop.default($el, 'trigger', event); return app.testHelpers.wait(); } function keyEvent(app, selector, contextOrType, typeOrKeyCode, keyCode) { @@ -743,20 +732,22 @@ } else { context = contextOrText; } $el = app.testHelpers.findWithAssert(selector, context); focus($el); - _emberMetalRun_loop["default"](function () { - $el.val(text).change(); + _emberMetalRun_loop.default(function () { + $el.val(text); + $el.trigger('input'); + $el.change(); }); return app.testHelpers.wait(); } function findWithAssert(app, selector, context) { var $el = app.testHelpers.find(selector, context); if ($el.length === 0) { - throw new _emberMetalError["default"]("Element " + selector + " not found."); + throw new _emberMetalError.default('Element ' + selector + ' not found.'); } return $el; } function find(app, selector, context) { @@ -770,11 +761,11 @@ function andThen(app, callback) { return app.testHelpers.wait(callback(app)); } function wait(app, value) { - return new _emberRuntimeExtRsvp["default"].Promise(function (resolve) { + return new _emberRuntimeExtRsvp.default.Promise(function (resolve) { // Every 10ms, poll for the async thing to have finished var watcher = setInterval(function () { var router = app.__container__.lookup('router:main'); // 1. If the router is loading, keep polling @@ -782,30 +773,30 @@ if (routerIsLoading) { return; } // 2. If there are pending Ajax requests, keep polling - if (_emberTestingTest["default"].pendingAjaxRequests) { + if (_emberTestingTest.default.pendingAjaxRequests) { return; } // 3. If there are scheduled timers or we are inside of a run loop, keep polling - if (_emberMetalRun_loop["default"].hasScheduledTimers() || _emberMetalRun_loop["default"].currentRunLoop) { + if (_emberMetalRun_loop.default.hasScheduledTimers() || _emberMetalRun_loop.default.currentRunLoop) { return; } - if (_emberTestingTest["default"].waiters && _emberTestingTest["default"].waiters.any(function (waiter) { + if (_emberTestingTest.default.waiters && _emberTestingTest.default.waiters.any(function (waiter) { var context = waiter[0]; var callback = waiter[1]; return !callback.call(context); })) { return; } // Stop polling clearInterval(watcher); // Synchronously resolve the promise - _emberMetalRun_loop["default"](null, resolve, value); + _emberMetalRun_loop.default(null, resolve, value); }, 10); }); } /** @@ -845,11 +836,11 @@ @return {RSVP.Promise} @public */ asyncHelper('click', click); - /** + /** Simulates a key event, e.g. `keypress`, `keydown`, `keyup` with the desired keyCode Example: ```javascript @@ -917,11 +908,11 @@ @method findWithAssert @param {String} selector jQuery selector string for finding an element within the DOM @return {Object} jQuery object representing the results of the query @throws {Error} throws error if jQuery object returned has a length of 0 - @public + @private */ helper('findWithAssert', findWithAssert); /** Causes the run loop to process any pending events. This is used to ensure that @@ -1055,12 +1046,41 @@ @since 1.5.0 @public */ asyncHelper('triggerEvent', triggerEvent); }); + +/** + Checks a checkbox. Ensures the presence of the `checked` attribute + Example: + ```javascript + check('#remember-me').then(function() { + // assert something + }); + ``` + @method check + @param {String} selector jQuery selector finding an `input[type="checkbox"]` + element on the DOM to check + @return {RSVP.Promise} + @private +*/ + +/** + Unchecks a checkbox. Ensures the absence of the `checked` attribute + Example: + ```javascript + uncheck('#remember-me').then(function() { + // assert something + }); + ``` + @method check + @param {String} selector jQuery selector finding an `input[type="checkbox"]` + element on the DOM to uncheck + @return {RSVP.Promise} + @private +*/ enifed('ember-testing/initializers', ['exports', 'ember-runtime/system/lazy_load'], function (exports, _emberRuntimeSystemLazy_load) { - 'use strict'; var name = 'deferReadiness in `testing` mode'; _emberRuntimeSystemLazy_load.onLoad('Ember.Application', function (Application) { if (!Application.initializers[name]) { @@ -1074,15 +1094,13 @@ } }); } }); }); -enifed("ember-testing/setup_for_testing", ["exports", "ember-metal/core", "ember-testing/adapters/qunit", "ember-views/system/jquery"], function (exports, _emberMetalCore, _emberTestingAdaptersQunit, _emberViewsSystemJquery) { - "use strict"; +enifed('ember-testing/setup_for_testing', ['exports', 'ember-metal/core', 'ember-testing/adapters/qunit', 'ember-views/system/jquery'], function (exports, _emberMetalCore, _emberTestingAdaptersQunit, _emberViewsSystemJquery) { + exports.default = setupForTesting; - exports["default"] = setupForTesting; - var Test, requests; function incrementAjaxPendingRequests(_, xhr) { requests.push(xhr); Test.pendingAjaxRequests = requests.length; @@ -1113,37 +1131,36 @@ function setupForTesting() { if (!Test) { Test = requireModule('ember-testing/test')['default']; } - _emberMetalCore["default"].testing = true; + _emberMetalCore.default.testing = true; // if adapter is not manually set default to QUnit if (!Test.adapter) { - Test.adapter = _emberTestingAdaptersQunit["default"].create(); + Test.adapter = _emberTestingAdaptersQunit.default.create(); } requests = []; Test.pendingAjaxRequests = requests.length; - _emberViewsSystemJquery["default"](document).off('ajaxSend', incrementAjaxPendingRequests); - _emberViewsSystemJquery["default"](document).off('ajaxComplete', decrementAjaxPendingRequests); - _emberViewsSystemJquery["default"](document).on('ajaxSend', incrementAjaxPendingRequests); - _emberViewsSystemJquery["default"](document).on('ajaxComplete', decrementAjaxPendingRequests); + _emberViewsSystemJquery.default(document).off('ajaxSend', incrementAjaxPendingRequests); + _emberViewsSystemJquery.default(document).off('ajaxComplete', decrementAjaxPendingRequests); + _emberViewsSystemJquery.default(document).on('ajaxSend', incrementAjaxPendingRequests); + _emberViewsSystemJquery.default(document).on('ajaxComplete', decrementAjaxPendingRequests); } }); // import Test from "ember-testing/test"; // ES6TODO: fix when cycles are supported -enifed("ember-testing/support", ["exports", "ember-metal/core", "ember-views/system/jquery", "ember-metal/environment"], function (exports, _emberMetalCore, _emberViewsSystemJquery, _emberMetalEnvironment) { - "use strict"; +enifed('ember-testing/support', ['exports', 'ember-metal/core', 'ember-views/system/jquery', 'ember-metal/environment'], function (exports, _emberMetalCore, _emberViewsSystemJquery, _emberMetalEnvironment) { /** @module ember @submodule ember-testing */ - var $ = _emberViewsSystemJquery["default"]; + var $ = _emberViewsSystemJquery.default; /** This method creates a checkbox and triggers the click event to fire the passed in handler. It is used to correct for a bug in older versions of jQuery (e.g 1.8.3). @@ -1153,11 +1170,11 @@ */ function testCheckboxClick(handler) { $('<input type="checkbox">').css({ position: 'absolute', left: '-1000px', top: '-1000px' }).appendTo('body').on('click', handler).trigger('click').remove(); } - if (_emberMetalEnvironment["default"].hasDOM) { + if (_emberMetalEnvironment.default.hasDOM) { $(function () { /* Determine whether a checkbox checked using jQuery's "click" method will have the correct value for its checked property. If we determine that the current jQuery version exhibits this behavior, @@ -1167,28 +1184,27 @@ testCheckboxClick(function () { if (!this.checked && !$.event.special.click) { $.event.special.click = { // For checkbox, fire native event so checked state will be right trigger: function () { - if ($.nodeName(this, "input") && this.type === "checkbox" && this.click) { + if ($.nodeName(this, 'input') && this.type === 'checkbox' && this.click) { this.click(); return false; } } }; } }); // Try again to verify that the patch took effect or blow up. testCheckboxClick(function () { - _emberMetalCore["default"].warn("clicked checkboxes should be checked! the jQuery patch didn't work", this.checked); + _emberMetalCore.default.warn('clicked checkboxes should be checked! the jQuery patch didn\'t work', this.checked); }); }); } }); -enifed("ember-testing/test", ["exports", "ember-metal/core", "ember-metal/run_loop", "ember-metal/platform/create", "ember-runtime/ext/rsvp", "ember-testing/setup_for_testing", "ember-application/system/application"], function (exports, _emberMetalCore, _emberMetalRun_loop, _emberMetalPlatformCreate, _emberRuntimeExtRsvp, _emberTestingSetup_for_testing, _emberApplicationSystemApplication) { - "use strict"; +enifed('ember-testing/test', ['exports', 'ember-metal/core', 'ember-metal/run_loop', 'ember-runtime/ext/rsvp', 'ember-testing/setup_for_testing', 'ember-application/system/application'], function (exports, _emberMetalCore, _emberMetalRun_loop, _emberRuntimeExtRsvp, _emberTestingSetup_for_testing, _emberApplicationSystemApplication) { /** @module ember @submodule ember-testing */ @@ -1332,11 +1348,11 @@ @method promise @param {Function} resolver The function used to resolve the promise. @param {String} label An optional string for identifying the promise. */ promise: function (resolver, label) { - var fullLabel = "Ember.Test.promise: " + (label || "<Unknown Promise>"); + var fullLabel = 'Ember.Test.promise: ' + (label || '<Unknown Promise>'); return new Test.Promise(resolver, fullLabel); }, /** Used to allow ember-testing to communicate with a specific testing @@ -1395,11 +1411,11 @@ if (arguments.length === 1) { callback = context; context = null; } if (!this.waiters) { - this.waiters = _emberMetalCore["default"].A(); + this.waiters = _emberMetalCore.default.A(); } this.waiters.push([context, callback]); }, /** `unregisterWaiter` is used to unregister a callback that was @@ -1416,11 +1432,11 @@ } if (arguments.length === 1) { callback = context; context = null; } - this.waiters = _emberMetalCore["default"].A(this.waiters.filter(function (elt) { + this.waiters = _emberMetalCore.default.A(this.waiters.filter(function (elt) { return !(elt[0] === context && elt[1] === callback); })); } }; @@ -1453,25 +1469,25 @@ // asynchronous here, because fn may not be invoked before we // return. Test.adapter.asyncStart(); return lastPromise.then(function () { return fn.apply(app, args); - })["finally"](function () { + }).finally(function () { Test.adapter.asyncEnd(); }); }; } function run(fn) { - if (!_emberMetalRun_loop["default"].currentRunLoop) { - return _emberMetalRun_loop["default"](fn); + if (!_emberMetalRun_loop.default.currentRunLoop) { + return _emberMetalRun_loop.default(fn); } else { return fn(); } } - _emberApplicationSystemApplication["default"].reopen({ + _emberApplicationSystemApplication.default.reopen({ /** This property contains the testing helpers for the current application. These are created once you call `injectTestHelpers` on your `Ember.Application` instance. The included helpers are also available on the `window` object by default, but can be used from this object on the individual application also. @@ -1519,11 +1535,11 @@ ``` @method setupForTesting @public */ setupForTesting: function () { - _emberTestingSetup_for_testing["default"](); + _emberTestingSetup_for_testing.default(); this.testing = true; this.Router.reopen({ location: 'none' @@ -1561,17 +1577,10 @@ this.helperContainer = helperContainer; } else { this.helperContainer = window; } - this.reopen({ - willDestroy: function () { - this._super.apply(this, arguments); - this.removeTestHelpers(); - } - }); - this.testHelpers = {}; for (var name in helpers) { this.originalMethods[name] = this.helperContainer[name]; this.testHelpers[name] = this.helperContainer[name] = helper(this, name); protoWrap(Test.Promise.prototype, name, helper(this, name), helpers[name].meta.wait); @@ -1597,11 +1606,10 @@ return; } for (var name in helpers) { this.helperContainer[name] = this.originalMethods[name]; - delete Test.Promise.prototype[name]; delete this.testHelpers[name]; delete this.originalMethods[name]; } } }); @@ -1624,21 +1632,21 @@ } }; } Test.Promise = function () { - _emberRuntimeExtRsvp["default"].Promise.apply(this, arguments); + _emberRuntimeExtRsvp.default.Promise.apply(this, arguments); Test.lastPromise = this; }; - Test.Promise.prototype = _emberMetalPlatformCreate["default"](_emberRuntimeExtRsvp["default"].Promise.prototype); + Test.Promise.prototype = Object.create(_emberRuntimeExtRsvp.default.Promise.prototype); Test.Promise.prototype.constructor = Test.Promise; Test.Promise.resolve = Test.resolve; // Patch `then` to isolate async methods // specifically `Ember.Test.lastPromise` - var originalThen = _emberRuntimeExtRsvp["default"].Promise.prototype.then; + var originalThen = _emberRuntimeExtRsvp.default.Promise.prototype.then; Test.Promise.prototype.then = function (onSuccess, onFailure) { return originalThen.call(this, function (val) { return isolate(onSuccess, val); }, onFailure); }; @@ -1672,10 +1680,10 @@ }); }); } } - exports["default"] = Test; + exports.default = Test; }); requireModule("ember-testing"); })(); \ No newline at end of file