[HtmlUnit] SVN: [15385] trunk/htmlunit/src/test
rbri--- via HtmlUnit-develop <[email protected]>
| Newsgroups | gmane.comp.java.htmlunit.devel |
|---|---|
| Message-ID | <[email protected]> |
Revision: 15385
http://sourceforge.net/p/htmlunit/code/15385
Author: rbri
Date: 2018-06-26 19:02:38 +0000 (Tue, 26 Jun 2018)
Log Message:
-----------
ff60 support (wip)
Modified Paths:
--------------
trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java
trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/JQuery1x11x3Test.java
trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/runners/BrowserStatement.java
trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/source/JQueryExtractor.java
Added Paths:
-----------
trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF60.txt
trunk/htmlunit/src/test/resources/libraries/jQuery/1.8.2/expectations/results.FF60.txt
Removed Paths:
-------------
trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF45.txt
trunk/htmlunit/src/test/resources/libraries/jQuery/1.8.2/expectations/results.FF45.txt
Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java
===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2018-06-24 14:23:32 UTC (rev 15384)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2018-06-26 19:02:38 UTC (rev 15385)
@@ -169,7 +169,7 @@
/** All versions of Firefox. */
FF,
- /** Firefox 45. */
+ /** Firefox 60. */
FF60,
/** Firefox 52. */
@@ -214,7 +214,7 @@
String[] FF() default { EMPTY_DEFAULT };
/**
- * Alerts for Firefox 45. If not defined, {@link #FF()} is used.
+ * Alerts for Firefox 60. If not defined, {@link #FF()} is used.
* @return the alerts
*/
String[] FF60() default { EMPTY_DEFAULT };
@@ -272,7 +272,7 @@
String[] FF() default { EMPTY_DEFAULT };
/**
- * Alerts for Firefox 45. If not defined, {@link #FF()} is used.
+ * Alerts for Firefox 60. If not defined, {@link #FF()} is used.
* @return the alerts
*/
String[] FF60() default { EMPTY_DEFAULT };
Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/JQuery1x11x3Test.java
===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/JQuery1x11x3Test.java 2018-06-24 14:23:32 UTC (rev 15384)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/JQuery1x11x3Test.java 2018-06-26 19:02:38 UTC (rev 15385)
@@ -1213,9 +1213,7 @@
* @throws Exception if an error occurs
*/
@Test
- @Alerts(CHROME = "1, 1, 2",
- FF52 = "1, 1, 2",
- FF60 = "1, 1, 2",
+ @Alerts(DEFAULT = "1, 1, 2",
IE = "0, 2, 2")
@NotYetImplemented(IE)
public void support__Check_CSP__https___developer_mozilla_org_en_US_docs_Security_CSP__restrictions() throws Exception {
@@ -1858,9 +1856,7 @@
* @throws Exception if an error occurs
*/
@Test
- @Alerts(CHROME = "0, 4, 4",
- FF52 = "0, 4, 4",
- FF60 = "0, 4, 4")
+ @Alerts("0, 4, 4")
public void attributes__val___respects_numbers_without_exception__Bug__9319_() throws Exception {
runTest("attributes: val() respects numbers without exception (Bug #9319)");
}
@@ -2931,8 +2927,7 @@
* @throws Exception if an error occurs
*/
@Test
- @Alerts(CHROME = "0, 2, 2",
- IE = "0, 2, 2")
+ @Alerts("0, 2, 2")
public void event__Check_order_of_focusin_focusout_events() throws Exception {
runTest("event: Check order of focusin/focusout events");
}
@@ -2942,8 +2937,7 @@
* @throws Exception if an error occurs
*/
@Test
- @Alerts(CHROME = "0, 5, 5",
- IE = "0, 5, 5")
+ @Alerts("0, 5, 5")
public void event__focus_blur_order___12868_() throws Exception {
runTest("event: focus-blur order (#12868)");
}
@@ -5204,10 +5198,8 @@
* @throws Exception if an error occurs
*/
@Test
- @Alerts(CHROME = "0, 2, 2",
- FF52 = "0, 1, 1",
- FF60 = "0, 1, 1",
- IE = "0, 2, 2")
+ @Alerts(DEFAULT = "0, 2, 2",
+ FF = "0, 1, 1")
public void css__widows___orphans__8936() throws Exception {
runTest("css: widows & orphans #8936");
}
@@ -7618,7 +7610,7 @@
*/
@Test
@Alerts(CHROME = "0, 2, 2",
- FF52 = "0, 2, 2",
+ FF52 = "0, 1, 1",
FF60 = "0, 2, 2",
IE = "0, 1, 1")
@NotYetImplemented(IE)
@@ -7906,10 +7898,8 @@
* @throws Exception if an error occurs
*/
@Test
- @Alerts(CHROME = "1, 1, 2",
- FF52 = "0, 2, 2",
- FF60 = "0, 2, 2",
- IE = "0, 2, 2")
+ @Alerts(DEFAULT = "0, 2, 2",
+ CHROME = "1, 1, 2")
@NotYetImplemented(CHROME)
public void offset__fractions__see__7730_and__7885_() throws Exception {
runTest("offset: fractions (see #7730 and #7885)");
Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/runners/BrowserStatement.java
===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/runners/BrowserStatement.java 2018-06-24 14:23:32 UTC (rev 15384)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/runners/BrowserStatement.java 2018-06-26 19:02:38 UTC (rev 15385)
@@ -51,7 +51,6 @@
@Override
public void evaluate() throws Throwable {
- assertAlerts();
for (int i = 0; i < tries_; i++) {
try {
evaluateSolo();
@@ -74,6 +73,7 @@
}
}
}
+ assertAlerts();
}
private void assertAlerts() {
@@ -85,6 +85,7 @@
assertNotEquals(alerts.FF(), alerts.DEFAULT());
assertNotEquals(alerts.FF60(), alerts.DEFAULT());
assertNotEquals(alerts.FF52(), alerts.DEFAULT());
+
assertNotEquals(alerts.FF(), alerts.CHROME());
assertNotEquals(alerts.IE(), alerts.CHROME());
assertNotEquals(alerts.IE(), alerts.FF());
@@ -100,6 +101,7 @@
assertNotEquals(alerts2.FF(), alerts2.DEFAULT());
assertNotEquals(alerts2.FF60(), alerts2.DEFAULT());
assertNotEquals(alerts2.FF52(), alerts2.DEFAULT());
+
assertNotEquals(alerts2.FF(), alerts2.CHROME());
assertNotEquals(alerts2.IE(), alerts2.CHROME());
assertNotEquals(alerts2.IE(), alerts2.FF());
Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/source/JQueryExtractor.java
===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/source/JQueryExtractor.java 2018-06-24 14:23:32 UTC (rev 15384)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/source/JQueryExtractor.java 2018-06-26 19:02:38 UTC (rev 15385)
@@ -37,12 +37,13 @@
import java.util.regex.Pattern;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.reflect.MethodUtils;
+import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented;
import com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser;
-import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented;
import com.gargoylesoftware.htmlunit.WebDriverTestCase;
-import com.gargoylesoftware.htmlunit.libraries.JQuery1x8x2Test;
+import com.gargoylesoftware.htmlunit.libraries.JQuery1x11x3Test;
/**
* Extracts the needed expectation from the real browsers output, this is done by waiting the browser to finish
@@ -52,7 +53,7 @@
* <ol>
* <li>Call {@link #extractExpectations(File, File)}, where <tt>input</tt> is the raw file from the browser</li>
* <li>Have a quick look on the output files, and compare them to verify there are only minimal differences</li>
- * <li>Rename all outputs to browser names e.g. {@code results.IE.txt}, {@code results.FF45.txt}, etc</li>
+ * <li>Rename all outputs to browser names e.g. {@code results.IE.txt}, {@code results.FF60.txt}, etc</li>
* <li>Put all outputs in one folder and call {@link #generateTestCases(Class, File)}</li>
* </ol>
*
@@ -71,9 +72,9 @@
* @throws Exception s
*/
public static void main(final String[] args) throws Exception {
- final Class<? extends WebDriverTestCase> testClass = JQuery1x8x2Test.class;
+ final Class<? extends WebDriverTestCase> testClass = JQuery1x11x3Test.class;
- final String browser = "FF45";
+ final String browser = "FF60";
// final String browser = "CHROME";
// final String browser = "IE";
@@ -211,18 +212,99 @@
}
else {
boolean first = true;
- for (final String browserName : availableBrowserNames) {
- final String expectation = testExpectation.get(browserName);
- if (expectation == null) {
- continue; // test didn't run for this browser
+
+ // Hack a bit to avoid redundant alerts
+ final List<String> cleanedBrowserNames = new ArrayList<>(testExpectation.keySet());
+ if (cleanedBrowserNames.contains(TestedBrowser.FF52.name())
+ && cleanedBrowserNames.contains(TestedBrowser.FF60.name())
+ && StringUtils.equals(
+ testExpectation.get(TestedBrowser.FF52.name()),
+ testExpectation.get(TestedBrowser.FF60.name()))) {
+ if (testExpectation.get(TestedBrowser.FF60.name()) != null) {
+ testExpectation.put("FF", testExpectation.get(TestedBrowser.FF60.name()));
+ testExpectation.remove(TestedBrowser.FF60.name());
+ testExpectation.remove(TestedBrowser.FF52.name());
}
- if (!first) {
- System.out.println(",");
- System.out.print(" ");
+ cleanedBrowserNames.remove(TestedBrowser.FF60.name());
+ cleanedBrowserNames.remove(TestedBrowser.FF52.name());
+ cleanedBrowserNames.add("FF");
+ }
+ Collections.sort(cleanedBrowserNames);
+
+ if (testExpectation.size() == 2) {
+ if (StringUtils.equals(
+ testExpectation.get(TestedBrowser.CHROME.name()),
+ testExpectation.get("FF"))) {
+ testExpectation.put("DEFAULT", testExpectation.get(TestedBrowser.CHROME.name()));
+ testExpectation.put(TestedBrowser.IE.name(), "");
+ testExpectation.remove(TestedBrowser.CHROME.name());
+ testExpectation.remove("FF");
+ cleanedBrowserNames.remove(TestedBrowser.CHROME.name());
+ cleanedBrowserNames.remove("FF");
+ cleanedBrowserNames.add(0, "DEFAULT");
}
- System.out.print(browserName + " = \"" + expectation + '"');
- first = false;
+ else if (StringUtils.equals(
+ testExpectation.get(TestedBrowser.CHROME.name()),
+ testExpectation.get(TestedBrowser.IE.name()))) {
+ testExpectation.put("DEFAULT", testExpectation.get(TestedBrowser.CHROME.name()));
+ testExpectation.put("FF", "");
+ testExpectation.remove(TestedBrowser.CHROME.name());
+ testExpectation.remove(TestedBrowser.IE.name());
+ cleanedBrowserNames.remove(TestedBrowser.CHROME.name());
+ cleanedBrowserNames.remove(TestedBrowser.IE.name());
+ cleanedBrowserNames.add(0, "DEFAULT");
+ }
}
+ else if (testExpectation.size() == 3) {
+ if (StringUtils.equals(
+ testExpectation.get(TestedBrowser.CHROME.name()),
+ testExpectation.get("FF"))) {
+ testExpectation.put("DEFAULT", testExpectation.get(TestedBrowser.CHROME.name()));
+ testExpectation.remove(TestedBrowser.CHROME.name());
+ testExpectation.remove("FF");
+ cleanedBrowserNames.remove(TestedBrowser.CHROME.name());
+ cleanedBrowserNames.remove("FF");
+ cleanedBrowserNames.add(0, "DEFAULT");
+ }
+ else if (StringUtils.equals(
+ testExpectation.get(TestedBrowser.CHROME.name()),
+ testExpectation.get(TestedBrowser.IE.name()))) {
+ testExpectation.put("DEFAULT", testExpectation.get(TestedBrowser.CHROME.name()));
+ testExpectation.remove(TestedBrowser.CHROME.name());
+ testExpectation.remove(TestedBrowser.IE.name());
+ cleanedBrowserNames.remove(TestedBrowser.CHROME.name());
+ cleanedBrowserNames.remove(TestedBrowser.IE.name());
+ cleanedBrowserNames.add(0, "DEFAULT");
+ }
+ else if (StringUtils.equals(
+ testExpectation.get("FF"),
+ testExpectation.get(TestedBrowser.IE.name()))) {
+ testExpectation.put("DEFAULT", testExpectation.get("FF"));
+ testExpectation.remove("FF");
+ testExpectation.remove(TestedBrowser.IE.name());
+ cleanedBrowserNames.remove("FF");
+ cleanedBrowserNames.remove(TestedBrowser.IE.name());
+ cleanedBrowserNames.add(0, "DEFAULT");
+ }
+ }
+
+ if (cleanedBrowserNames.size() == 1 && "DEFAULT".equals(cleanedBrowserNames.get(0))) {
+ System.out.print("\"" + testExpectation.get("DEFAULT") + '"');
+ }
+ else {
+ for (final String browserName : cleanedBrowserNames) {
+ final String expectation = testExpectation.get(browserName);
+ if (expectation == null) {
+ continue; // test didn't run for this browser
+ }
+ if (!first) {
+ System.out.println(",");
+ System.out.print(" ");
+ }
+ System.out.print(browserName + " = \"" + expectation + '"');
+ first = false;
+ }
+ }
}
System.out.println(")");
Deleted: trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF45.txt
===================================================================
--- trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF45.txt 2018-06-24 14:23:32 UTC (rev 15384)
+++ trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF45.txt 2018-06-26 19:02:38 UTC (rev 15385)
@@ -1,803 +0,0 @@
-event: jQuery.isReady (0, 2, 2)
-event: jQuery ready (0, 10, 10)
-core: Unit Testing Environment (0, 2, 2)
-core: Basic requirements (0, 7, 7)
-core: jQuery() (0, 28, 28)
-core: jQuery(selector, context) (0, 3, 3)
-core: selector state (0, 18, 18)
-core: globalEval (0, 3, 3)
-core: noConflict (0, 7, 7)
-core: trim (0, 13, 13)
-core: type (0, 28, 28)
-core: isPlainObject (0, 16, 16)
-core: isFunction (0, 19, 19)
-core: isNumeric (0, 38, 38)
-core: isXMLDoc - HTML (0, 4, 4)
-core: XSS via location.hash (0, 1, 1)
-core: isXMLDoc - XML (0, 3, 3)
-core: isWindow (0, 14, 14)
-core: jQuery('html') (0, 18, 18)
-core: jQuery('massive html #7990') (0, 3, 3)
-core: jQuery('html', context) (0, 1, 1)
-core: jQuery(selector, xml).text(str) - loaded via xml document (0, 2, 2)
-core: end() (0, 3, 3)
-core: length (0, 1, 1)
-core: get() (0, 1, 1)
-core: toArray() (0, 1, 1)
-core: inArray() (0, 19, 19)
-core: get(Number) (0, 2, 2)
-core: get(-Number) (0, 2, 2)
-core: each(Function) (0, 1, 1)
-core: slice() (0, 7, 7)
-core: first()/last() (0, 4, 4)
-core: map() (0, 2, 2)
-core: jQuery.map (0, 25, 25)
-core: jQuery.merge() (0, 10, 10)
-core: jQuery.grep() (0, 8, 8)
-core: jQuery.extend(Object, Object) (0, 28, 28)
-core: jQuery.each(Object,Function) (0, 23, 23)
-core: JIT compilation does not interfere with length retrieval (gh-2145) (0, 4, 4)
-core: jQuery.makeArray (0, 15, 15)
-core: jQuery.inArray (0, 3, 3)
-core: jQuery.isEmptyObject (0, 2, 2)
-core: jQuery.proxy (0, 9, 9)
-core: jQuery.parseHTML (0, 17, 17)
-core: jQuery.parseJSON (0, 20, 20)
-core: jQuery.parseXML (0, 8, 8)
-core: jQuery.camelCase() (0, 7, 7)
-core: Conditional compilation compatibility (#13274) (0, 3, 3)
-core: document ready when jQuery loaded asynchronously (#13655) (0, 1, 1)
-core: Tolerating alias-masked DOM properties (#14074) (0, 1, 1)
-core: Don't call window.onready (#14802) (0, 1, 1)
-callbacks: jQuery.Callbacks( '' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( '' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'memory' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'memory': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'memory' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'memory': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'unique' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'unique': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'unique' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'unique': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'stopOnFalse' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'stopOnFalse': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'stopOnFalse' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'stopOnFalse': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once memory' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true, 'memory': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once memory' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true, 'memory': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once unique' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true, 'unique': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once unique' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true, 'unique': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once stopOnFalse' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true, 'stopOnFalse': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'once stopOnFalse' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'once': true, 'stopOnFalse': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'memory unique' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'memory': true, 'unique': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'memory unique' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'memory': true, 'unique': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'memory stopOnFalse' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'memory': true, 'stopOnFalse': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'memory stopOnFalse' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'memory': true, 'stopOnFalse': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'unique stopOnFalse' ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'unique': true, 'stopOnFalse': true } ) - no filter (0, 21, 21)
-callbacks: jQuery.Callbacks( 'unique stopOnFalse' ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( { 'unique': true, 'stopOnFalse': true } ) - filter (0, 21, 21)
-callbacks: jQuery.Callbacks( options ) - options are copied (0, 1, 1)
-callbacks: jQuery.Callbacks.fireWith - arguments are copied (0, 1, 1)
-callbacks: jQuery.Callbacks.remove - should remove all instances (0, 1, 1)
-callbacks: jQuery.Callbacks.has (0, 13, 13)
-callbacks: jQuery.Callbacks() - adding a string doesn't cause a stack overflow (0, 1, 1)
-deferred: jQuery.Deferred (0, 23, 23)
-deferred: jQuery.Deferred - new operator (0, 23, 23)
-deferred: jQuery.Deferred - chainability (0, 10, 10)
-deferred: jQuery.Deferred.then - filtering (done) (0, 4, 4)
-deferred: jQuery.Deferred.then - filtering (fail) (0, 4, 4)
-deferred: jQuery.Deferred.then - filtering (progress) (0, 3, 3)
-deferred: jQuery.Deferred.then - deferred (done) (0, 3, 3)
-deferred: jQuery.Deferred.then - deferred (fail) (0, 3, 3)
-deferred: jQuery.Deferred.then - deferred (progress) (0, 3, 3)
-deferred: jQuery.Deferred.then - context (0, 7, 7)
-deferred: jQuery.when (0, 37, 37)
-deferred: jQuery.when - joined (0, 119, 119)
-support: zoom of doom (#13089) (0, 1, 1)
-support: body background is not lost if set prior to loading jQuery (#9239) (0, 2, 2)
-support: A background on the testElement does not cause IE8 to crash (#9823) (0, 1, 1)
-support: box-sizing does not affect jQuery.support.shrinkWrapBlocks (0, 1, 1)
-support: Check CSP (https://developer.mozilla.org/en-US/docs/Security/CSP) restrictions (1, 1, 2)
-support: Verify that the support tests resolve as expected per browser (0, 34, 34)
-data: expando (0, 1, 1)
-data: jQuery.data(div) (0, 25, 25)
-data: jQuery.data({}) (0, 25, 25)
-data: jQuery.data(window) (0, 25, 25)
-data: jQuery.data(document) (0, 25, 25)
-data: Expando cleanup (0, 4, 4)
-data: Data is not being set on comment and text nodes (0, 2, 2)
-data: jQuery.acceptData (0, 10, 10)
-data: jQuery().data() === undefined (#14101) (0, 2, 2)
-data: .data() (0, 5, 5)
-data: jQuery(Element).data(String, Object).data(String) (0, 18, 18)
-data: jQuery(plain Object).data(String, Object).data(String) (0, 16, 16)
-data: data-* attributes (0, 43, 43)
-data: .data(Object) (0, 4, 4)
-data: jQuery.removeData (0, 10, 10)
-data: .removeData() (0, 6, 6)
-data: JSON serialization (#8108) (0, 1, 1)
-data: jQuery.data should follow html5 specification regarding camel casing (0, 10, 10)
-data: jQuery.data should not miss data with preset hyphenated property names (0, 2, 2)
-data: jQuery.data supports interoperable hyphenated/camelCase get/set of properties with arbitrary non-null|NaN|undefined values (0, 24, 24)
-data: jQuery.data supports interoperable removal of hyphenated/camelCase properties (0, 27, 27)
-data: .removeData supports removal of hyphenated properties via array (#12786) (0, 4, 4)
-data: Triggering the removeData should not throw exceptions. (#10080) (0, 1, 1)
-data: Only check element attributes once when calling .data() - #8909 (0, 2, 2)
-data: JSON data- attributes can have newlines (0, 1, 1)
-data: enumerate data attrs on body (#14894) (0, 1, 1)
-queue: queue() with other types (0, 14, 14)
-queue: queue(name) passes in the next item in the queue as a parameter (0, 2, 2)
-queue: queue() passes in the next item in the queue as a parameter to fx queues (0, 3, 3)
-queue: callbacks keep their place in the queue (0, 5, 5)
-queue: delay() (0, 2, 2)
-queue: clearQueue(name) clears the queue (0, 2, 2)
-queue: clearQueue() clears the fx queue (0, 1, 1)
-queue: fn.promise() - called when fx queue is empty (0, 3, 3)
-queue: fn.promise( "queue" ) - called whenever last queue function is dequeued (0, 5, 5)
-queue: fn.promise( "queue" ) - waits for animation to complete before resolving (0, 2, 2)
-queue: .promise(obj) (0, 2, 2)
-queue: delay() can be stopped (0, 3, 3)
-queue: queue stop hooks (0, 2, 2)
-attributes: jQuery.propFix integrity test (0, 1, 1)
-attributes: attr(String) (0, 50, 50)
-attributes: attr(String) on cloned elements, #9646 (0, 4, 4)
-attributes: attr(String) in XML Files (0, 3, 3)
-attributes: attr(String, Function) (0, 2, 2)
-attributes: attr(Hash) (0, 3, 3)
-attributes: attr(String, Object) (0, 71, 71)
-attributes: attr - extending the boolean attrHandle (0, 1, 1)
-attributes: attr(String, Object) - Loaded via XML document (0, 2, 2)
-attributes: attr(String, Object) - Loaded via XML fragment (0, 2, 2)
-attributes: attr('tabindex') (0, 8, 8)
-attributes: attr('tabindex', value) (0, 9, 9)
-attributes: removeAttr(String) (0, 12, 12)
-attributes: removeAttr(String) in XML (0, 7, 7)
-attributes: removeAttr(Multi String, variable space width) (0, 8, 8)
-attributes: prop(String, Object) (0, 17, 17)
-attributes: prop(String, Object) on null/undefined (0, 14, 14)
-attributes: prop('tabindex') (0, 11, 11)
-attributes: prop('tabindex', value) (0, 10, 10)
-attributes: removeProp(String) (0, 6, 6)
-attributes: val() after modification (0, 1, 1)
-attributes: val() (0, 26, 26)
-attributes: val() with non-matching values on dropdown list (0, 3, 3)
-attributes: val() respects numbers without exception (Bug #9319) (0, 4, 4)
-attributes: val(String/Number) (0, 9, 9)
-attributes: val(Function) (0, 9, 9)
-attributes: val(Array of Numbers) (Bug #7123) (0, 4, 4)
-attributes: val(Function) with incoming value (0, 10, 10)
-attributes: val(select) after form.reset() (Bug #2551) (0, 3, 3)
-attributes: addClass(String) (0, 9, 9)
-attributes: addClass(Function) (0, 9, 9)
-attributes: addClass(Function) with incoming value (0, 52, 52)
-attributes: removeClass(String) - simple (0, 8, 8)
-attributes: removeClass(Function) - simple (0, 8, 8)
-attributes: removeClass(Function) with incoming value (0, 52, 52)
-attributes: removeClass() removes duplicates (0, 1, 1)
-attributes: removeClass(undefined) is a no-op (0, 1, 1)
-attributes: toggleClass(String|boolean|undefined[, boolean]) (0, 17, 17)
-attributes: toggleClass(Function[, boolean]) (0, 17, 17)
-attributes: toggleClass(Function[, boolean]) with incoming value (0, 14, 14)
-attributes: addClass, removeClass, hasClass (0, 17, 17)
-attributes: addClass, removeClass, hasClass on many elements (0, 19, 19)
-attributes: contents().hasClass() returns correct values (0, 2, 2)
-attributes: hasClass correctly interprets non-space separators (#13835) (0, 4, 4)
-attributes: coords returns correct values in IE6/IE7, see #10828 (0, 1, 1)
-attributes: should not throw at $(option).val() (#14686) (0, 1, 1)
-attributes: Insignificant white space returned for $(option).val() (#14858) (0, 3, 3)
-event: null or undefined handler (0, 2, 2)
-event: on() with non-null,defined data (0, 2, 2)
-event: Handler changes and .trigger() order (0, 1, 1)
-event: on(), with data (0, 4, 4)
-event: click(), with data (0, 3, 3)
-event: on(), with data, trigger with data (0, 4, 4)
-event: on(), multiple events at once (0, 2, 2)
-event: on(), five events at once (0, 1, 1)
-event: on(), multiple events at once and namespaces (0, 7, 7)
-event: on(), namespace with special add (0, 27, 27)
-event: on(), no data (0, 1, 1)
-event: on/one/off(Object) (0, 6, 6)
-event: on/off(Object), on/off(Object, String) (0, 6, 6)
-event: on immediate propagation (0, 2, 2)
-event: on bubbling, isDefaultPrevented, stopImmediatePropagation (0, 3, 3)
-event: on(), iframes (0, 1, 1)
-event: on(), trigger change on select (0, 5, 5)
-event: on(), namespaced events, cloned events (0, 18, 18)
-event: on(), multi-namespaced events (0, 6, 6)
-event: namespace-only event binding is a no-op (0, 2, 2)
-event: on(), with same function (0, 2, 2)
-event: on(), make sure order is maintained (0, 1, 1)
-event: on(), with different this object (0, 4, 4)
-event: on(name, false), off(name, false) (0, 3, 3)
-event: on(name, selector, false), off(name, selector, false) (0, 3, 3)
-event: on()/trigger()/off() on plain object (0, 7, 7)
-event: off(type) (0, 1, 1)
-event: off(eventObject) (0, 4, 4)
-event: hover() mouseenter mouseleave (0, 1, 1)
-event: mouseover triggers mouseenter (0, 1, 1)
-event: pointerover triggers pointerenter (0, 1, 1)
-event: withinElement implemented with jQuery.contains() (0, 1, 1)
-event: mouseenter, mouseleave don't catch exceptions (0, 2, 2)
-event: trigger() shortcuts (0, 6, 6)
-event: trigger() bubbling (0, 18, 18)
-event: trigger(type, [data], [fn]) (0, 16, 16)
-event: submit event bubbles on copied forms (#11649) (0, 3, 3)
-event: change event bubbles on copied forms (#11796) (0, 3, 3)
-event: trigger(eventObject, [data], [fn]) (0, 28, 28)
-event: .trigger() bubbling on disconnected elements (#10489) (0, 2, 2)
-event: .trigger() doesn't bubble load event (#10717) (0, 1, 1)
-event: Delegated events in SVG (#10791; #13180) (0, 2, 2)
-event: Delegated events in forms (#10844; #11145; #8165; #11382, #11764) (0, 5, 5)
-event: Submit event can be stopped (#11049) (0, 1, 1)
-event: on(beforeunload) (0, 4, 4)
-event: jQuery.Event( type, props ) (0, 5, 5)
-event: jQuery.Event properties (0, 12, 12)
-event: .on()/.off() (0, 65, 65)
-event: jQuery.off using dispatched jQuery.Event (0, 1, 1)
-event: delegated event with delegateTarget-relative selector (0, 3, 3)
-event: delegated event with selector matching Object.prototype property (#13203) (0, 1, 1)
-event: delegated event with intermediate DOM manipulation (#13208) (0, 1, 1)
-event: stopPropagation() stops directly-bound events on delegated target (0, 1, 1)
-event: off all bound delegated events (0, 2, 2)
-event: on with multiple delegated events (0, 1, 1)
-event: delegated on with change (0, 8, 8)
-event: delegated on with submit (0, 2, 2)
-event: delegated off() with only namespaces (0, 2, 2)
-event: Non DOM element events (0, 1, 1)
-event: inline handler returning false stops default (0, 1, 1)
-event: window resize (0, 2, 2)
-event: focusin bubbles (0, 2, 2)
-event: custom events with colons (#3533, #8272) (0, 1, 1)
-event: .on and .off (0, 9, 9)
-event: special on name mapping (0, 7, 7)
-event: .on and .off, selective mixed removal (#10705) (0, 7, 7)
-event: .on( event-map, null-selector, data ) #11130 (0, 1, 1)
-event: clone() delegated events (#11076) (0, 3, 3)
-event: checkbox state (#3827) (0, 9, 9)
-event: hover event no longer special since 1.9 (0, 1, 1)
-event: fixHooks extensions (0, 2, 2)
-event: focusin using non-element targets (0, 2, 2)
-event: focusin from an iframe (0, 1, 1)
-event: jQuery.ready promise (0, 1, 1)
-event: Focusing iframe element (0, 1, 1)
-event: triggerHandler(onbeforeunload) (0, 1, 1)
-event: jQuery.ready synchronous load with long loading subresources (0, 1, 1)
-event: change handler should be detached from element (0, 2, 2)
-event: trigger click on checkbox, fires change event (0, 1, 1)
-event: Namespace preserved when passed an Event (#12739) (0, 4, 4)
-event: make sure events cloned correctly (0, 18, 18)
-event: String.prototype.namespace does not cause trigger() to throw (#13360) (0, 1, 1)
-event: Inline event result is returned (#13993) (0, 1, 1)
-selector: element - jQuery only (0, 7, 7)
-selector: id (0, 26, 26)
-selector: class - jQuery only (0, 4, 4)
-selector: name (0, 5, 5)
-selector: selectors with comma (0, 4, 4)
-selector: child and adjacent (0, 27, 27)
-selector: attributes (0, 54, 54)
-selector: disconnected nodes (0, 1, 1)
-selector: disconnected nodes - jQuery only (0, 3, 3)
-selector: attributes - jQuery.attr (0, 35, 35)
-selector: jQuery.contains (0, 16, 16)
-selector: jQuery.unique (0, 14, 14)
-selector: Sizzle cache collides with multiple Sizzles on a page (0, 4, 4)
-selector: Iframe dispatch should not affect jQuery (#13936) (0, 1, 1)
-traversing: find(String) (0, 1, 1)
-traversing: find(String) under non-elements (0, 2, 2)
-traversing: find(leading combinator) (0, 4, 4)
-traversing: find(node|jQuery object) (0, 13, 13)
-traversing: is(String|undefined) (0, 23, 23)
-traversing: is() against non-elements (#10178) (0, 14, 14)
-traversing: is(jQuery) (0, 19, 19)
-traversing: is() with :has() selectors (0, 6, 6)
-traversing: is() with positional selectors (0, 27, 27)
-traversing: index() (0, 2, 2)
-traversing: index(Object|String|undefined) (0, 16, 16)
-traversing: filter(Selector|undefined) (0, 9, 9)
-traversing: filter(Function) (0, 2, 2)
-traversing: filter(Element) (0, 1, 1)
-traversing: filter(Array) (0, 1, 1)
-traversing: filter(jQuery) (0, 1, 1)
-traversing: filter() with positional selectors (0, 19, 19)
-traversing: closest() (0, 13, 13)
-traversing: closest() with positional selectors (0, 2, 2)
-traversing: closest(jQuery) (0, 8, 8)
-traversing: not(Selector|undefined) (0, 11, 11)
-traversing: not(Element) (0, 1, 1)
-traversing: not(Function) (0, 1, 1)
-traversing: not(Array) (0, 2, 2)
-traversing: not(jQuery) (0, 1, 1)
-traversing: has(Element) (0, 3, 3)
-traversing: has(Selector) (0, 5, 5)
-traversing: has(Arrayish) (0, 4, 4)
-traversing: addBack() (0, 5, 5)
-traversing: siblings([String]) (0, 6, 6)
-traversing: siblings([String]) - jQuery only (0, 2, 2)
-traversing: children([String]) (0, 2, 2)
-traversing: children([String]) - jQuery only (0, 1, 1)
-traversing: parent([String]) (0, 6, 6)
-traversing: parents([String]) (0, 6, 6)
-traversing: parentsUntil([String]) (0, 10, 10)
-traversing: next([String]) (0, 6, 6)
-traversing: prev([String]) (0, 5, 5)
-traversing: nextAll([String]) (0, 5, 5)
-traversing: prevAll([String]) (0, 5, 5)
-traversing: nextUntil([String]) (0, 12, 12)
-traversing: prevUntil([String]) (0, 11, 11)
-traversing: contents() (0, 12, 12)
-traversing: sort direction (0, 12, 12)
-traversing: add(String selector) (0, 2, 2)
-traversing: add(String selector, String context) (0, 1, 1)
-traversing: add(String html) (0, 3, 3)
-traversing: add(jQuery) (0, 4, 4)
-traversing: add(Element) (0, 2, 2)
-traversing: add(Array elements) (0, 1, 1)
-traversing: add(Window) (0, 1, 1)
-traversing: add(NodeList|undefined|HTMLFormElement|HTMLSelectElement) (0, 4, 4)
-traversing: add(String, Context) (0, 6, 6)
-traversing: eq('-1') #10616 (0, 3, 3)
-traversing: index(no arg) #10977 (0, 2, 2)
-traversing: traversing non-elements with attribute filters (#12523) (0, 5, 5)
-manipulation: text() (0, 5, 5)
-manipulation: text(undefined) (0, 1, 1)
-manipulation: text(String) (0, 7, 7)
-manipulation: text(Function) (0, 7, 7)
-manipulation: text(Function) with incoming value (0, 2, 2)
-manipulation: append(String|Element|Array<Element>|jQuery) (0, 78, 78)
-manipulation: append(Function) (0, 78, 78)
-manipulation: append(param) to object, see #11280 (0, 5, 5)
-manipulation: append(Function) returns String (0, 4, 4)
-manipulation: append(Function) returns Element (0, 2, 2)
-manipulation: append(Function) returns Array<Element> (0, 2, 2)
-manipulation: append(Function) returns jQuery (0, 2, 2)
-manipulation: append(Function) returns Number (0, 2, 2)
-manipulation: XML DOM manipulation (#9960) (0, 5, 5)
-manipulation: append the same fragment with events (Bug #6997, 5566) (0, 2, 2)
-manipulation: append HTML5 sectioning elements (Bug #6485) (0, 2, 2)
-manipulation: HTML5 Elements inherit styles from style rules (Bug #10501) (0, 1, 1)
-manipulation: html(String) with HTML5 (Bug #6485) (0, 2, 2)
-manipulation: IE8 serialization bug (0, 2, 2)
-manipulation: html() object element #10324 (0, 1, 1)
-manipulation: append(xml) (0, 1, 1)
-manipulation: appendTo(String) (0, 4, 4)
-manipulation: appendTo(Element|Array<Element>) (0, 2, 2)
-manipulation: appendTo(jQuery) (0, 10, 10)
-manipulation: prepend(String) (0, 2, 2)
-manipulation: prepend(Element) (0, 1, 1)
-manipulation: prepend(Array<Element>) (0, 1, 1)
-manipulation: prepend(jQuery) (0, 1, 1)
-manipulation: prepend(Array<jQuery>) (0, 1, 1)
-manipulation: prepend(Function) with incoming value -- String (0, 4, 4)
-manipulation: prepend(Function) with incoming value -- Element (0, 2, 2)
-manipulation: prepend(Function) with incoming value -- Array<Element> (0, 2, 2)
-manipulation: prepend(Function) with incoming value -- jQuery (0, 2, 2)
-manipulation: prependTo(String) (0, 2, 2)
-manipulation: prependTo(Element) (0, 1, 1)
-manipulation: prependTo(Array<Element>) (0, 1, 1)
-manipulation: prependTo(jQuery) (0, 1, 1)
-manipulation: prependTo(Array<jQuery>) (0, 1, 1)
-manipulation: before(String) (0, 1, 1)
-manipulation: before(Element) (0, 1, 1)
-manipulation: before(Array<Element>) (0, 1, 1)
-manipulation: before(jQuery) (0, 1, 1)
-manipulation: before(Array<jQuery>) (0, 1, 1)
-manipulation: before(Function) -- Returns String (0, 1, 1)
-manipulation: before(Function) -- Returns Element (0, 1, 1)
-manipulation: before(Function) -- Returns Array<Element> (0, 1, 1)
-manipulation: before(Function) -- Returns jQuery (0, 1, 1)
-manipulation: before(Function) -- Returns Array<jQuery> (0, 1, 1)
-manipulation: before(no-op) (0, 2, 2)
-manipulation: before and after w/ empty object (#10812) (0, 1, 1)
-manipulation: .before() and .after() disconnected node (0, 2, 2)
-manipulation: insert with .before() on disconnected node last (0, 1, 1)
-manipulation: insert with .before() on disconnected node first (0, 1, 1)
-manipulation: insert with .before() on disconnected node last (0, 1, 1)
-manipulation: insert with .before() on disconnected node last (0, 1, 1)
-manipulation: insertBefore(String) (0, 1, 1)
-manipulation: insertBefore(Element) (0, 1, 1)
-manipulation: insertBefore(Array<Element>) (0, 1, 1)
-manipulation: insertBefore(jQuery) (0, 1, 1)
-manipulation: .after(String) (0, 1, 1)
-manipulation: .after(Element) (0, 1, 1)
-manipulation: .after(Array<Element>) (0, 1, 1)
-manipulation: .after(jQuery) (0, 1, 1)
-manipulation: .after(Function) returns String (0, 1, 1)
-manipulation: .after(Function) returns Element (0, 1, 1)
-manipulation: .after(Function) returns Array<Element> (0, 1, 1)
-manipulation: .after(Function) returns jQuery (0, 1, 1)
-manipulation: .after(disconnected node) (0, 2, 2)
-manipulation: insertAfter(String) (0, 1, 1)
-manipulation: insertAfter(Element) (0, 1, 1)
-manipulation: insertAfter(Array<Element>) (0, 1, 1)
-manipulation: insertAfter(jQuery) (0, 1, 1)
-manipulation: replaceWith(String|Element|Array<Element>|jQuery) (0, 29, 29)
-manipulation: replaceWith(Function) (0, 30, 30)
-manipulation: replaceWith(string) for more than one element (0, 3, 3)
-manipulation: Empty replaceWith (#13401; #13596) (0, 8, 8)
-manipulation: replaceAll(String) (0, 2, 2)
-manipulation: replaceAll(Element) (0, 2, 2)
-manipulation: replaceAll(Array<Element>) (0, 3, 3)
-manipulation: replaceAll(jQuery) (0, 3, 3)
-manipulation: jQuery.clone() (#8017) (0, 2, 2)
-manipulation: append to multiple elements (#8070) (0, 2, 2)
-manipulation: table manipulation (0, 2, 2)
-manipulation: clone() (0, 45, 45)
-manipulation: clone(script type=non-javascript) (#11359) (0, 3, 3)
-manipulation: clone(form element) (Bug #3879, #6655) (0, 5, 5)
-manipulation: clone(multiple selected options) (Bug #8129) (0, 1, 1)
-manipulation: clone() on XML nodes (0, 2, 2)
-manipulation: clone() on local XML nodes with html5 nodename (0, 2, 2)
-manipulation: html(undefined) (0, 1, 1)
-manipulation: html() on empty set (0, 1, 1)
-manipulation: html(String|Number) (0, 39, 39)
-manipulation: html(Function) (0, 39, 39)
-manipulation: html( $.text() ) (0, 1, 1)
-manipulation: html( fn ) returns $.text() (0, 1, 1)
-manipulation: html(Function) with incoming value -- direct selection (0, 4, 4)
-manipulation: html(Function) with incoming value -- jQuery.contents() (0, 14, 14)
-manipulation: clone()/html() don't expose jQuery/Sizzle expandos (#12858) (0, 2, 2)
-manipulation: remove() no filters (0, 3, 3)
-manipulation: remove() with filters (0, 8, 8)
-manipulation: remove() event cleaning (0, 1, 1)
-manipulation: remove() in document order #13779 (0, 1, 1)
-manipulation: detach() no filters (0, 3, 3)
-manipulation: detach() with filters (0, 8, 8)
-manipulation: detach() event cleaning (0, 1, 1)
-manipulation: empty() (0, 6, 6)
-manipulation: jQuery.cleanData (0, 14, 14)
-manipulation: jQuery.buildFragment - no plain-text caching (Bug #6779) (0, 1, 1)
-manipulation: jQuery.html - execute scripts escaped with html comment or CDATA (#9221) (0, 3, 3)
-manipulation: jQuery.buildFragment - plain objects are not a document #8950 (0, 1, 1)
-manipulation: jQuery.clone - no exceptions for object elements #9587 (0, 1, 1)
-manipulation: Cloned, detached HTML5 elems (#10667,10670) (0, 7, 7)
-manipulation: Guard against exceptions when clearing safeChildNodes (0, 1, 1)
-manipulation: Ensure oldIE creates a new set on appendTo (#8894) (0, 5, 5)
-manipulation: html() - script exceptions bubble (#11743) (0, 2, 2)
-manipulation: checked state is cloned with clone() (0, 2, 2)
-manipulation: manipulate mixed jQuery and text (#12384, #12346) (0, 2, 2)
-manipulation: buildFragment works even if document[0] is iframe's window object in IE9/10 (#12266) (0, 1, 1)
-manipulation: script evaluation (#11795) (0, 13, 13)
-manipulation: jQuery._evalUrl (#12838) (0, 5, 5)
-manipulation: insertAfter, insertBefore, etc do not work when destination is original element. Element is removed (#4087) (0, 10, 10)
-manipulation: Index for function argument should be received (#13094) (0, 2, 2)
-manipulation: Make sure jQuery.fn.remove can work on elements in documentFragment (0, 1, 1)
-wrap: wrap(String|Element) (0, 19, 19)
-wrap: wrap(Function) (0, 19, 19)
-wrap: wrap(Function) with index (#10177) (0, 6, 6)
-wrap: wrap(String) consecutive elements (#10177) (0, 12, 12)
-wrap: wrapAll(String) (0, 5, 5)
-wrap: wrapAll(Element) (0, 3, 3)
-wrap: wrapInner(String) (0, 6, 6)
-wrap: wrapInner(Element) (0, 5, 5)
-wrap: wrapInner(Function) returns String (0, 6, 6)
-wrap: wrapInner(Function) returns Element (0, 5, 5)
-wrap: unwrap() (0, 9, 9)
-wrap: jQuery(<tag>) & wrap[Inner/All]() handle unknown elems (#10667) (0, 2, 2)
-wrap: wrapping scripts (#10470) (0, 2, 2)
-css: css(String|Hash) (0, 43, 43)
-css: css() explicit and relative values (0, 29, 29)
-css: css(String, Object) (0, 20, 20)
-css: css(Array) (0, 2, 2)
-css: css(String, Function) (0, 3, 3)
-css: css(String, Function) with incoming value (0, 3, 3)
-css: css(Object) where values are Functions (0, 3, 3)
-css: css(Object) where values are Functions with incoming values (0, 3, 3)
-css: show(); hide() (0, 4, 4)
-css: show(); (0, 18, 18)
-css: show() resolves correct default display #8099 (0, 7, 7)
-css: show() resolves correct default display for detached nodes (0, 13, 13)
-css: show() resolves correct default display #10227 (0, 4, 4)
-css: show() resolves correct default display when iframe display:none #12904 (0, 2, 2)
-css: toggle() (0, 9, 9)
-css: hide hidden elements (bug #7141) (0, 3, 3)
-css: jQuery.css(elem, 'height') doesn't clear radio buttons (bug #1095) (0, 4, 4)
-css: internal ref to elem.runtimeStyle (bug #7608) (0, 1, 1)
-css: marginRight computed style (bug #3333) (0, 1, 1)
-css: box model properties incorrectly returning % instead of px, see #10639 and #12088 (0, 2, 2)
-css: jQuery.cssProps behavior, (bug #8402) (0, 2, 2)
-css: widows & orphans #8936 (0, 1, 1)
-css: can't get css for disconnected in IE<9, see #10254 and #8388 (0, 2, 2)
-css: can't get background-position in IE<9, see #10796 (0, 8, 8)
-css: percentage properties for bottom and right in IE<9 should not be incorrectly transformed to pixels, see #11311 (0, 1, 1)
-css: percentage properties for left and top should be transformed to pixels, see #9505 (0, 2, 2)
-css: Do not append px (#9548, #12990) (0, 2, 2)
-css: css('width') and css('height') should respect box-sizing, see #11004 (0, 4, 4)
-css: css('width') should work correctly before document ready (#14084) (0, 1, 1)
-css: certain css values of 'normal' should be convertable to a number, see #8627 (0, 3, 3)
-css: cssHooks - expand (0, 15, 15)
-css: css opacity consistency across browsers (#12685) (0, 4, 4)
-css: :visible/:hidden selectors (0, 13, 13)
-css: Keep the last style if the new one isn't recognized by the browser (#14836) (0, 2, 2)
-css: Reset the style if set to an empty string (0, 1, 1)
-css: Clearing a Cloned Element's Style Shouldn't Clear the Original Element's Style (#8908) (0, 24, 24)
-css: Make sure initialized display value for disconnected nodes is correct (#13310) (0, 4, 4)
-css: show() after hide() should always set display to initial value (#14750) (0, 1, 1)
-css: Don't append px to CSS "order" value (#14049) (0, 1, 1)
-css: Do not throw on frame elements from css method (#15098) (0, 1, 1)
-serialize: jQuery.param() (0, 22, 22)
-serialize: jQuery.param() Constructed prop values (0, 4, 4)
-serialize: serialize() (0, 5, 5)
-ajax: jQuery.ajax() - success callbacks (0, 8, 8)
-ajax: jQuery.ajax() - success callbacks - (url, options) syntax (0, 8, 8)
-ajax: jQuery.ajax() - success callbacks (late binding) (0, 8, 8)
-ajax: jQuery.ajax() - success callbacks (oncomplete binding) (0, 8, 8)
-ajax: jQuery.ajax() - error callbacks (0, 8, 8)
-ajax: jQuery.ajax() - textStatus and errorThrown values (0, 4, 4)
-ajax: jQuery.ajax() - responseText on error (0, 1, 1)
-ajax: jQuery.ajax() - retry with jQuery.ajax( this ) (0, 2, 2)
-ajax: jQuery.ajax() - headers (0, 5, 5)
-ajax: jQuery.ajax() - Accept header (0, 1, 1)
-ajax: jQuery.ajax() - contentType (0, 2, 2)
-ajax: jQuery.ajax() - protocol-less urls (0, 1, 1)
-ajax: jQuery.ajax() - hash (0, 3, 3)
-ajax: jQuery.ajax() - cross-domain detection (0, 7, 7)
-ajax: jQuery.ajax() - abort (0, 9, 9)
-ajax: jQuery.ajax() - events with context (0, 12, 12)
-ajax: jQuery.ajax() - events without context (0, 3, 3)
-ajax: #15118 - jQuery.ajax() - function without jQuery.event (0, 1, 1)
-ajax: jQuery.ajax() - context modification (0, 1, 1)
-ajax: jQuery.ajax() - context modification through ajaxSetup (0, 3, 3)
-ajax: jQuery.ajax() - disabled globals (0, 3, 3)
-ajax: jQuery.ajax() - xml: non-namespace elements inside namespaced elements (0, 3, 3)
-ajax: jQuery.ajax() - xml: non-namespace elements inside namespaced elements (over JSONP) (0, 3, 3)
-ajax: jQuery.ajax() - HEAD requests (0, 2, 2)
-ajax: jQuery.ajax() - beforeSend (0, 1, 1)
-ajax: jQuery.ajax() - beforeSend, cancel request manually (0, 2, 2)
-ajax: jQuery.ajax() - dataType html (0, 5, 5)
-ajax: jQuery.ajax() - synchronous request (0, 1, 1)
-ajax: jQuery.ajax() - synchronous request with callbacks (0, 2, 2)
-ajax: jQuery.ajax(), jQuery.get[Script|JSON](), jQuery.post(), pass-through request object (0, 8, 8)
-ajax: jQuery.ajax() - cache (0, 12, 12)
-ajax: jQuery.ajax() - JSONP - Query String (?n) - Same Domain (0, 4, 4)
-ajax: jQuery.ajax() - JSONP - Explicit callback param - Same Domain (0, 9, 9)
-ajax: jQuery.ajax() - JSONP - Callback in data - Same Domain (0, 2, 2)
-ajax: jQuery.ajax() - JSONP - POST - Same Domain (0, 3, 3)
-ajax: jQuery.ajax() - JSONP - Same Domain (0, 3, 3)
-ajax: jQuery.ajax() - JSONP - Query String (?n) - Cross Domain (0, 4, 4)
-ajax: jQuery.ajax() - JSONP - Explicit callback param - Cross Domain (0, 9, 9)
-ajax: jQuery.ajax() - JSONP - Callback in data - Cross Domain (0, 2, 2)
-ajax: jQuery.ajax() - JSONP - POST - Cross Domain (0, 3, 3)
-ajax: jQuery.ajax() - JSONP - Cross Domain (0, 3, 3)
-ajax: jQuery.ajax() - script, Remote (0, 2, 2)
-ajax: jQuery.ajax() - script, Remote with POST (0, 3, 3)
-ajax: jQuery.ajax() - script, Remote with scheme-less URL (0, 2, 2)
-ajax: jQuery.ajax() - malformed JSON (0, 2, 2)
-ajax: jQuery.ajax() - script by content-type (0, 2, 2)
-ajax: jQuery.ajax() - JSON by content-type (0, 5, 5)
-ajax: jQuery.ajax() - JSON by content-type disabled with options (0, 6, 6)
-ajax: jQuery.ajax() - simple get (0, 1, 1)
-ajax: jQuery.ajax() - simple post (0, 1, 1)
-ajax: jQuery.ajax() - data option - empty bodies for non-GET requests (0, 1, 1)
-ajax: jQuery.ajax() - If-Modified-Since support (cache) (0, 3, 3)
-ajax: jQuery.ajax() - Etag support (cache) (0, 3, 3)
-ajax: jQuery.ajax() - If-Modified-Since support (no cache) (0, 3, 3)
-ajax: jQuery.ajax() - Etag support (no cache) (0, 3, 3)
-ajax: jQuery.ajax() - failing cross-domain (non-existing) (0, 1, 1)
-ajax: jQuery.ajax() - failing cross-domain (0, 1, 1)
-ajax: jQuery.ajax() - atom+xml (0, 1, 1)
-ajax: jQuery.ajax() - statusText (0, 3, 3)
-ajax: jQuery.ajax() - statusCode (0, 20, 20)
-ajax: jQuery.ajax() - transitive conversions (0, 8, 8)
-ajax: jQuery.ajax() - overrideMimeType (0, 2, 2)
-ajax: jQuery.ajax() - empty json gets to error callback instead of success callback. (0, 1, 1)
-ajax: #2688 - jQuery.ajax() - beforeSend, cancel request (0, 2, 2)
-ajax: #2806 - jQuery.ajax() - data option - evaluate function values (0, 1, 1)
-ajax: #7531 - jQuery.ajax() - Location object as url (0, 1, 1)
-ajax: #7578 - jQuery.ajax() - JSONP - default for cache option - Same Domain (0, 1, 1)
-ajax: #7578 - jQuery.ajax() - JSONP - default for cache option - Cross Domain (0, 1, 1)
-ajax: #8107 - jQuery.ajax() - multiple method signatures introduced in 1.5 (0, 4, 4)
-ajax: #8205 - jQuery.ajax() - JSONP - re-use callbacks name - Same Domain (0, 2, 2)
-ajax: #8205 - jQuery.ajax() - JSONP - re-use callbacks name - Cross Domain (0, 2, 2)
-ajax: #9887 - jQuery.ajax() - Context with circular references (#9887) (0, 2, 2)
-ajax: #10093 - jQuery.ajax() - falsy url as argument (0, 4, 4)
-ajax: #10093 - jQuery.ajax() - falsy url in settings object (0, 4, 4)
-ajax: #11151 - jQuery.ajax() - parse error body (0, 2, 2)
-ajax: #11426 - jQuery.ajax() - loading binary data shouldn't throw an exception in IE (0, 1, 1)
-ajax: #11743 - jQuery.ajax() - script, throws exception (0, 1, 1)
-ajax: #12004 - jQuery.ajax() - method is an alias of type - method set globally (0, 3, 3)
-ajax: #12004 - jQuery.ajax() - method is an alias of type - type set globally (0, 3, 3)
-ajax: #13276 - jQuery.ajax() - compatibility between XML documents from ajax requests and parsed string (0, 1, 1)
-ajax: #13292 - jQuery.ajax() - converter is bypassed for 204 requests (0, 3, 3)
-ajax: #13388 - jQuery.ajax() - responseXML (0, 3, 3)
-ajax: #13922 - jQuery.ajax() - converter is bypassed for HEAD requests (0, 3, 3)
-ajax: #13240 - jQuery.ajax() - support non-RFC2616 methods (1, 0, 1)
-ajax: #14379 - jQuery.ajax() on unload (0, 1, 1)
-ajax: jQuery.ajaxPrefilter() - abort (0, 1, 1)
-ajax: jQuery.ajaxSetup() (0, 1, 1)
-ajax: jQuery.ajaxSetup({ timeout: Number }) - with global timeout (0, 2, 2)
-ajax: jQuery.ajaxSetup({ timeout: Number }) with localtimeout (0, 1, 1)
-ajax: #11264 - jQuery.domManip() - no side effect because of ajaxSetup or global events (0, 1, 1)
-ajax: #11402 - jQuery.domManip() - script in comments are properly evaluated (0, 2, 2)
-ajax: jQuery.get( String, Hash, Function ) - parse xml and use text() on nodes (0, 2, 2)
-ajax: #8277 - jQuery.get( String, Function ) - data in ajaxSettings (0, 1, 1)
-ajax: jQuery.getJSON( String, Hash, Function ) - JSON array (0, 5, 5)
-ajax: jQuery.getJSON( String, Function ) - JSON object (0, 2, 2)
-ajax: jQuery.getJSON() - Using Native JSON (0, 2, 2)
-ajax: jQuery.getJSON( String, Function ) - JSON object with absolute url to local content (0, 2, 2)
-ajax: jQuery.getScript( String, Function ) - with callback (0, 2, 2)
-ajax: jQuery.getScript( String, Function ) - no callback (0, 1, 1)
-ajax: #8082 - jQuery.getScript( String, Function ) - source as responseText (0, 2, 2)
-ajax: jQuery.fn.load( String ) (0, 2, 2)
-ajax: jQuery.fn.load() - 404 error callbacks (0, 6, 6)
-ajax: jQuery.fn.load( String, null ) (0, 2, 2)
-ajax: jQuery.fn.load( String, undefined ) (0, 2, 2)
-ajax: jQuery.fn.load( URL_SELECTOR ) (0, 1, 1)
-ajax: jQuery.fn.load( URL_SELECTOR with spaces ) (0, 1, 1)
-ajax: jQuery.fn.load( String, Function ) - simple: inject text into DOM (0, 2, 2)
-ajax: jQuery.fn.load( String, Function ) - check scripts (0, 7, 7)
-ajax: jQuery.fn.load( String, Function ) - check file with only a script tag (0, 3, 3)
-ajax: jQuery.fn.load( String, Function ) - dataFilter in ajaxSettings (0, 2, 2)
-ajax: jQuery.fn.load( String, Object, Function ) (0, 2, 2)
-ajax: jQuery.fn.load( String, String, Function ) (0, 2, 2)
-ajax: jQuery.fn.load() - callbacks get the correct parameters (0, 8, 8)
-ajax: #2046 - jQuery.fn.load( String, Function ) with ajaxSetup on dataType json (0, 1, 1)
-ajax: #10524 - jQuery.fn.load() - data specified in ajaxSettings is merged in (0, 1, 1)
-ajax: jQuery.post() - data (0, 3, 3)
-ajax: jQuery.post( String, Hash, Function ) - simple with xml (0, 4, 4)
-ajax: jQuery.active (0, 1, 1)
-effects: sanity check (0, 1, 1)
-effects: show() basic (0, 2, 2)
-effects: show() (0, 27, 27)
-effects: show(Number) - other displays (0, 15, 15)
-effects: Persist correct display value (0, 3, 3)
-effects: animate(Hash, Object, Function) (0, 1, 1)
-effects: animate relative values (0, 12, 12)
-effects: animate negative height (0, 1, 1)
-effects: animate negative margin (0, 1, 1)
-effects: animate negative margin with px (0, 1, 1)
-effects: animate negative padding (0, 1, 1)
-effects: animate block as inline width/height (0, 3, 3)
-effects: animate native inline width/height (0, 3, 3)
-effects: animate block width/height (0, 3, 3)
-effects: animate table width/height (0, 1, 1)
-effects: animate table-row width/height (0, 3, 3)
-effects: animate table-cell width/height (0, 3, 3)
-effects: animate percentage(%) on width/height (0, 2, 2)
-effects: animate resets overflow-x and overflow-y when finished (0, 2, 2)
-effects: animate option { queue: false } (0, 2, 2)
-effects: animate option { queue: true } (0, 2, 2)
-effects: animate option { queue: 'name' } (0, 5, 5)
-effects: animate with no properties (0, 2, 2)
-effects: animate duration 0 (0, 11, 11)
-effects: animate hyphenated properties (0, 1, 1)
-effects: animate non-element (0, 1, 1)
-effects: stop() (0, 4, 4)
-effects: stop() - several in queue (0, 5, 5)
-effects: stop(clearQueue) (0, 4, 4)
-effects: stop(clearQueue, gotoEnd) (0, 1, 1)
-effects: stop( queue, ..., ... ) - Stop single queues (0, 3, 3)
-effects: toggle() (0, 6, 6)
-effects: jQuery.fx.prototype.cur() - <1.8 Back Compat (0, 7, 7)
-effects: Overflow and Display (0, 4, 4)
-effects: CSS Auto to 0 (0, 6, 6)
-effects: CSS Auto to 50 (0, 6, 6)
-effects: CSS Auto to 100 (0, 6, 6)
-effects: CSS Auto to show (0, 5, 5)
-effects: CSS Auto to hide (0, 4, 4)
-effects: JS Auto to 0 (0, 6, 6)
-effects: JS Auto to 50 (0, 6, 6)
-effects: JS Auto to 100 (0, 6, 6)
-effects: JS Auto to show (0, 5, 5)
-effects: JS Auto to hide (0, 4, 4)
-effects: CSS 100 to 0 (0, 6, 6)
-effects: CSS 100 to 50 (0, 6, 6)
-effects: CSS 100 to 100 (0, 6, 6)
-effects: CSS 100 to show (0, 5, 5)
-effects: CSS 100 to hide (0, 4, 4)
-effects: JS 100 to 0 (0, 6, 6)
-effects: JS 100 to 50 (0, 6, 6)
-effects: JS 100 to 100 (0, 6, 6)
-effects: JS 100 to show (0, 5, 5)
-effects: JS 100 to hide (0, 4, 4)
-effects: CSS 50 to 0 (0, 6, 6)
-effects: CSS 50 to 50 (0, 6, 6)
-effects: CSS 50 to 100 (0, 6, 6)
-effects: CSS 50 to show (0, 5, 5)
-effects: CSS 50 to hide (0, 4, 4)
-effects: JS 50 to 0 (0, 6, 6)
-effects: JS 50 to 50 (0, 6, 6)
-effects: JS 50 to 100 (0, 6, 6)
-effects: JS 50 to show (0, 5, 5)
-effects: JS 50 to hide (0, 4, 4)
-effects: CSS 0 to 0 (0, 6, 6)
-effects: CSS 0 to 50 (0, 6, 6)
-effects: CSS 0 to 100 (0, 6, 6)
-effects: CSS 0 to show (0, 5, 5)
-effects: CSS 0 to hide (0, 4, 4)
-effects: JS 0 to 0 (0, 6, 6)
-effects: JS 0 to 50 (0, 6, 6)
-effects: JS 0 to 100 (0, 6, 6)
-effects: JS 0 to show (0, 5, 5)
-effects: JS 0 to hide (0, 4, 4)
-effects: Effects chaining (0, 16, 16)
-effects: jQuery.show('fast') doesn't clear radio buttons (bug #1095) (0, 4, 4)
-effects: interrupt toggle (0, 24, 24)
-effects: animate with per-property easing (0, 5, 5)
-effects: animate with CSS shorthand properties (0, 11, 11)
-effects: hide hidden elements, with animation (bug #7141) (0, 3, 3)
-effects: animate unit-less properties (#4966) (0, 2, 2)
-effects: animate properties missing px w/ opacity as last (#9074) (0, 6, 6)
-effects: callbacks should fire in correct order (#9100) (0, 1, 1)
-effects: callbacks that throw exceptions will be removed (#5684) (0, 2, 2)
-effects: animate will scale margin properties individually (0, 2, 2)
-effects: Do not append px to 'fill-opacity' #9548 (0, 1, 1)
-effects: line-height animates correctly (#13855) (0, 12, 12)
-effects: jQuery.Animation( object, props, opts ) (0, 4, 4)
-effects: Animate Option: step: function( percent, tween ) (0, 1, 1)
-effects: Animate callbacks have correct context (0, 2, 2)
-effects: User supplied callback called after show when fx off (#8892) (0, 2, 2)
-effects: animate should set display for disconnected nodes (0, 18, 18)
-effects: Animation callback should not show animated element as :animated (#7157) (0, 1, 1)
-effects: Initial step callback should show element as :animated (#14623) (0, 1, 1)
-effects: hide called on element within hidden parent should set display to none (#10045) (0, 3, 3)
-effects: hide, fadeOut and slideUp called on element width height and width = 0 should set display to none (0, 5, 5)
-effects: hide should not leave hidden inline elements visible (#14848) (0, 2, 2)
-effects: Handle queue:false promises (0, 10, 10)
-effects: multiple unqueued and promise (0, 4, 4)
-effects: animate does not change start value for non-px animation (#7109) (0, 1, 1)
-effects: non-px animation handles non-numeric start (#11971) (0, 1, 1)
-effects: Animation callbacks (#11797) (0, 15, 15)
-effects: Animate properly sets overflow hidden when animating width/height (#12117) (0, 8, 8)
-effects: Each tick of the timer loop uses a fresh time (#12837) (0, 3, 3)
-effects: Animations with 0 duration don't ease (#12273) (0, 1, 1)
-effects: toggle state tests: toggle (#8685) (0, 4, 4)
-effects: toggle state tests: slideToggle (#8685) (0, 4, 4)
-effects: toggle state tests: fadeToggle (#8685) (0, 4, 4)
-effects: jQuery.fx.start & jQuery.fx.stop hook points (0, 3, 3)
-effects: .finish() completes all queued animations (0, 11, 11)
-effects: .finish( false ) - unqueued animations (0, 10, 10)
-effects: .finish( "custom" ) - custom queue animations (0, 11, 11)
-effects: .finish() calls finish of custom queue functions (0, 6, 6)
-effects: .finish() is applied correctly when multiple elements were animated (#13937) (0, 3, 3)
-effects: slideDown() after stop() (#13483) (0, 2, 2)
-effects: Respect display value on inline elements (#14824) (0, 2, 2)
-offset: empty set (0, 2, 2)
-offset: object without getBoundingClientRect (0, 2, 2)
-offset: disconnected node (0, 2, 2)
-offset: absolute (0, 4, 4)
-offset: absolute (0, 178, 178)
-offset: relative (0, 60, 60)
-offset: static (0, 80, 80)
-offset: fixed (0, 34, 34)
-offset: table (0, 4, 4)
-offset: scroll (0, 24, 24)
-offset: body (0, 4, 4)
-offset: chaining (0, 3, 3)
-offset: offsetParent (0, 13, 13)
-offset: fractions (see #7730 and #7885) (0, 2, 2)
-dimensions: width() (0, 9, 9)
-dimensions: width(Function) (0, 9, 9)
-dimensions: width(Function(args)) (0, 2, 2)
-dimensions: height() (0, 9, 9)
-dimensions: height(Function) (0, 9, 9)
-dimensions: height(Function(args)) (0, 2, 2)
-dimensions: innerWidth() (0, 6, 6)
-dimensions: innerHeight() (0, 6, 6)
-dimensions: outerWidth() (0, 11, 11)
-dimensions: child of a hidden elem (or unconnected node) has accurate inner/outer/Width()/Height() see #9441 #9300 (0, 16, 16)
-dimensions: getting dimensions shouldn't modify runtimeStyle see #9233 (0, 1, 1)
-dimensions: table dimensions (0, 2, 2)
-dimensions: box-sizing:border-box child of a hidden elem (or unconnected node) has accurate inner/outer/Width()/Height() see #10413 (0, 16, 16)
-dimensions: outerHeight() (0, 11, 11)
-dimensions: passing undefined is a setter #5571 (0, 4, 4)
-dimensions: getters on non elements should return null (0, 8, 8)
-dimensions: setters with and without box-sizing:border-box (0, 20, 20)
-dimensions: window vs. small document (0, 1, 1)
-dimensions: window vs. large document (0, 2, 2)
Copied: trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF60.txt (from rev 15384, trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF45.txt)
===================================================================
--- trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF60.txt (rev 0)
+++ trunk/htmlunit/src/test/resources/libraries/jQuery/1.11.3/expectations/results.FF60.txt 2018-06-26 19:02:38 UTC (rev 15385)
@@ -0,0 +1,803 @@
+event: jQuery.isReady (0, 2, 2)
+event: jQuery ready (0, 10, 10)
+core: Unit Testing Environment (0, 2, 2)
+core: Basic requirements (0, 7, 7)
+core: jQuery() (0, 28, 28)
+core: jQuery(selector, context) (0, 3, 3)
+core: selector state (0, 18, 18)
+core: globalEval (0, 3, 3)
+core: noConflict (0, 7, 7)
+core: trim (0, 13, 13)
+core: type (0, 28, 28)
+core: isPlainObject (0, 16, 16)
+core: isFunction (0, 19, 19)
+core: isNumeric (0, 38, 38)
+core: isXMLDoc - HTML (0, 4, 4)
+core: XSS via location.hash (0, 1, 1)
+core: isXMLDoc - XML (0, 3, 3)
+core: isWindow (0, 14, 14)
+core: jQuery('html') (0, 18, 18)
+core: jQuery('massive html #7990') (0, 3, 3)
+core: jQuery('html', context) (0, 1, 1)
+core: jQuery(selector, xml).text(str) - loaded via xml document (0, 2, 2)
+core: end() (0, 3, 3)
+core: length (0, 1, 1)
+core: get() (0, 1, 1)
+core: toArray() (0, 1, 1)
+core: inArray() (0, 19, 19)
+core: get(Number) (0, 2, 2)
+core: get(-Number) (0, 2, 2)
+core: each(Function) (0, 1, 1)
+core: slice() (0, 7, 7)
+core: first()/last() (0, 4, 4)
+core: map() (0, 2, 2)
+core: jQuery.map (0, 25, 25)
+core: jQuery.merge() (0, 10, 10)
+core: jQuery.grep() (0, 8, 8)
+core: jQuery.extend(Object, Object) (0, 28, 28)
+core: jQuery.each(Object,Function) (0, 23, 23)
+core: JIT compilation does not interfere with length retrieval (gh-2145) (0, 4, 4)
+core: jQuery.makeArray (0, 15, 15)
+core: jQuery.inArray (0, 3, 3)
+core: jQuery.isEmptyObject (0, 2, 2)
+core: jQuery.proxy (0, 9, 9)
+core: jQuery.parseHTML (0, 17, 17)
+core: jQuery.parseJSON (0, 20, 20)
+core: jQuery.parseXML (0, 8, 8)
+core: jQuery.camelCase() (0, 7, 7)
+core: Conditional compilation compatibility (#13274) (0, 3, 3)
+core: document ready when jQuery loaded asynchronously (#13655) (0, 1, 1)
+core: Tolerating alias-masked DOM properties (#14074) (0, 1, 1)
+core: Don't call window.onready (#14802) (0, 1, 1)
+callbacks: jQuery.Callbacks( '' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( '' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'memory' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'memory': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'memory' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'memory': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'unique' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'unique': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'unique' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'unique': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'stopOnFalse' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'stopOnFalse': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'stopOnFalse' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'stopOnFalse': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once memory' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true, 'memory': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once memory' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true, 'memory': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once unique' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true, 'unique': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once unique' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true, 'unique': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once stopOnFalse' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true, 'stopOnFalse': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'once stopOnFalse' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'once': true, 'stopOnFalse': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'memory unique' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'memory': true, 'unique': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'memory unique' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'memory': true, 'unique': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'memory stopOnFalse' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'memory': true, 'stopOnFalse': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'memory stopOnFalse' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'memory': true, 'stopOnFalse': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'unique stopOnFalse' ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'unique': true, 'stopOnFalse': true } ) - no filter (0, 21, 21)
+callbacks: jQuery.Callbacks( 'unique stopOnFalse' ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( { 'unique': true, 'stopOnFalse': true } ) - filter (0, 21, 21)
+callbacks: jQuery.Callbacks( options ) - options are copied (0, 1, 1)
+callbacks: jQuery.Callbacks.fireWith - arguments are copied (0, 1, 1)
+callbacks: jQuery.Callbacks.remove - should remove all instances (0, 1, 1)
+callbacks: jQuery.Callbacks.has (0, 13, 13)
+callbacks: jQuery.Callbacks() - adding a string doesn't cause a stack overflow (0, 1, 1)
+deferred: jQuery.Deferred (0, 23, 23)
+deferred: jQuery.Deferred - new operator (0, 23, 23)
+deferred: jQuery.Deferred - chainability (0, 10, 10)
+deferred: jQuery.Deferred.then - filtering (done) (0, 4, 4)
+deferred: jQuery.Deferred.then - filtering (fail) (0, 4, 4)
+deferred: jQuery.Deferred.then - filtering (progress) (0, 3, 3)
+deferred: jQuery.Deferred.then - deferred (done) (0, 3, 3)
+deferred: jQuery.Deferred.then - deferred (fail) (0, 3, 3)
+deferred: jQuery.Deferred.then - deferred (progress) (0, 3, 3)
+deferred: jQuery.Deferred.then - context (0, 7, 7)
+deferred: jQuery.when (0, 37, 37)
+deferred: jQuery.when - joined (0, 119, 119)
+support: zoom of doom (#13089) (0, 1, 1)
+support: body background is not lost if set prior to loading jQuery (#9239) (0, 2, 2)
+support: A background on the testElement does not cause IE8 to crash (#9823) (0, 1, 1)
+support: box-sizing does not affect jQuery.support.shrinkWrapBlocks (0, 1, 1)
+support: Check CSP (https://developer.mozilla.org/en-US/docs/Security/CSP) restrictions (1, 1, 2)
+support: Verify that the support tests resolve as expected per browser (0, 34, 34)
+data: expando (0, 1, 1)
+data: jQuery.data(div) (0, 25, 25)
+data: jQuery.data({}) (0, 25, 25)
+data: jQuery.data(window) (0, 25, 25)
+data: jQuery.data(document) (0, 25, 25)
+data: Expando cleanup (0, 4, 4)
+data: Data is not being set on comment and text nodes (0, 2, 2)
+data: jQuery.acceptData (0, 10, 10)
+data: jQuery().data() === undefined (#14101) (0, 2, 2)
+data: .data() (0, 5, 5)
+data: jQuery(Element).data(String, Object).data(String) (0, 18, 18)
+data: jQuery(plain Object).data(String, Object).data(String) (0, 16, 16)
+data: data-* attributes (0, 43, 43)
+data: .data(Object) (0, 4, 4)
+data: jQuery.removeData (0, 10, 10)
+data: .removeData() (0, 6, 6)
+data: JSON serialization (#8108) (0, 1, 1)
+data: jQuery.data should follow html5 specification regarding camel casing (0, 10, 10)
+data: jQuery.data should not miss data with preset hyphenated property names (0, 2, 2)
+data: jQuery.data supports interoperable hyphenated/camelCase get/set of properties with arbitrary non-null|NaN|undefined values (0, 24, 24)
+data: jQuery.data supports interoperable removal of hyphenated/camelCase properties (0, 27, 27)
+data: .removeData supports removal of hyphenated properties via array (#12786) (0, 4, 4)
+data: Triggering the removeData should not throw exceptions. (#10080) (0, 1, 1)
+data: Only check element attributes once when calling .data() - #8909 (0, 2, 2)
+data: JSON data- attributes can have newlines (0, 1, 1)
+data: enumerate data attrs on body (#14894) (0, 1, 1)
+queue: queue() with other types (0, 14, 14)
+queue: queue(name) passes in the next item in the queue as a parameter (0, 2, 2)
+queue: queue() passes in the next item in the queue as a parameter to fx queues (0, 3, 3)
+queue: callbacks keep their place in the queue (0, 5, 5)
+queue: delay() (0, 2, 2)
+queue: clearQueue(name) clears the queue (0, 2, 2)
+queue: clearQueue() clears the fx queue (0, 1, 1)
+queue: fn.promise() - called when fx queue is empty (0, 3, 3)
+queue: fn.promise( "queue" ) - called whenever last queue function is dequeued (0, 5, 5)
+queue: fn.promise( "queue" ) - waits for animation to complete before resolving (0, 2, 2)
+queue: .promise(obj) (0, 2, 2)
+queue: delay() can be stopped (0, 3, 3)
+queue: queue stop hooks (0, 2, 2)
+attributes: jQuery.propFix integrity test (0, 1, 1)
+attributes: attr(String) (0, 50, 50)
+attributes: attr(String) on cloned elements, #9646 (0, 4, 4)
+attributes: attr(String) in XML Files (0, 3, 3)
+attributes: attr(String, Function) (0, 2, 2)
+attributes: attr(Hash) (0, 3, 3)
+attributes: attr(String, Object) (0, 71, 71)
+attributes: attr - extending the boolean attrHandle (0, 1, 1)
+attributes: attr(String, Object) - Loaded via XML document (0, 2, 2)
+attributes: attr(String, Object) - Loaded via XML fragment (0, 2, 2)
+attributes: attr('tabindex') (0, 8, 8)
+attributes: attr('tabindex', value) (0, 9, 9)
+attributes: removeAttr(String) (0, 12, 12)
+attributes: removeAttr(String) in XML (0, 7, 7)
+attributes: removeAttr(Multi String, variable space width) (0, 8, 8)
+attributes: prop(String, Object) (0, 17, 17)
+attributes: prop(String, Object) on null/undefined (0, 14, 14)
+attributes: prop('tabindex') (0, 11, 11)
+attributes: prop('tabindex', value) (0, 10, 10)
+attributes: removeProp(String) (0, 6, 6)
+attributes: val() after modification (0, 1, 1)
+attributes: val() (0, 26, 26)
+attributes: val() with non-matching values on dropdown list (0, 3, 3)
+attributes: val() respects numbers without exception (Bug #9319) (0, 4, 4)
+attributes: val(String/Number) (0, 9, 9)
+attributes: val(Function) (0, 9, 9)
+attributes: val(Array of Numbers) (Bug #7123) (0, 4, 4)
+attributes: val(Function) with incoming value (0, 10, 10)
+attributes: val(select) after form.reset() (Bug #2551) (0, 3, 3)
+attributes: addClass(String) (0, 9, 9)
+attributes: addClass(Function) (0, 9, 9)
+attributes: addClass(Function) with incoming value (0, 52, 52)
+attributes: removeClass(String) - simple (0, 8, 8)
+attributes: removeClass(Function) - simple (0, 8, 8)
+attributes: removeClass(Function) with incoming value (0, 52, 52)
+attributes: removeClass() removes duplicates (0, 1, 1)
+attributes: removeClass(undefined) is a no-op (0, 1, 1)
+attributes: toggleClass(String|boolean|undefined[, boolean]) (0, 17, 17)
+attributes: toggleClass(Function[, boolean]) (0, 17, 17)
+attributes: toggleClass(Function[, boolean]) with incoming value (0, 14, 14)
+attributes: addClass, removeClass, hasClass (0, 17, 17)
+attributes: addClass, removeClass, hasClass on many elements (0, 19, 19)
+attributes: contents().hasClass() returns correct values (0, 2, 2)
+attributes: hasClass correctly interprets non-space separators (#13835) (0, 4, 4)
+attributes: coords returns correct values in IE6/IE7, see #10828 (0, 1, 1)
+attributes: should not throw at $(option).val() (#14686) (0, 1, 1)
+attributes: Insignificant white space returned for $(option).val() (#14858) (0, 3, 3)
+event: null or undefined handler (0, 2, 2)
+event: on() with non-null,defined data (0, 2, 2)
+event: Handler changes and .trigger() order (0, 1, 1)
+event: on(), with data (0, 4, 4)
+event: click(), with data (0, 3, 3)
+event: on(), with data, trigger with data (0, 4, 4)
+event: on(), multiple events at once (0, 2, 2)
+event: on(), five events at once (0, 1, 1)
+event: on(), multiple events at once and namespaces (0, 7, 7)
+event: on(), namespace with special add (0, 27, 27)
+event: on(), no data (0, 1, 1)
+event: on/one/off(Object) (0, 6, 6)
+event: on/off(Object), on/off(Object, String) (0, 6, 6)
+event: on immediate propagation (0, 2, 2)
+event: on bubbling, isDefaultPrevented, stopImmediatePropagation (0, 3, 3)
+event: on(), iframes (0, 1, 1)
+event: on(), trigger change on select (0, 5, 5)
+event: on(), namespaced events, cloned events (0, 18, 18)
+event: on(), multi-namespaced events (0, 6, 6)
+event: namespace-only event binding is a no-op (0, 2, 2)
+event: on(), with same function (0, 2, 2)
+event: on(), make sure order is maintained (0, 1, 1)
+event: on(), with different this object (0, 4, 4)
+event: on(name, false), off(name, false) (0, 3, 3)
+event: on(name, selector, false), off(name, selector, false) (0, 3, 3)
+event: on()/trigger()/off() on plain object (0, 7, 7)
+event: off(type) (0, 1, 1)
+event: off(eventObject) (0, 4, 4)
+event: hover() mouseenter mouseleave (0, 1, 1)
+event: mouseover triggers mouseenter (0, 1, 1)
+event: pointerover triggers pointerenter (0, 1, 1)
+event: withinElement implemented with jQuery.contains() (0, 1, 1)
+event: mouseenter, mouseleave don't catch exceptions (0, 2, 2)
+event: trigger() shortcuts (0, 6, 6)
+event: trigger() bubbling (0, 18, 18)
+event: trigger(type, [data], [fn]) (0, 16, 16)
+event: submit event bubbles on copied forms (#11649) (0, 3, 3)
+event: change event bubbles on copied forms (#11796) (0, 3, 3)
+event: trigger(eventObject, [data], [fn]) (0, 28, 28)
+event: .trigger() bubbling on disconnected elements (#10489) (0, 2, 2)
+event: .trigger() doesn't bubble load event (#10717) (0, 1, 1)
+event: Delegated events in SVG (#10791; #13180) (0, 2, 2)
+event: Delegated events in forms (#10844; #11145; #8165; #11382, #11764) (0, 5, 5)
+event: Submit event can be stopped (#11049) (0, 1, 1)
+event: on(beforeunload) (0, 4, 4)
+event: jQuery.Event( type, props ) (0, 5, 5)
+event: jQuery.Event properties (0, 12, 12)
+event: .on()/.off() (0, 65, 65)
+event: jQuery.off using dispatched jQuery.Event (0, 1, 1)
+event: delegated event with delegateTarget-relative selector (0, 3, 3)
+event: delegated event with selector matching Object.prototype property (#13203) (0, 1, 1)
+event: delegated event with intermediate DOM manipulation (#13208) (0, 1, 1)
+event: stopPropagation() stops directly-bound events on delegated target (0, 1, 1)
+event: off all bound delegated events (0, 2, 2)
+event: on with multiple delegated events (0, 1, 1)
+event: delegated on with change (0, 8, 8)
+event: delegated on with submit (0, 2, 2)
+event: delegated off() with only namespaces (0, 2, 2)
+event: Non DOM element events (0, 1, 1)
+event: inline handler returning false stops default (0, 1, 1)
+event: window resize (0, 2, 2)
+event: focusin bubbles (0, 2, 2)
+event: custom events with colons (#3533, #8272) (0, 1, 1)
+event: .on and .off (0, 9, 9)
+event: special on name mapping (0, 7, 7)
+event: .on and .off, selective mixed removal (#10705) (0, 7, 7)
+event: .on( event-map, null-selector, data ) #11130 (0, 1, 1)
+event: clone() delegated events (#11076) (0, 3, 3)
+event: checkbox state (#3827) (0, 9, 9)
+event: hover event no longer special since 1.9 (0, 1, 1)
+event: fixHooks extensions (0, 2, 2)
+event: focusin using non-element targets (0, 2, 2)
+event: focusin from an iframe (0, 1, 1)
+event: jQuery.ready promise (0, 1, 1)
+event: Focusing iframe element (0, 1, 1)
+event: triggerHandler(onbeforeunload) (0, 1, 1)
+event: jQuery.ready synchronous load with long loading subresources (0, 1, 1)
+event: change handler should be detached from element (0, 2, 2)
+event: trigger click on checkbox, fires change event (0, 1, 1)
+event: Namespace preserved when passed an Event (#12739) (0, 4, 4)
+event: make sure events cloned correctly (0, 18, 18)
+event: String.prototype.namespace does not cause trigger() to throw (#13360) (0, 1, 1)
+event: Inline event result is returned (#13993) (0, 1, 1)
+selector: element - jQuery only (0, 7, 7)
+selector: id (0, 26, 26)
+selector: class - jQuery only (0, 4, 4)
+selector: name (0, 5, 5)
+selector: selectors with comma (0, 4, 4)
+selector: child and adjacent (0, 27, 27)
+selector: attributes (0, 54, 54)
+selector: disconnected nodes (0, 1, 1)
+selector: disconnected nodes - jQuery only (0, 3, 3)
+selector: attributes - jQuery.attr (0, 35, 35)
+selector: jQuery.contains (0, 16, 16)
+selector: jQuery.unique (0, 14, 14)
+selector: Sizzle cache collides with multiple Sizzles on a page (0, 4, 4)
+selector: Iframe dispatch should not affect jQuery (#13936) (0, 1, 1)
+traversing: find(String) (0, 1, 1)
+traversing: find(String) under non-elements (0, 2, 2)
+traversing: find(leading combinator) (0, 4, 4)
+traversing: find(node|jQuery object) (0, 13, 13)
+traversing: is(String|undefined) (0, 23, 23)
+traversing: is() against non-elements (#10178) (0, 14, 14)
+traversing: is(jQuery) (0, 19, 19)
+traversing: is() with :has() selectors (0, 6, 6)
+traversing: is() with positional selectors (0, 27, 27)
+traversing: index() (0, 2, 2)
+traversing: index(Object|String|undefined) (0, 16, 16)
+traversing: filter(Selector|undefined) (0, 9, 9)
+traversing: filter(Function) (0, 2, 2)
+traversing: filter(Element) (0, 1, 1)
+traversing: filter(Array) (0, 1, 1)
+traversing: filter(jQuery) (0, 1, 1)
+traversing: filter() with positional selectors (0, 19, 19)
+traversing: closest() (0, 13, 13)
+traversing: closest() with positional selectors (0, 2, 2)
+traversing: closest(jQuery) (0, 8, 8)
+traversing: not(Selector|undefined) (0, 11, 11)
+traversing: not(Element) (0, 1, 1)
+traversing: not(Function) (0, 1, 1)
+traversing: not(Array) (0, 2, 2)
+traversing: not(jQuery) (0, 1, 1)
+traversing: has(Element) (0, 3, 3)
+traversing: has(Selector) (0, 5, 5)
+traversing: has(Arrayish) (0, 4, 4)
+traversing: addBack() (0, 5, 5)
+traversing: siblings([String]) (0, 6, 6)
+traversing: siblings([String]) - jQuery only (0, 2, 2)
+traversing: children([String]) (0, 2, 2)
+traversing: children([String]) - jQuery only (0, 1, 1)
+traversing: parent([String]) (0, 6, 6)
+traversing: parents([String]) (0, 6, 6)
+traversing: parentsUntil([String]) (0, 10, 10)
+traversing: next([String]) (0, 6, 6)
+traversing: prev([String]) (0, 5, 5)
+traversing: nextAll([String]) (0, 5, 5)
+traversing: prevAll([String]) (0, 5, 5)
+traversing: nextUntil([String]) (0, 12, 12)
+traversing: prevUntil([String]) (0, 11, 11)
+traversing: contents() (0, 12, 12)
+traversing: sort direction (0, 12, 12)
+traversing: add(String selector) (0, 2, 2)
+traversing: add(String selector, String context) (0, 1, 1)
+traversing: add(String html) (0, 3, 3)
+traversing: add(jQuery) (0, 4, 4)
+traversing: add(Element) (0, 2, 2)
+traversing: add(Array elements) (0, 1, 1)
+traversing: add(Window) (0, 1, 1)
+traversing: add(NodeList|undefined|HTMLFormElement|HTMLSelectElement) (0, 4, 4)
+traversing: add(String, Context) (0, 6, 6)
+traversing: eq('-1') #10616 (0, 3, 3)
+traversing: index(no arg) #10977 (0, 2, 2)
+traversing: traversing non-elements with attribute filters (#12523) (0, 5, 5)
+manipulation: text() (0, 5, 5)
+manipulation: text(undefined) (0, 1, 1)
+manipulation: text(String) (0, 7, 7)
+manipulation: text(Function) (0, 7, 7)
+manipulation: text(Function) with incoming value (0, 2, 2)
+manipulation: append(String|Element|Array<Element>|jQuery) (0, 78, 78)
+manipulation: append(Function) (0, 78, 78)
+manipulation: append(param) to object, see #11280 (0, 5, 5)
+manipulation: append(Function) returns String (0, 4, 4)
+manipulation: append(Function) returns Element (0, 2, 2)
+manipulation: append(Function) returns Array<Element> (0, 2, 2)
+manipulation: append(Function) returns jQuery (0, 2, 2)
+manipulation: append(Function) returns Number (0, 2, 2)
+manipulation: XML DOM manipulation (#9960) (0, 5, 5)
+manipulation: append the same fragment with events (Bug #6997, 5566) (0, 2, 2)
+manipulation: append HTML5 sectioning elements (Bug #6485) (0, 2, 2)
+manipulation: HTML5 Elements inherit styles from style rules (Bug #10501) (0, 1, 1)
+manipulation: html(String) with HTML5 (Bug #6485) (0, 2, 2)
+manipulation: IE8 serialization bug (0, 2, 2)
+manipulation: html() object element #10324 (0, 1, 1)
+manipulation: append(xml) (0, 1, 1)
+manipulation: appendTo(String) (0, 4, 4)
+manipulation: appendTo(Element|Array<Element>) (0, 2, 2)
+manipulation: appendTo(jQuery) (0, 10, 10)
+manipulation: prepend(String) (0, 2, 2)
+manipulation: prepend(Element) (0, 1, 1)
+manipulation: prepend(Array<Element>) (0, 1, 1)
+manipulation: prepend(jQuery) (0, 1, 1)
+manipulation: prepend(Array<jQuery>) (0, 1, 1)
+manipulation: prepend(Function) with incoming value -- String (0, 4, 4)
+manipulation: prepend(Function) with incoming value -- Element (0, 2, 2)
+manipulation: prepend(Function) with incoming value -- Array<Element> (0, 2, 2)
+manipulation: prepend(Function) with incoming value -- jQuery (0, 2, 2)
+manipulation: prependTo(String) (0, 2, 2)
+manipulation: prependTo(Element) (0, 1, 1)
+manipulation: prependTo(Array<Element>) (0, 1, 1)
+manipulation: prependTo(jQuery) (0, 1, 1)
+manipulation: prependTo(Array<jQuery>) (0, 1, 1)
+manipulation: before(String) (0, 1, 1)
+manipulation: before(Element) (0, 1, 1)
+manipulation: before(Array<Element>) (0, 1, 1)
+manipulation: before(jQuery) (0, 1, 1)
+manipulation: before(Array<jQuery>) (0, 1, 1)
+manipulation: before(Function) -- Returns String (0, 1, 1)
+manipulation: before(Function) -- Returns Element (0, 1, 1)
+manipulation: before(Function) -- Returns Array<Element> (0, 1, 1)
+manipulation: before(Function) -- Returns jQuery (0, 1, 1)
+manipulation: before(Function) -- Returns Array<jQuery> (0, 1, 1)
+manipulation: before(no-op) (0, 2, 2)
+manipulation: before and after w/ empty object (#10812) (0, 1, 1)
+manipulation: .before() and .after() disconnected node (0, 2, 2)
+manipulation: insert with .before() on disconnected node last (0, 1, 1)
+manipulation: insert with .before() on disconnected node first (0, 1, 1)
+manipulation: insert with .before() on disconnected node last (0, 1, 1)
+manipulation: insert with .before() on disconnected node last (0, 1, 1)
+manipulation: insertBefore(String) (0, 1, 1)
+manipulation: insertBefore(Element) (0, 1, 1)
+manipulation: insertBefore(Array<Element>) (0, 1, 1)
+manipulation: insertBefore(jQuery) (0, 1, 1)
+manipulation: .after(String) (0, 1, 1)
+manipulation: .after(Element) (0, 1, 1)
+manipulation: .after(Array<Element>) (0, 1, 1)
+manipulation: .after(jQuery) (0, 1, 1)
+manipulation: .after(Function) returns String (0, 1, 1)
+manipulation: .after(Function) returns Element (0, 1, 1)
+manipulation: .after(Function) returns Array<Element> (0, 1, 1)
+manipulation: .after(Function) returns jQuery (0, 1, 1)
+manipulation: .after(disconnected node) (0, 2, 2)
+manipulation: insertAfter(String) (0, 1, 1)
+manipulation: insertAfter(Element) (0, 1, 1)
+manipulation: insertAfter(Array<Element>) (0, 1, 1)
+manipulation: insertAfter(jQuery) (0, 1, 1)
+manipulation: replaceWith(String|Element|Array<Element>|jQuery) (0, 29, 29)
+manipulation: replaceWith(Function) (0, 30, 30)
+manipulation: replaceWith(string) for more than one element (0, 3, 3)
+manipulation: Empty replaceWith (#13401; #13596) (0, 8, 8)
+manipulation: replaceAll(String) (0, 2, 2)
+manipulation: replaceAll(Element) (0, 2, 2)
+manipulation: replaceAll(Array<Element>) (0, 3, 3)
+manipulation: replaceAll(jQuery) (0, 3, 3)
+manipulation: jQuery.clone() (#8017) (0, 2, 2)
+manipulation: append to multiple elements (#8070) (0, 2, 2)
+manipulation: table manipulation (0, 2, 2)
+manipulation: clone() (0, 45, 45)
+manipulation: clone(script type=non-javascript) (#11359) (0, 3, 3)
+manipulation: clone(form element) (Bug #3879, #6655) (0, 5, 5)
+manipulation: clone(multiple selected options) (Bug #8129) (0, 1, 1)
+manipulation: clone() on XML nodes (0, 2, 2)
+manipulation: clone() on local XML nodes with html5 nodename (0, 2, 2)
+manipulation: html(undefined) (0, 1, 1)
+manipulation: html() on empty set (0, 1, 1)
+manipulation: html(String|Number) (0, 39, 39)
+manipulation: html(Function) (0, 39, 39)
+manipulation: html( $.text() ) (0, 1, 1)
+manipulation: html( fn ) returns $.text() (0, 1, 1)
+manipulation: html(Function) with incoming value -- direct selection (0, 4, 4)
+manipulation: html(Function) with incoming value -- jQuery.contents() (0, 14, 14)
+manipulation: clone()/html() don't expose jQuery/Sizzle expandos (#12858) (0, 2, 2)
+manipulation: remove() no filters (0, 3, 3)
+manipulation: remove() with filters (0, 8, 8)
+manipulation: remove() event cleaning (0, 1, 1)
+manipulation: remove() in document order #13779 (0, 1, 1)
+manipulation: detach() no filters (0, 3, 3)
+manipulation: detach() with filters (0, 8, 8)
+manipulation: detach() event cleaning (0, 1, 1)
+manipulation: empty() (0, 6, 6)
+manipulation: jQuery.cleanData (0, 14, 14)
+manipulation: jQuery.buildFragment - no plain-text caching (Bug #6779) (0, 1, 1)
+manipulation: jQuery.html - execute scripts escaped with html comment or CDATA (#9221) (0, 3, 3)
+manipulation: jQuery.buildFragment - plain objects are not a document #8950 (0, 1, 1)
+manipulation: jQuery.clone - no exceptions for object elements #9587 (0, 1, 1)
+manipulation: Cloned, detached HTML5 elems (#10667,10670) (0, 7, 7)
+manipulation: Guard against exceptions when clearing safeChildNodes (0, 1, 1)
+manipulation: Ensure oldIE creates a new set on appendTo (#8894) (0, 5, 5)
+manipulation: html() - script exceptions bubble (#11743) (0, 2, 2)
+manipulation: checked state is cloned with clone() (0, 2, 2)
+manipulation: manipulate mixed jQuery and text (#12384, #12346) (0, 2, 2)
+manipulation: buildFragment works even if document[0] is iframe's window object in IE9/10 (#12266) (0, 1, 1)
+manipulation: script evaluation (#11795) (0, 13, 13)
+manipulation: jQuery._evalUrl (#12838) (0, 5, 5)
+manipulation: insertAfter, insertBefore, etc do not work when destination is original element. Element is removed (#4087) (0, 10, 10)
+manipulation: Index for function argument should be received (#13094) (0, 2, 2)
+manipulation: Make sure jQuery.fn.remove can work on elements in documentFragment (0, 1, 1)
+wrap: wrap(String|Element) (0, 19, 19)
+wrap: wrap(Function) (0, 19, 19)
+wrap: wrap(Function) with index (#10177) (0, 6, 6)
+wrap: wrap(String) consecutive elements (#10177) (0, 12, 12)
+wrap: wrapAll(String) (0, 5, 5)
+wrap: wrapAll(Element) (0, 3, 3)
+wrap: wrapInner(String) (0, 6, 6)
+wrap: wrapInner(Element) (0, 5, 5)
+wrap: wrapInner(Function) returns String (0, 6, 6)
+wrap: wrapInner(Function) returns Element (0, 5, 5)
+wrap: unwrap() (0, 9, 9)
+wrap: jQuery(<tag>) & wrap[Inner/All]() handle unknown elems (#10667) (0, 2, 2)
+wrap: wrapping scripts (#10470) (0, 2, 2)
+css: css(String|Hash) (0, 43, 43)
+css: css() explicit and relative values (0, 29, 29)
+css: css(String, Object) (0, 20, 20)
+css: css(Array) (0, 2, 2)
+css: css(String, Function) (0, 3, 3)
+css: css(String, Function) with incoming value (0, 3, 3)
+css: css(Object) where values are Functions (0, 3, 3)
+css: css(Object) where values are Functions with incoming values (0, 3, 3)
+css: show(); hide() (0, 4, 4)
+css: show(); (0, 18, 18)
+css: show() resolves correct default display #8099 (0, 7, 7)
+css: show() resolves correct default display for detached nodes (0, 13, 13)
+css: show() resolves correct default display #10227 (0, 4, 4)
+css: show() resolves correct default display when iframe display:none #12904 (0, 2, 2)
+css: toggle() (0, 9, 9)
+css: hide hidden elements (bug #7141) (0, 3, 3)
+css: jQuery.css(elem, 'height') doesn't clear radio buttons (bug #1095) (0, 4, 4)
+css: internal ref to elem.runtimeStyle (bug #7608) (0, 1, 1)
+css: marginRight computed style (bug #3333) (0, 1, 1)
+css: box model properties incorrectly returning % instead of px, see #10639 and #12088 (0, 2, 2)
+css: jQuery.cssProps behavior, (bug #8402) (0, 2, 2)
+css: widows & orphans #8936 (0, 1, 1)
+css: can't get css for disconnected in IE<9, see #10254 and #8388 (0, 2, 2)
+css: can't get background-position in IE<9, see #10796 (0, 8, 8)
+css: percentage properties for bottom and right in IE<9 should not be incorrectly transformed to pixels, see #11311 (0, 1, 1)
+css: percentage properties for left and top should be transformed to pixels, see #9505 (0, 2, 2)
+css: Do not append px (#9548, #12990) (0, 2, 2)
+css: css('width') and css('height') should respect box-sizing, see #11004 (0, 4, 4)
+css: css('width') should work correctly before document ready (#14084) (0, 1, 1)
+css: certain css values of 'normal' should be convertable to a number, see #8627 (0, 3, 3)
+css: cssHooks - expand (0, 15, 15)
+css: css opacity consistency across browsers (#12685) (0, 4, 4)
+css: :visible/:hidden selectors (0, 13, 13)
+css: Keep the last style if the new one isn't recognized by the browser (#14836) (0, 2, 2)
+css: Reset the style if set to an empty string (0, 1, 1)
+css: Clearing a Cloned Element's Style Shouldn't Clear the Original Element's Style (#8908) (0, 24, 24)
+css: Make sure initialized display value for disconnected nodes is correct (#13310) (0, 4, 4)
+css: show() after hide() should always set display to initial value (#14750) (0, 1, 1)
+css: Don't append px to CSS "order" value (#14049) (0, 1, 1)
+css: Do not throw on frame elements from css method (#15098) (0, 1, 1)
+serialize: jQuery.param() (0, 22, 22)
+serialize: jQuery.param() Constructed prop values (0, 4, 4)
+serialize: serialize() (0, 5, 5)
+ajax: jQuery.ajax() - success callbacks (0, 8, 8)
+ajax: jQuery.ajax() - success callbacks - (url, options) syntax (0, 8, 8)
+ajax: jQuery.ajax() - success callbacks (late binding) (0, 8, 8)
+ajax: jQuery.ajax() - success callbacks (oncomplete binding) (0, 8, 8)
+ajax: jQuery.ajax() - error callbacks (0, 8, 8)
+ajax: jQuery.ajax() - textStatus and errorThrown values (0, 4, 4)
+ajax: jQuery.ajax() - responseText on error (0, 1, 1)
+ajax: jQuery.ajax() - retry with jQuery.ajax( this ) (0, 2, 2)
+ajax: jQuery.ajax() - headers (0, 5, 5)
+ajax: jQuery.ajax() - Accept header (0, 1, 1)
+ajax: jQuery.ajax() - contentType (0, 2, 2)
+ajax: jQuery.ajax() - protocol-less urls (0, 1, 1)
+ajax: jQuery.ajax() - hash (0, 3, 3)
+ajax: jQuery.ajax() - cross-domain detection (0, 7, 7)
+ajax: jQuery.ajax() - abort (0, 9, 9)
+ajax: jQuery.ajax() - events with context (0, 12, 12)
+ajax: jQuery.ajax() - events without context (0, 3, 3)
+ajax: #15118 - jQuery.ajax() - function without jQuery.event (0, 1, 1)
+ajax: jQuery.ajax() - context modification (0, 1, 1)
+ajax: jQuery.ajax() - context modification through ajaxSetup (0, 3, 3)
+ajax: jQuery.ajax() - disabled globals (0, 3, 3)
+ajax: jQuery.ajax() - xml: non-namespace elements inside namespaced elements (0, 3, 3)
+ajax: jQuery.ajax() - xml: non-namespace elements inside namespaced elements (over JSONP) (0, 3, 3)
+ajax: jQuery.ajax() - HEAD requests (0, 2, 2)
+ajax: jQuery.ajax() - beforeSend (0, 1, 1)
+ajax: jQuery.ajax() - beforeSend, cancel request manually (0, 2, 2)
+ajax: jQuery.ajax() - dataType html (0, 5, 5)
+ajax: jQuery.ajax() - synchronous request (0, 1, 1)
+ajax: jQuery.ajax() - synchronous request with callbacks (0, 2, 2)
+ajax: jQuery.ajax(), jQuery.get[Script|JSON](), jQuery.post(), pass-through request object (0, 8, 8)
+ajax: jQuery.ajax() - cache (0, 12, 12)
+ajax: jQuery.ajax() - JSONP - Query String (?n) - Same Domain (0, 4, 4)
+ajax: jQuery.ajax() - JSONP - Explicit callback param - Same Domain (0, 9, 9)
+ajax: jQuery.ajax() - JSONP - Callback in data - Same Domain (0, 2, 2)
+ajax: jQuery.ajax() - JSONP - POST - Same Domain (0, 3, 3)
+ajax: jQuery.ajax() - JSONP - Same Domain (0, 3, 3)
+ajax: jQuery.ajax() - JSONP - Query String (?n) - Cross Domain (0, 4, 4)
+ajax: jQuery.ajax() - JSONP - Explicit callback param - Cross Domain (0, 9, 9)
+ajax: jQuery.ajax() - JSONP - Callback in data - Cross Domain (0, 2, 2)
+ajax: jQuery.ajax() - JSONP - POST - Cross Domain (0, 3, 3)
+ajax: jQuery.ajax() - JSONP - Cross Domain (0, 3, 3)
+ajax: jQuery.ajax() - script, Remote (0, 2, 2)
+ajax: jQuery.ajax() - script, Remote with POST (0, 3, 3)
+ajax: jQuery.ajax() - script, Remote with scheme-less URL (0, 2, 2)
+ajax: jQuery.ajax() - malformed JSON (0, 2, 2)
+ajax: jQuery.ajax() - script by content-type (0, 2, 2)
+ajax: jQuery.ajax() - JSON by content-type (0, 5, 5)
+ajax: jQuery.ajax() - JSON by content-type disabled with options (0, 6, 6)
+ajax: jQuery.ajax() - simple get (0, 1, 1)
+ajax: jQuery.ajax() - simple post (0, 1, 1)
+ajax: jQuery.ajax() - data option - empty bodies for non-GET requests (0, 1, 1)
+ajax: jQuery.ajax() - If-Modified-Since support (cache) (0, 3, 3)
+ajax: jQuery.ajax() - Etag support (cache) (0, 3, 3)
+ajax: jQuery.ajax() - If-Modified-Since support (no cache) (0, 3, 3)
+ajax: jQuery.ajax() - Etag support (no cache) (0, 3, 3)
+ajax: jQuery.ajax() - failing cross-domain (non-existing) (0, 1, 1)
+ajax: jQuery.ajax() - failing cross-domain (0, 1, 1)
+ajax: jQuery.ajax() - atom+xml (0, 1, 1)
+ajax: jQuery.ajax() - statusText (0, 3, 3)
+ajax: jQuery.ajax() - statusCode (0, 20, 20)
+ajax: jQuery.ajax() - transitive conversions (0, 8, 8)
+ajax: jQuery.ajax() - overrideMimeType (0, 2, 2)
+ajax: jQuery.ajax() - empty json gets to error callback instead of success callback. (0, 1, 1)
+ajax: #2688 - jQuery.ajax() - beforeSend, cancel request (0, 2, 2)
+ajax: #2806 - jQuery.ajax() - data option - evaluate function values (0, 1, 1)
+ajax: #7531 - jQuery.ajax() - Location object as url (0, 1, 1)
+ajax: #7578 - jQuery.ajax() - JSONP - default for cache option - Same Domain (0, 1, 1)
+ajax: #7578 - jQuery.ajax() - JSONP - default for cache option - Cross Domain (0, 1, 1)
+ajax: #8107 - jQuery.ajax() - multiple method signatures introduced in 1.5 (0, 4, 4)
+ajax: #8205 - jQuery.ajax() - JSONP - re-use callbacks name - Same Domain (0, 2, 2)
+ajax: #8205 - jQuery.ajax() - JSONP - re-use callbacks name - Cross Domain (0, 2, 2)
+ajax: #9887 - jQuery.ajax() - Context with circular references (#9887) (0, 2, 2)
+ajax: #10093 - jQuery.ajax() - falsy url as argument (0, 4, 4)
+ajax: #10093 - jQuery.ajax() - falsy url in settings object (0, 4, 4)
+ajax: #11151 - jQuery.ajax() - parse error body (0, 2, 2)
+ajax: #11426 - jQuery.ajax() - loading binary data shouldn't throw an exception in IE (0, 1, 1)
+ajax: #11743 - jQuery.ajax() - script, throws exception (0, 1, 1)
+ajax: #12004 - jQuery.ajax() - method is an alias of type - method set globally (0, 3, 3)
+ajax: #12004 - jQuery.ajax() - method is an alias of type - type set globally (0, 3, 3)
+ajax: #13276 - jQuery.ajax() - compatibility between XML documents from ajax requests and parsed string (0, 1, 1)
+ajax: #13292 - jQuery.ajax() - converter is bypassed for 204 requests (0, 3, 3)
+ajax: #13388 - jQuery.ajax() - responseXML (0, 3, 3)
+ajax: #13922 - jQuery.ajax() - converter is bypassed for HEAD requests (0, 3, 3)
+ajax: #13240 - jQuery.ajax() - support non-RFC2616 methods (1, 0, 1)
+ajax: #14379 - jQuery.ajax() on unload (0, 1, 1)
+ajax: jQuery.ajaxPrefilter() - abort (0, 1, 1)
+ajax: jQuery.ajaxSetup() (0, 1, 1)
+ajax: jQuery.ajaxSetup({ timeout: Number }) - with global timeout (0, 2, 2)
+ajax: jQuery.ajaxSetup({ timeout: Number }) with localtimeout (0, 1, 1)
+ajax: #11264 - jQuery.domManip() - no side effect because of ajaxSetup or global events (0, 1, 1)
+ajax: #11402 - jQuery.domManip() - script in comments are properly evaluated (0, 2, 2)
+ajax: jQuery.get( String, Hash, Function ) - parse xml and use text() on nodes (0, 2, 2)
+ajax: #8277 - jQuery.get( String, Function ) - data in ajaxSettings (0, 1, 1)
+ajax: jQuery.getJSON( String, Hash, Function ) - JSON array (0, 5, 5)
+ajax: jQuery.getJSON( String, Function ) - JSON object (0, 2, 2)
+ajax: jQuery.getJSON() - Using Native JSON (0, 2, 2)
+ajax: jQuery.getJSON( String, Function ) - JSON object with absolute url to local content (0, 2, 2)
+ajax: jQuery.getScript( String, Function ) - with callback (0, 2, 2)
+ajax: jQuery.getScript( String, Function ) - no callback (0, 1, 1)
+ajax: #8082 - jQuery.getScript( String, Function ) - source as responseText (0, 2, 2)
+ajax: jQuery.fn.load( String ) (0, 2, 2)
+ajax: jQuery.fn.load() - 404 error callbacks (0, 6, 6)
+ajax: jQuery.fn.load( String, null ) (0, 2, 2)
+ajax: jQuery.fn.load( String, undefined ) (0, 2, 2)
+ajax: jQuery.fn.load( URL_SELECTOR ) (0, 1, 1)
+ajax: jQuery.fn.load( URL_SELECTOR with spaces ) (0, 1, 1)
+ajax: jQuery.fn.load( String, Function ) - simple: inject text into DOM (0, 2, 2)
+ajax: jQuery.fn.load( String, Function ) - check scripts (0, 7, 7)
+ajax: jQuery.fn.load( String, Function ) - check file with only a script tag (0, 3, 3)
+ajax: jQuery.fn.load( String, Function ) - dataFilter in ajaxSettings (0, 2, 2)
+ajax: jQuery.fn.load( String, Object, Function ) (0, 2, 2)
+ajax: jQuery.fn.load( String, String, Function ) (0, 2, 2)
+ajax: jQuery.fn.load() - callbacks get the correct parameters (0, 8, 8)
+ajax: #2046 - jQuery.fn.load( String, Function ) with ajaxSetup on dataType json (0, 1, 1)
+ajax: #10524 - jQuery.fn.load() - data specified in ajaxSettings is merged in (0, 1, 1)
+ajax: jQuery.post() - data (0, 3, 3)
+ajax: jQuery.post( String, Hash, Function ) - simple with xml (0, 4, 4)
+ajax: jQuery.active (0, 1, 1)
+effects: sanity check (0, 1, 1)
+effects: show() basic (0, 2, 2)
+effects: show() (0, 27, 27)
+effects: show(Number) - other displays (0, 15, 15)
+effects: Persist correct display value (0, 3, 3)
+effects: animate(Hash, Object, Function) (0, 1, 1)
+effects: animate relative values (0, 12, 12)
+effects: animate negative height (0, 1, 1)
+effects: animate negative margin (0, 1, 1)
+effects: animate negative margin with px (0, 1, 1)
+effects: animate negative padding (0, 1, 1)
+effects: animate block as inline width/height (0, 3, 3)
+effects: animate native inline width/height (0, 3, 3)
+effects: animate block width/height (0, 3, 3)
+effects: animate table width/height (0, 1, 1)
+effects: animate table-row width/height (0, 3, 3)
+effects: animate table-cell width/height (0, 3, 3)
+effects: animate percentage(%) on width/height (0, 2, 2)
+effects: animate resets overflow-x and overflow-y when finished (0, 2, 2)
+effects: animate option { queue: false } (0, 2, 2)
+effects: animate option { queue: true } (0, 2, 2)
+effects: animate option { queue: 'name' } (0, 5, 5)
+effects: animate with no properties (0, 2, 2)
+effects: animate duration 0 (0, 11, 11)
+effects: animate hyphenated properties (0, 1, 1)
+effects: animate non-element (0, 1, 1)
+effects: stop() (0, 4, 4)
+effects: stop() - several in queue (0, 5, 5)
+effects: stop(clearQueue) (0, 4, 4)
+effects: stop(clearQueue, gotoEnd) (0, 1, 1)
+effects: stop( queue, ..., ... ) - Stop single queues (0, 3, 3)
+effects: toggle() (0, 6, 6)
+effects: jQuery.fx.prototype.cur() - <1.8 Back Compat (0, 7, 7)
+effects: Overflow and Display (0, 4, 4)
+effects: CSS Auto to 0 (0, 6, 6)
+effects: CSS Auto to 50 (0, 6, 6)
+effects: CSS Auto to 100 (0, 6, 6)
+effects: CSS Auto to show (0, 5, 5)
+effects: CSS Auto to hide (0, 4, 4)
+effects: JS Auto to 0 (0, 6, 6)
+effects: JS Auto to 50 (0, 6, 6)
+effects: JS Auto to 100 (0, 6, 6)
+effects: JS Auto to show (0, 5, 5)
+effects: JS Auto to hide (0, 4, 4)
+effects: CSS 100 to 0 (0, 6, 6)
+effects: CSS 100 to 50 (0, 6, 6)
+effects: CSS 100 to 100 (0, 6, 6)
+effects: CSS 100 to show (0, 5, 5)
+effects: CSS 100 to hide (0, 4, 4)
+effects: JS 100 to 0 (0, 6, 6)
+effects: JS 100 to 50 (0, 6, 6)
+effects: JS 100 to 100 (0, 6, 6)
+effects: JS 100 to show (0, 5, 5)
+effects: JS 100 to hide (0, 4, 4)
+effects: CSS 50 to 0 (0, 6, 6)
+effects: CSS 50 to 50 (0, 6, 6)
+effects: CSS 50 to 100 (0, 6, 6)
+effects: CSS 50 to show (0, 5, 5)
+effects: CSS 50 to hide (0, 4, 4)
+effects: JS 50 to 0 (0, 6, 6)
+effects: JS 50 to 50 (0, 6, 6)
+effects: JS 50 to 100 (0, 6, 6)
+effects: JS 50 to show (0, 5, 5)
+effects: JS 50 to hide (0, 4, 4)
+effects: CSS 0 to 0 (0, 6, 6)
+effects: CSS 0 to 50 (0, 6, 6)
+effects: CSS 0 to 100 (0, 6, 6)
+effects: CSS 0 to show (0, 5, 5)
+effects: CSS 0 to hide (0, 4, 4)
+effects: JS 0 to 0 (0, 6, 6)
+effects: JS 0 to 50 (0, 6, 6)
+effects: JS 0 to 100 (0, 6, 6)
+effects: JS 0 to show (0, 5, 5)
+effects: JS 0 to hide (0, 4, 4)
+effects: Effects chaining (0, 16, 16)
+effects: jQuery.show('fast') doesn't clear radio buttons (bug #1095) (0, 4, 4)
+effects: interrupt toggle (0, 24, 24)
+effects: animate with per-property easing (0, 5, 5)
+effects: animate with CSS shorthand properties (0, 11, 11)
+effects: hide hidden elements, with animation (bug #7141) (0, 3, 3)
+effects: animate unit-less properties (#4966) (0, 2, 2)
+effects: animate properties missing px w/ opacity as last (#9074) (0, 6, 6)
+effects: callbacks should fire in correct order (#9100) (0, 1, 1)
+effects: callbacks that throw exceptions will be removed (#5684) (0, 2, 2)
+effects: animate will scale margin properties individually (0, 2, 2)
+effects: Do not append px to 'fill-opacity' #9548 (0, 1, 1)
+effects: line-height animates correctly (#13855) (0, 12, 12)
+effects: jQuery.Animation( object, props, opts ) (0, 4, 4)
+effects: Animate Option: step: function( percent, tween ) (0, 1, 1)
+effects: Animate callbacks have correct context (0, 2, 2)
+effects: User supplied callback called after show when fx off (#8892) (0, 2, 2)
+effects: animate should set display for disconnected nodes (0, 18, 18)
+effects: Animation callback should not show animated element as :animated (#7157) (0, 1, 1)
+effects: Initial step callback should show element as :animated (#14623) (0, 1, 1)
+effects: hide called on element within hidden parent should set display to none (#10045) (0, 3, 3)
+effects: hide, fadeOut and slideUp called on element width height and width = 0 should set display to none (0, 5, 5)
+effects: hide should not leave hidden inline elements visible (#14848) (0, 2, 2)
+effects: Handle queue:false promises (0, 10, 10)
+effects: multiple unqueued and promise (0, 4, 4)
+effects: animate does not change start value for non-px animation (#7109) (0, 1, 1)
@@ Diff output truncated at 100000 characters. @@
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot