Ori.livneh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/62793
Change subject: Prevent defaults from clobbering event properties
......................................................................
Prevent defaults from clobbering event properties
As Matt Flaschen noted in 48248, the event object and the defaults object are
passed to $.extend() in the wrong order, causing the defaults to clobber event
data for properties that are defined in both objects. This change reversed the
order of the two parameters, causing event properties to clobber the defaults,
as intended. The change also updates one of the test cases to cover this
particular scenario.
Bug: 48248
Change-Id: Id14ba276329272c41370458d5330599a725f5419
---
M modules/ext.eventLogging.core.js
M tests/ext.eventLogging.tests.js
2 files changed, 8 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/EventLogging
refs/changes/93/62793/1
diff --git a/modules/ext.eventLogging.core.js b/modules/ext.eventLogging.core.js
index a876e57..10fe6d6 100644
--- a/modules/ext.eventLogging.core.js
+++ b/modules/ext.eventLogging.core.js
@@ -221,7 +221,7 @@
schema = self.declareSchema( schemaName );
}
- event = $.extend( true, {}, event, schema.defaults );
+ event = $.extend( true, {}, schema.defaults, event );
return {
event : event,
diff --git a/tests/ext.eventLogging.tests.js b/tests/ext.eventLogging.tests.js
index f774c3c..f05ebf3 100644
--- a/tests/ext.eventLogging.tests.js
+++ b/tests/ext.eventLogging.tests.js
@@ -128,19 +128,24 @@
QUnit.asyncTest( 'setDefaults', 2, function ( assert ) {
assert.deepEqual( mw.eventLog.setDefaults( 'earthquake', {
+ article: '[[1960 Valdivia earthquake]]',
epicenter: 'Valdivia'
- } ), { epicenter: 'Valdivia' }, 'setDefaults returns defaults'
);
+ } ), {
+ article: '[[1960 Valdivia earthquake]]',
+ epicenter: 'Valdivia'
+ }, 'setDefaults returns defaults' );
mw.eventLog.logEvent( 'earthquake', {
+ article: '[[1575 Valdivia earthquake]]',
magnitude: 9.5
} ).always( function ( e ) {
assert.deepEqual( e.event, {
+ article: '[[1575 Valdivia earthquake]]',
epicenter: 'Valdivia',
magnitude: 9.5
}, 'Logged event is annotated with defaults' );
QUnit.start();
} );
-
} );
--
To view, visit https://gerrit.wikimedia.org/r/62793
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id14ba276329272c41370458d5330599a725f5419
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/EventLogging
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits