diff options
author | timmywil <timmywillisn@gmail.com> | 2011-08-04 15:47:53 -0400 |
---|---|---|
committer | timmywil <timmywillisn@gmail.com> | 2011-08-04 18:16:15 -0400 |
commit | fd4ee2a39752cc40e35fbcb1bfd48634ffe4bfd4 (patch) | |
tree | 5d1b9be7cf1ab6bf7c768503e8721fa8c68894f7 /test/unit | |
parent | 3cfb134ab41d204a71977c0b4c73640f250c7112 (diff) | |
download | jquery-fd4ee2a39752cc40e35fbcb1bfd48634ffe4bfd4.tar.gz jquery-fd4ee2a39752cc40e35fbcb1bfd48634ffe4bfd4.zip |
Make the tabIndex hook first a propHook and add it to attrHooks for back-compat reasons. Fixes #9979.
Diffstat (limited to 'test/unit')
-rw-r--r-- | test/unit/attributes.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/unit/attributes.js b/test/unit/attributes.js index f3c61b9eb..1a390a4c5 100644 --- a/test/unit/attributes.js +++ b/test/unit/attributes.js @@ -527,6 +527,61 @@ test("prop(String, Object)", function() { jQuery( document ).removeProp("nonexisting"); }); +test("prop('tabindex')", function() { + expect(8); + + // elements not natively tabbable + equals(jQuery("#listWithTabIndex").prop("tabindex"), 5, "not natively tabbable, with tabindex set to 0"); + equals(jQuery("#divWithNoTabIndex").prop("tabindex"), undefined, "not natively tabbable, no tabindex set"); + + // anchor with href + equals(jQuery("#linkWithNoTabIndex").prop("tabindex"), 0, "anchor with href, no tabindex set"); + equals(jQuery("#linkWithTabIndex").prop("tabindex"), 2, "anchor with href, tabindex set to 2"); + equals(jQuery("#linkWithNegativeTabIndex").prop("tabindex"), -1, "anchor with href, tabindex set to -1"); + + // anchor without href + equals(jQuery("#linkWithNoHrefWithNoTabIndex").prop("tabindex"), undefined, "anchor without href, no tabindex set"); + equals(jQuery("#linkWithNoHrefWithTabIndex").prop("tabindex"), 1, "anchor without href, tabindex set to 2"); + equals(jQuery("#linkWithNoHrefWithNegativeTabIndex").prop("tabindex"), -1, "anchor without href, no tabindex set"); +}); + +test("prop('tabindex', value)", function() { + expect(9); + + var element = jQuery("#divWithNoTabIndex"); + equals(element.prop("tabindex"), undefined, "start with no tabindex"); + + // set a positive string + element.prop("tabindex", "1"); + equals(element.prop("tabindex"), 1, "set tabindex to 1 (string)"); + + // set a zero string + element.prop("tabindex", "0"); + equals(element.prop("tabindex"), 0, "set tabindex to 0 (string)"); + + // set a negative string + element.prop("tabindex", "-1"); + equals(element.prop("tabindex"), -1, "set tabindex to -1 (string)"); + + // set a positive number + element.prop("tabindex", 1); + equals(element.prop("tabindex"), 1, "set tabindex to 1 (number)"); + + // set a zero number + element.prop("tabindex", 0); + equals(element.prop("tabindex"), 0, "set tabindex to 0 (number)"); + + // set a negative number + element.prop("tabindex", -1); + equals(element.prop("tabindex"), -1, "set tabindex to -1 (number)"); + + element = jQuery("#linkWithTabIndex"); + equals(element.prop("tabindex"), 2, "start with tabindex 2"); + + element.prop("tabindex", -1); + equals(element.prop("tabindex"), -1, "set negative tabindex"); +}); + test("removeProp(String)", function() { expect(6); var attributeNode = document.createAttribute("irrelevant"), |