Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Running:
events: custom event bindings get the right target
- Core: API Properties: shoestring is defined (0, 1, 1)Rerun0 ms
- okay
- Core: API Properties: shoestring.fn is defined (0, 1, 1)Rerun0 ms
- okay
- Core: API Properties: shoestring.extend is defined (0, 1, 1)Rerun0 ms
- okay
- Core: API Properties: shoestring.inArray is defined (0, 1, 1)Rerun0 ms
- okay
- Core: API Properties: shoestring.ready is defined (0, 1, 1)Rerun0 ms
- okay
- Types: API Properties: shoestring is a function (0, 1, 1)Rerun0 ms
- okay
- Types: API Properties: shoestring.fn is an object (0, 1, 1)Rerun0 ms
- okay
- Types: API Properties: shoestring.extend is a function (0, 1, 1)Rerun1 ms
- okay
- Types: API Properties: shoestring.inArray is a function (0, 1, 1)Rerun0 ms
- okay
- Types: API Properties: shoestring.ready is a function (0, 1, 1)Rerun0 ms
- okay
- Core fn Methods: API Properties: shoestring.fn.each, is defined (0, 1, 1)Rerun0 ms
- okay
- Core fn Methods: API Properties: shoestring.fn.children, is defined (0, 1, 1)Rerun0 ms
- okay
- Core fn Methods: API Properties: shoestring.fn.find, is defined (0, 1, 1)Rerun0 ms
- okay
- fn Types: API Properties: shoestring.fn.each, is a function (0, 1, 1)Rerun0 ms
- okay
- fn Types: API Properties: shoestring.fn.children, is a function (0, 1, 1)Rerun0 ms
- okay
- fn Types: API Properties: shoestring.fn.find, is a function (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with no arguments returns a shoestring object (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with no arguments returns an empty array (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with a string argument returns a shoestring objecty (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with a string argument returns a collection of dom nodes from qsa (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with a string argument starting with "<" returns a shoestring object (0, 1, 1)Rerun1 ms
- okay
- Functionality: shoestring with a string argument starting with "<" returns a generated array of dom nodes (0, 1, 1)Rerun1 ms
- okay
- Functionality: shoestring with a string argument starting with "<" returns a generated array of dom nodes (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with a function argument returns array (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with a function argument returns array with document child (0, 1, 1)Rerun1 ms
- okay
- Functionality: shoestring with a Node passed in returns an array of that node (0, 2, 2)Rerun0 ms
- okay
- okay
- Functionality: shoestring with a Node passed in returns a singleton array (0, 1, 1)Rerun0 ms
- okay
- Functionality: shoestring with a NodeList passed in returns an array of those nodes (0, 2, 2)Rerun0 ms
- okay
- okay
- Functionality: passing a string argument to shoestring with a second argument returns result scoped to second arg (0, 4, 4)Rerun1 ms
- okay
- okay
- okay
- okay
- Functionality: shoestring.each value matches array at index (0, 5, 5)Rerun0 ms
- Array at specified index 0 should have value of 1 but has 1
- Array at specified index 1 should have value of 2 but has 2
- Array at specified index 2 should have value of 3 but has 3
- Array at specified index 3 should have value of 4 but has 4
- Array at specified index 4 should have value of 5 but has 5
- Functionality: shoestring.each value matches array at index for selected items (0, 2, 2)Rerun1 ms
- Item at specified index 0 should have id of [object Object] but has [object Object]
- Item at specified index 1 should have id of [object Object] but has [object Object]
- Functionality: shoestring.each only runs as many times as are items in array (0, 1, 1)Rerun0 ms
- Both arrays should have equal length
- Functionality: shoestring.each exits early if "false" is returned (0, 1, 1)Rerun0 ms
- Both arrays should have equal length
- Functionality: shoestring with an array of Nodes passed returns an array of those nodes (0, 4, 4)Rerun1 ms
- okay
- okay
- okay
- okay
- Functionality: find can select multiple comma-separated children (0, 1, 1)Rerun0 ms
- okay
- dom: `.add()` adds selected elements to the set (0, 2, 2)Rerun1 ms
- okay
- okay
- dom: `.addClass()` adds a classes when they doesnt exit (0, 1, 1)Rerun1 ms
- okay
- dom: `.addClass()` doesnt duplicate classes (0, 1, 1)Rerun1 ms
- okay
- dom: `.after()` inserts a sibling after the current obj element (0, 3, 3)Rerun7 ms
- okay
- okay
- okay
- dom: `.after()` inserts siblings after the current obj element in the correct order (0, 6, 6)Rerun10 ms
- okay
- okay
- okay
- okay
- okay
- okay
- dom: `.insertAfter()` inserts after the selector (0, 3, 3)Rerun6 ms
- okay
- okay
- okay
- dom: `.append()` inserts a child in the current obj element (0, 2, 2)Rerun0 ms
- okay
- okay
- dom: `.insertAfter()` inserts after the selector (0, 2, 2)Rerun1 ms
- okay
- okay
- dom: `.attr()` returns undefined on empty set (0, 1, 1)Rerun0 ms
- okay
- dom: `.attr()` gets the attribute (0, 1, 1)Rerun0 ms
- okay
- dom: `.attr()` sets the attribute (0, 1, 1)Rerun0 ms
- okay
- dom: `.before()` inserts a sibling before the current obj element (0, 3, 3)Rerun6 ms
- okay
- okay
- okay
- dom: `.data` and falsy values (0, 3, 3)Rerun1 ms
- okay
- okay
- okay
- dom: `.data` works on empty nodelists (0, 4, 4)Rerun1 ms
- should be undefined on an empty result set.
- should be undefined on an empty result set with a key passed in.
- should be an empty object on an nonempty result set.
- should be undefined on an nonempty result set with a key passed in.
- dom: `.data` does not alias to `data-` attributes (0, 3, 3)Rerun2 ms
- attribute does not exist, should not throw an error.
- attribute exists but has no value, should have thrown a dev error.
- attribute exists and has a value, should have thrown a dev error.
- dom: `.insertBefore()` inserts before the selector (0, 3, 3)Rerun6 ms
- okay
- okay
- okay
- dom: `.clone()` prevents alteration of original (0, 4, 4)Rerun1 ms
- okay
- okay
- okay
- okay
- dom: `.closest()` (0, 5, 5)Rerun2 ms
- Closest returns current element on match
- Closest returns only one element when original nodelist has one element.
- Closest returns only two elements when original nodelist has two element.
- Closest returns from the bottom up.
- Closest will traverse at least two parents correctly.
- dom: `.css()` (0, 8, 8)Rerun44 ms
- okay
- width should show value set from <style> tag.
- margin-right should be set
- margin-left should be set
- float is a special case (cssFloat in JS).
- Box-sizing should default to content-box.
- transform should **NOT** be undefined (get vendor prefixes correctly).
- Width should **NOT** have a value because it’s not set.
- dom: `.eq()` (0, 2, 2)Rerun1 ms
- okay
- okay
- dom: `.filter( selector )` (0, 4, 4)Rerun16 ms
- okay
- okay
- okay
- okay
- dom: `.add( document ).filter( selector )` (0, 2, 2)Rerun4 ms
- okay
- okay
- dom: `.filter( function )` (0, 3, 3)Rerun0 ms
- okay
- okay
- okay
- dom: `.first()` (0, 1, 1)Rerun0 ms
- okay
- dom: `.get()` (0, 1, 1)Rerun0 ms
- okay
- dom: `.height()` (0, 3, 3)Rerun6 ms
- okay
- okay
- okay
- dom: `.html()` (0, 3, 3)Rerun0 ms
- okay
- .html(str) set properly.
- .html() get str properly.
- dom: `.html(Number)` (0, 3, 3)Rerun0 ms
- okay
- .html(number) set a number properly.
- .html() get number properly.
- dom: `.html(HTML Object)` (0, 3, 3)Rerun0 ms
- okay
- .html(obj) set properly.
- .html() get obj properly.
- dom: `.html(HTML Object)` (0, 3, 3)Rerun0 ms
- okay
- .html(obj) set properly.
- .html() get properly.
- dom: `.html(Array)` (0, 3, 3)Rerun1 ms
- okay
- .html(Array) set properly.
- .html() get properly.
- dom: `.index()` (0, 5, 5)Rerun1 ms
- okay
- okay
- okay
- index() DOM element argument
- index(shoestring()) should throw a dev error.
- dom: empty set `.index()` (0, 1, 1)Rerun0 ms
- okay
- dom: `.is()` (0, 10, 10)Rerun2 ms
- okay
- okay
- okay
- okay
- body is document.body
- a form is not document
- document should be document
- okay
- okay
- okay
- dom: `.last()` (0, 1, 1)Rerun1 ms
- okay
- dom: `.next()` (0, 6, 6)Rerun1 ms
- okay
- okay
- okay
- okay
- okay
- okay
- dom: `.not()` (0, 2, 2)Rerun1 ms
- okay
- okay
- dom: `.parent()` (0, 4, 4)Rerun0 ms
- okay
- okay
- okay
- okay
- dom: `.parents()` ... with an s (0, 5, 5)Rerun1 ms
- okay
- okay
- okay
- okay
- okay
- dom: `.prepend() adds a first child element (0, 3, 3)Rerun2 ms
- okay
- okay
- okay
- dom: `.prependTo() adds the all elements to the selected element` (0, 1, 1)Rerun1 ms
- okay
- dom: `.prev()` (0, 6, 6)Rerun2 ms
- okay
- okay
- okay
- okay
- okay
- okay
- dom: `.prevAll()` (0, 4, 4)Rerun2 ms
- okay
- okay
- okay
- okay
- dom: `.prop()` returns undefined on empty set (0, 1, 1)Rerun1 ms
- okay
- dom: `.prop()` gets the attribute (0, 1, 1)Rerun0 ms
- okay
- dom: `.prop()` sets the attribute (0, 1, 1)Rerun0 ms
- okay
- dom: `.remove()` (0, 2, 2)Rerun0 ms
- okay
- okay
- dom: `.remove()` on unattached nodes (0, 1, 1)Rerun0 ms
- okay
- dom: `.removeAttr()` (0, 2, 2)Rerun0 ms
- okay
- okay
- dom: `.removeClass()` removes the class (0, 2, 2)Rerun1 ms
- okay
- okay
- dom: `.removeClass()` leaves no extra whitespace (0, 1, 1)Rerun1 ms
- okay
- dom: `.removeProp()` (0, 2, 2)Rerun1 ms
- okay
- okay
- dom: `.replaceWith()` (0, 4, 4)Rerun1 ms
- okay
- okay
- okay
- Returned element should be the original element copied
- dom: `.replaceWith()` with multiple pieces (0, 6, 6)Rerun7 ms
- okay
- okay
- okay
- okay
- Returned element should be the original element copied
- Elements should be in order
- dom: `.replaceWith()` with no dom piece/missing parentNode (0, 3, 3)Rerun0 ms
- okay
- okay
- Returned element should be the original element copied
- dom: `.serialize()` (0, 15, 15)Rerun7 ms
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- okay
- dom: `.siblings()` (0, 2, 2)Rerun1 ms
- .siblings runs on an empty set.
- .siblings returns non-empty set.
- dom: `.text()` returns content properly (0, 1, 1)Rerun1 ms
- should return nested text properly
- dom: `.val()` returns correct value of element (0, 1, 1)Rerun1 ms
- .val should return the equivalent of the input's value
- dom: `.val()` returns correct value of select element (0, 1, 1)Rerun1 ms
- .val should return the equivalent of the select's selected option's value
- dom: `.val()` returns correct value of select element (0, 1, 1)Rerun1 ms
- .val should return empty string if nothing is selected
- dom: `$( input ).val(value)` inserts value into input (0, 1, 1)Rerun1 ms
- .val should be the equivalent of setting the input's value
- dom: `$( select ).val(value)` selects the option that matches the value (0, 1, 1)Rerun1 ms
- .val should set the correct option
- dom: `.width()` (0, 3, 3)Rerun18 ms
- okay
- okay
- okay
- dom: `.wrapInner()` (0, 2, 2)Rerun1 ms
- okay
- okay
- events: `.bind()` and `.trigger()` (0, 2, 2)Rerun27 ms
- event callback should execute.
- event.target should exist.
- events: `.trigger("click")` checks a checkbox (0, 2, 2)Rerun0 ms
- Checkbox shouldn't be checked
- Checkbox should be checked
- events: custom event bindings get the right targetRerun
- events: custom event bindings get the right context (`this`)Rerun
- events: `document` bindings get events triggered on `documentElement` childrenRerun
- events: `document` bindings get events triggered on `document`Rerun
- events: DOM Event `.bind()` and `.trigger()` with argumentsRerun
- events: Custom Event `.bind()` and `.trigger()` with argumentsRerun
- events: `.bind()` and `.trigger()` with dataRerun
- events: `.on()` and click event bubbles to parentRerun
- events: `.bind()` and `.trigger()` with custom eventsRerun
- events: `.bind()` and `.trigger()` with custom events and dataRerun
- events: `.bind()` doesn’t execute callback without `.trigger()` with custom eventsRerun
- events: `.on()` and custom events bubble to parentRerun
- events: `.bind()` and `.trigger()` with multiple of the same event on a single elementRerun
- events: `.bind()` and `.trigger()` with multiple of the same event on a single element, bubbles to parentRerun
- events: `.bind()` and `.trigger()` with multiple of the same event on different elementsRerun
- events: `.bind()` and `.trigger()` with multiple of the same custom event on a single elementRerun
- events: `.bind()` and `.trigger()` with multiple of the same custom event on a single element, bubbles to parentRerun
- events: `.bind()` and `.trigger()` with multiple of the same custom event on different elementsRerun
- events: `.bind()` should not execute without triggerRerun
- events: `.unbind("click", function)`Rerun
- events: `.unbind("mouseup mousedown", function) multiple dom events`Rerun
- events: `.unbind("aCustomEvent anotherCustomEvent", function)`Rerun
- events: `.unbind("click")`Rerun
- events: `.unbind("aCustomEvent", function)`Rerun
- events: `.unbind("aCustomEvent")`Rerun
- events: `.unbind()` allRerun
- events: `.unbind("aCustomEvent", function)` in a `.bind()` callbackRerun
- events: `.unbind("eventThatDoesntExist", function)` doesn't throw error, does nothingRerun
- events: `.one()` with multiple events (see #13)Rerun
- events: `.one()` with multiple custom eventsRerun
- events: `.bind()` bubbling event orderRerun
- events: `.bind()` bubbling custom event order (parent first)Rerun
- events: `.bind()` bubbling custom event order (child first)Rerun
- events: trigger click executes a native clickRerun
- events: preventDefault on dom eventRerun
- events: `.isDefaultPrevented()`Rerun
- events: `.isDefaultPrevented()` without `.preventDefault()`Rerun
- events: return false prevents propagationRerun
- events: stopPropagation prevents propagationRerun
- events: no stopPropagation allows propagationRerun
- events: Custom Events: namespaced bind, namespaced triggerRerun
- events: Custom Events: namespaced bind, unnamespaced triggerRerun
- events: DOM Events: namespaced bind, namespaced triggerRerun
- events: DOM Events: namespaced bind, unnamespaced triggerRerun
- events: DOM Events: unnamespaced bind, namespaced triggerRerun
- events: `Custom Events: .bind("myCustomEvent.myNamespace") .unbind("myCustomEvent.myNamespace")`Rerun
- events: `Custom Events: .bind("myCustomEvent.myNamespace") .unbind("myCustomEvent.myNamespace", function)`Rerun
- events: `Custom Events: .bind("myCustomEvent.myNamespace") .unbind("myCustomEvent")`Rerun
- events: `Custom Events: .bind("myCustomEvent") .unbind("myCustomEvent.myNamespace", function)`Rerun
- events: `DOM Events: .bind("click.myNamespace") .unbind("click.myNamespace")`Rerun
- events: `DOM Events: .bind("click.myNamespace") .unbind("click.myNamespace", function)`Rerun
- events: `DOM Events: .bind("click.myNamespace") .unbind("click")`Rerun
- events: `DOM Events: .bind("click") .unbind("click.myNamespace", function)`Rerun
- events: `DOM Events: .unbind(".myNamespace")`Rerun
- util: when a shoestring.fn method is called it gets trackedRerun
- ajax: ajax doesn't override default optionsRerun
- ajax: .ajax throws exception with data and url with paramsRerun
- ajax: .ajax defaul headersRerun
- ajax: .ajax includes headersRerun
- ajax: .ajax sends request with method GET and appends data elements to urlRerun
- ajax: .post sends request with method POST, send data in request bodyRerun