From fadd194019f04cd7f6497d3416a2180bc768af55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Sat, 24 Aug 2024 00:08:30 +0200 Subject: [PATCH] Tests: Properly check `$.uiBackCompat` in common widget tests The "common widget" tests, checking if a widget doesn't overwrite some core widget APIs wasn't running as it was incorrectly checking for `$.uiBackCompat === false` instead of `$.uiBackCompat !== true` after the default changed in gh-2250. Fixing the check uncovered that the draggable & sortable modules do overwrite the `_trigger` method. Add an exception in the test for that; at this stage of the project we don't plan to change the implementation. Ref gh-2250 --- tests/lib/common.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tests/lib/common.js b/tests/lib/common.js index 56b7a3ff389..ba78fb6f630 100644 --- a/tests/lib/common.js +++ b/tests/lib/common.js @@ -34,7 +34,7 @@ function testWidgetDefaults( widget, defaults ) { } function testWidgetOverrides( widget ) { - if ( $.uiBackCompat === false ) { + if ( $.uiBackCompat !== true ) { QUnit.test( "$.widget overrides", function( assert ) { assert.expect( 4 ); $.each( [ @@ -43,8 +43,19 @@ function testWidgetOverrides( widget ) { "option", "_trigger" ], function( i, method ) { - assert.strictEqual( $.ui[ widget ].prototype[ method ], - $.Widget.prototype[ method ], "should not override " + method ); + + if ( method === "_trigger" && + /^(?:draggable|sortable): common widget$/ + .test( assert.test.module.name ) ) { + + // Draggable & sortable modules overwrite _trigger. They + // should not, but we don't plan to change the API at this + // stage of the project. + assert.ok( true, "draggable & sortable modules overwrite _trigger" ); + } else { + assert.strictEqual( $.ui[ widget ].prototype[ method ], + $.Widget.prototype[ method ], "should not override " + method ); + } } ); } ); }