aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRalf Koller <1665422+rpkoller@users.noreply.github.com>2024-09-09 17:55:58 +0200
committerGitHub <noreply@github.com>2024-09-09 17:55:58 +0200
commitd564731f20a5eee6c6e373344a2bd6fc9d047e63 (patch)
tree9b68f3c3f2bd0ec4f41d64bd5b15c5e63973b257 /tests
parentfd1b8a03b22411e68e703426fb85a2566318623d (diff)
downloadjquery-ui-d564731f20a5eee6c6e373344a2bd6fc9d047e63.tar.gz
jquery-ui-d564731f20a5eee6c6e373344a2bd6fc9d047e63.zip
Dialog: Add option to put the dialog title in a header element
Implement a new option: `uiDialogTitleHeadingLevel`, allowing to change the `span` wrapping the dialog title into a heading element (`h1`-`h6`). Value `0` represents the `span`, values 1-6 - a heading at the specified level. Fixes gh-2271 Closes gh-2275
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/dialog/common-deprecated.js1
-rw-r--r--tests/unit/dialog/common.js1
-rw-r--r--tests/unit/dialog/core.js38
3 files changed, 40 insertions, 0 deletions
diff --git a/tests/unit/dialog/common-deprecated.js b/tests/unit/dialog/common-deprecated.js
index 1efdcb030..2cdae9681 100644
--- a/tests/unit/dialog/common-deprecated.js
+++ b/tests/unit/dialog/common-deprecated.js
@@ -34,6 +34,7 @@ common.testWidget( "dialog", {
resizable: true,
show: null,
title: null,
+ uiDialogTitleHeadingLevel: 0,
width: 300,
// Callbacks
diff --git a/tests/unit/dialog/common.js b/tests/unit/dialog/common.js
index c8d885ad0..f31181047 100644
--- a/tests/unit/dialog/common.js
+++ b/tests/unit/dialog/common.js
@@ -33,6 +33,7 @@ common.testWidget( "dialog", {
resizable: true,
show: null,
title: null,
+ uiDialogTitleHeadingLevel: 0,
width: 300,
// Callbacks
diff --git a/tests/unit/dialog/core.js b/tests/unit/dialog/core.js
index c6bdec778..a8cc9678e 100644
--- a/tests/unit/dialog/core.js
+++ b/tests/unit/dialog/core.js
@@ -117,6 +117,44 @@ QUnit.test( "aria-modal", function( assert ) {
element.remove();
} );
+QUnit.test( "ui dialog title heading level", function( assert ) {
+ assert.expect( 8 );
+
+ var element, nodeName;
+
+ element = $( "<div>" ).dialog( { modal: true } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "span", "Element wrapping the dialog title is span" );
+
+ element = $( "<div>" ).dialog( { modal: true, uiDialogTitleHeadingLevel: 0 } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "span", "Element wrapping the dialog title is span" );
+
+ element = $( "<div>" ).dialog( { modal: true, uiDialogTitleHeadingLevel: 1 } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "h1", "Element wrapping the dialog title is h1" );
+
+ element = $( "<div>" ).dialog( { modal: true, uiDialogTitleHeadingLevel: 6 } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "h6", "Element wrapping the dialog title is h6" );
+
+ element = $( "<div>" ).dialog( { modal: true, uiDialogTitleHeadingLevel: 9 } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "span", "Element wrapping the dialog title is span" );
+
+ element = $( "<div>" ).dialog( { modal: true, uiDialogTitleHeadingLevel: -9 } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "span", "Element wrapping the dialog title is span" );
+
+ element = $( "<div>" ).dialog( { modal: true, uiDialogTitleHeadingLevel: 2.3 } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "span", "Element wrapping the dialog title is span" );
+
+ element = $( "<div>" ).dialog( { modal: true, uiDialogTitleHeadingLevel: "foo" } );
+ nodeName = element.dialog( "widget" ).find( ".ui-dialog-title" ).get( 0 ).nodeName.toLowerCase();
+ assert.equal( nodeName, "span", "Element wrapping the dialog title is span" );
+} );
+
QUnit.test( "widget method", function( assert ) {
assert.expect( 1 );
var dialog = $( "<div>" ).appendTo( "#qunit-fixture" ).dialog();