Skip to content

Commit

Permalink
Merge pull request #154 from foretagsplatsen/bugs/B7161682765_Remove_…
Browse files Browse the repository at this point in the history
…yaem_deprecated_code

B7161682765: Remove event as a function callback
  • Loading branch information
josquindebaz committed Mar 18, 2024
2 parents 4b8af53 + 7ca546f commit 375c3fe
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 211 deletions.
57 changes: 1 addition & 56 deletions src/event.js
Expand Up @@ -9,35 +9,11 @@
export default function event(spec, my) {
my ||= {};

// DEPRECATED: use that.register() instead.
function that(callback) {
// eslint-disable-next-line no-console
console.warn(
"Using an event as a function is deprecated. Send register() to the event instead.",
);

return that.register(callback);
}

let bindings = [];

// #### Public API

/**
* Binds callback to event. The callback will be invoked whenever the event is fired.
*
* @deprecated use that.register() instead.
* @param callback {function}
* @returns {eventBinding}
*/
that.on = function (callback) {
// eslint-disable-next-line no-console
console.warn(
"Sending on() to an event is deprecated. Send register() instead.",
);

return that.register(callback);
};
let that = {};

/**
* Binds callback to event. The callback will be invoked
Expand Down Expand Up @@ -121,22 +97,6 @@ export default function event(spec, my) {
return that;
}

/**
* Like on() except callback will only be fired once
*
* @deprecated use registerOnce() instead
* @param callback {function}
* @returns {eventBinding}
*/
that.onceOn = function (callback) {
// eslint-disable-next-line no-console
console.warn(
"Sending onceOn() to an event is deprecated. Send registerOnce() instead.",
);

return that.registerOnce(callback);
};

/**
* Like on() except callback will only be fired once
*
Expand All @@ -155,21 +115,6 @@ export default function event(spec, my) {
return onceBinding;
};

/**
* Removed "binding" attached to event.
* @deprecated use unregister() instead
* @param name {String} Name of event
* @param binding {eventBinding} Binding
*/
that.off = function (binding) {
// eslint-disable-next-line no-console
console.warn(
"Sending off() to an event is deprecated. Send unregister() instead.",
);

that.unregister(binding);
};

/**
* Removed "binding" attached to event.
* @param name {String} Name of event
Expand Down
48 changes: 0 additions & 48 deletions src/eventCategory.js
Expand Up @@ -33,22 +33,6 @@ export default function eventCategory() {
return addEvent(event(), name);
};

/**
* Binds callback to a named event. The callback will be invoked whenever the event is fired.
*
* @deprecated use register() instead
* @param name {String}
* @param callback {function}
*/
that.on = function (name, callback) {
// eslint-disable-next-line no-console
console.warn(
"Sending on() to a category is deprecated. Send register() instead.",
);

return that.register(name, callback);
};

/**
* Binds callback to a named event. The callback will be invoked whenever the event is fired.
*
Expand All @@ -59,21 +43,6 @@ export default function eventCategory() {
return ensureEventHolderFor(name).register(callback);
};

/**
* Removed "binding" attached to event.
* @deprecated use unregister() instead
* @param name {String} Name of event
* @param binding {eventBinding} Binding
*/
that.off = function (name, binding) {
// eslint-disable-next-line no-console
console.warn(
"Sending off() to a category is deprecated. Send unregister() instead.",
);

return that.unregister(name, binding);
};

/**
* Removed "binding" attached to event.
* @param name {String} Name of event
Expand All @@ -83,23 +52,6 @@ export default function eventCategory() {
return ensureEventHolderFor(name).unregister(binding);
};

/**
* Like on() except callback will only be fired once
*
* @deprecated use registerOnce() instead
* @param name
* @param callback
* @returns {*}
*/
that.onceOn = function (name, callback) {
// eslint-disable-next-line no-console
console.warn(
"Sending onceOn() to a category is deprecated. Send registerOnce() instead.",
);

return that.registerOnce(name, callback);
};

/**
* Like on() except callback will only be fired once
*
Expand Down
110 changes: 3 additions & 107 deletions test/events.test.js
Expand Up @@ -158,8 +158,8 @@ describe("events", () => {
let anotherEvent = someEvents.createEvent();

// Assert: events created
expect(anEvent.on).toBeTruthy();
expect(anotherEvent.on).toBeTruthy();
expect(anEvent.register).toBeTruthy();
expect(anotherEvent.register).toBeTruthy();
});

it("Event Category can keep named events", () => {
Expand All @@ -168,7 +168,7 @@ describe("events", () => {
let anEvent = someEvents.createEvent("namedEvent");

// Assert: events created
expect(anEvent.on).toBeTruthy();
expect(anEvent.register).toBeTruthy();
});

it("Event Category can bind callback to named event using register", () => {
Expand Down Expand Up @@ -261,107 +261,3 @@ describe("events", () => {
expect(triggered).toBeTruthy();
});
});

describe("deprecated", () => {
/* eslint-disable no-console */
let originalConsoleWarn;

beforeEach(() => {
console.warn = jasmine.createSpy("console.warn");
});

beforeAll(() => {
originalConsoleWarn = console.warn;
});

afterAll(() => {
console.warn = originalConsoleWarn;
});

it("on() method delegates to register", () => {
// Arrange: an event
let anEvent = event();
let spy = jasmine.createSpy("register");

anEvent.register = spy;
anEvent.on("foo");

expect(spy).toHaveBeenCalledWith("foo");
expect(console.warn).toHaveBeenCalled();
});

it("'using an event as a function' delegates to register", () => {
// Arrange: an event
let anEvent = event();
let spy = jasmine.createSpy("register");

anEvent.register = spy;
anEvent("foo");

expect(spy).toHaveBeenCalledWith("foo");
expect(console.warn).toHaveBeenCalled();
});

it("off() method delegates to unregister", () => {
// Arrange: an event
let anEvent = event();
let spy = jasmine.createSpy("unregister");

anEvent.unregister = spy;
anEvent.off("foo");

expect(spy).toHaveBeenCalledWith("foo");
expect(console.warn).toHaveBeenCalled();
});

it("onceOn() method delegates to registerOnce", () => {
// Arrange: an event
let anEvent = event();
let spy = jasmine.createSpy("registerOnce");

anEvent.registerOnce = spy;
anEvent.onceOn(spy);

expect(spy).toHaveBeenCalled();
expect(console.warn).toHaveBeenCalled();
});

it("on() category method delegates to register", () => {
// Arrange: an event
let someEvents = eventCategory();
let spy = jasmine.createSpy("register");

someEvents.register = spy;

someEvents.on("namedEvent", "something else");

expect(spy).toHaveBeenCalledWith("namedEvent", "something else");
expect(console.warn).toHaveBeenCalled();
});

it("off() category method delegates to unregister", () => {
// Arrange: an event
let someEvents = eventCategory();
let spy = jasmine.createSpy("unregister");

someEvents.unregister = spy;

someEvents.off("namedEvent", "something else");

expect(spy).toHaveBeenCalledWith("namedEvent", "something else");
expect(console.warn).toHaveBeenCalled();
});

it("onceOn() category method delegates to registerOnce", () => {
// Arrange: an event
let someEvents = eventCategory();
let spy = jasmine.createSpy("registerOnce");

someEvents.registerOnce = spy;

someEvents.onceOn("namedEvent", "something else");

expect(spy).toHaveBeenCalledWith("namedEvent", "something else");
expect(console.warn).toHaveBeenCalled();
});
});

0 comments on commit 375c3fe

Please sign in to comment.