diff --git a/Brocfile.js b/Brocfile.js index 080720e..785439f 100644 --- a/Brocfile.js +++ b/Brocfile.js @@ -1,11 +1,10 @@ -module.exports = function(broccoli) { - return require('broccoli-dist-es6-module')(broccoli.makeTree('lib'), { - global: 'ic.ajax', - packageName: 'ic-ajax', - main: 'main', - shim: { - 'ember': 'Ember' - } - }); -}; +var broccoli = require('broccoli'); +module.exports = require('broccoli-dist-es6-module')('lib', { + global: 'ic.ajax', + packageName: 'ic-ajax', + main: 'main', + shim: { + 'ember': 'Ember' + } +}); diff --git a/dist/amd/main.js b/dist/amd/main.js index 96574c8..169dc31 100644 --- a/dist/amd/main.js +++ b/dist/amd/main.js @@ -71,7 +71,18 @@ define( return __fixtures__ && __fixtures__[url]; } - __exports__.lookupFixture = lookupFixture;function makePromise(settings) { + __exports__.lookupFixture = lookupFixture;/* + * Clears the list of fixtures created by defineFixture() + */ + function clearFixtures() { + for (var i in __fixtures__) { + if (__fixtures__.hasOwnProperty(i)) { + delete __fixtures__[i]; + } + } + } + + __exports__.clearFixtures = clearFixtures;function makePromise(settings) { return new Ember.RSVP.Promise(function(resolve, reject) { var fixture = lookupFixture(settings.url); if (fixture) { diff --git a/dist/cjs/main.js b/dist/cjs/main.js index b4db6c3..ffa3032 100644 --- a/dist/cjs/main.js +++ b/dist/cjs/main.js @@ -68,7 +68,18 @@ function lookupFixture (url) { return __fixtures__ && __fixtures__[url]; } -exports.lookupFixture = lookupFixture;function makePromise(settings) { +exports.lookupFixture = lookupFixture;/* + * Clears the list of fixtures created by defineFixture() + */ +function clearFixtures() { + for (var i in __fixtures__) { + if (__fixtures__.hasOwnProperty(i)) { + delete __fixtures__[i]; + } + } +} + +exports.clearFixtures = clearFixtures;function makePromise(settings) { return new Ember.RSVP.Promise(function(resolve, reject) { var fixture = lookupFixture(settings.url); if (fixture) { diff --git a/dist/globals/main.js b/dist/globals/main.js index 1fd4021..de3f6e1 100644 --- a/dist/globals/main.js +++ b/dist/globals/main.js @@ -69,7 +69,18 @@ function lookupFixture (url) { return __fixtures__ && __fixtures__[url]; } -exports.lookupFixture = lookupFixture;function makePromise(settings) { +exports.lookupFixture = lookupFixture;/* + * Clears the list of fixtures created by defineFixture() + */ +function clearFixtures() { + for (var i in __fixtures__) { + if (__fixtures__.hasOwnProperty(i)) { + delete __fixtures__[i]; + } + } +} + +exports.clearFixtures = clearFixtures;function makePromise(settings) { return new Ember.RSVP.Promise(function(resolve, reject) { var fixture = lookupFixture(settings.url); if (fixture) { diff --git a/dist/named-amd/main.js b/dist/named-amd/main.js index bed96ca..4c40d1a 100644 --- a/dist/named-amd/main.js +++ b/dist/named-amd/main.js @@ -71,7 +71,18 @@ define("ic-ajax", return __fixtures__ && __fixtures__[url]; } - __exports__.lookupFixture = lookupFixture;function makePromise(settings) { + __exports__.lookupFixture = lookupFixture;/* + * Clears the list of fixtures created by defineFixture() + */ + function clearFixtures() { + for (var i in __fixtures__) { + if (__fixtures__.hasOwnProperty(i)) { + delete __fixtures__[i]; + } + } + } + + __exports__.clearFixtures = clearFixtures;function makePromise(settings) { return new Ember.RSVP.Promise(function(resolve, reject) { var fixture = lookupFixture(settings.url); if (fixture) { diff --git a/lib/main.js b/lib/main.js index 9d2ce86..7e66dbf 100644 --- a/lib/main.js +++ b/lib/main.js @@ -67,6 +67,17 @@ export function lookupFixture (url) { return __fixtures__ && __fixtures__[url]; } +/* + * Clears the list of fixtures created by defineFixture() + */ +export function clearFixtures() { + for (var i in __fixtures__) { + if (__fixtures__.hasOwnProperty(i)) { + delete __fixtures__[i]; + } + } +} + function makePromise(settings) { return new Ember.RSVP.Promise(function(resolve, reject) { var fixture = lookupFixture(settings.url); diff --git a/package.json b/package.json index 4bf6ce0..95c380b 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "description": "ember friendly $.ajax wrapper", "main": "dist/cjs/main.js", "devDependencies": { - "broccoli": "^0.2.0", - "broccoli-dist-es6-module": "^0.1.8", + "broccoli": "^0.12.0", + "broccoli-dist-es6-module": "^0.2.0", "broccoli-cli": "0.0.1", "karma": "^0.10.9", "karma-chrome-launcher": "^0.1.2", @@ -36,4 +36,4 @@ }, "homepage": "https://github.com/instructure/ic-ajax", "dependencies": {} -} \ No newline at end of file +} diff --git a/test/main.spec.js b/test/main.spec.js index f1ef02a..f9fda36 100644 --- a/test/main.spec.js +++ b/test/main.spec.js @@ -91,6 +91,20 @@ asyncTest('the fixture is unaffected by external change', function() { ) }); +test('the fixtures can be cleared', function() { + var response = {foo: 'bar'}; + + ic.ajax.defineFixture('/foo', { + response: response, + textStatus: 'success', + jqXHR: {} + }); + + deepEqual(lookupFixture('/foo'), response); + ic.ajax.clearFixtures(); + ok(!lookupFixture('/foo'), 'fixture is cleared'); +}); + test('throws if success or error callbacks are used', function() { var k = function() {}; throws(function() {