shoestring Test Suite

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

  1. Core: API Properties: shoestring is defined (0, 1, 1)Rerun0 ms
    1. okay
  2. Core: API Properties: shoestring.fn is defined (0, 1, 1)Rerun0 ms
    1. okay
  3. Core: API Properties: shoestring.extend is defined (0, 1, 1)Rerun0 ms
    1. okay
  4. Core: API Properties: shoestring.inArray is defined (0, 1, 1)Rerun0 ms
    1. okay
  5. Core: API Properties: shoestring.ready is defined (0, 1, 1)Rerun0 ms
    1. okay
  6. Types: API Properties: shoestring is a function (0, 1, 1)Rerun0 ms
    1. okay
  7. Types: API Properties: shoestring.fn is an object (0, 1, 1)Rerun0 ms
    1. okay
  8. Types: API Properties: shoestring.extend is a function (0, 1, 1)Rerun1 ms
    1. okay
  9. Types: API Properties: shoestring.inArray is a function (0, 1, 1)Rerun0 ms
    1. okay
  10. Types: API Properties: shoestring.ready is a function (0, 1, 1)Rerun0 ms
    1. okay
  11. Core fn Methods: API Properties: shoestring.fn.each, is defined (0, 1, 1)Rerun0 ms
    1. okay
  12. Core fn Methods: API Properties: shoestring.fn.children, is defined (0, 1, 1)Rerun0 ms
    1. okay
  13. Core fn Methods: API Properties: shoestring.fn.find, is defined (0, 1, 1)Rerun0 ms
    1. okay
  14. fn Types: API Properties: shoestring.fn.each, is a function (0, 1, 1)Rerun0 ms
    1. okay
  15. fn Types: API Properties: shoestring.fn.children, is a function (0, 1, 1)Rerun0 ms
    1. okay
  16. fn Types: API Properties: shoestring.fn.find, is a function (0, 1, 1)Rerun0 ms
    1. okay
  17. Functionality: shoestring with no arguments returns a shoestring object (0, 1, 1)Rerun0 ms
    1. okay
  18. Functionality: shoestring with no arguments returns an empty array (0, 1, 1)Rerun0 ms
    1. okay
  19. Functionality: shoestring with a string argument returns a shoestring objecty (0, 1, 1)Rerun0 ms
    1. okay
  20. Functionality: shoestring with a string argument returns a collection of dom nodes from qsa (0, 1, 1)Rerun0 ms
    1. okay
  21. Functionality: shoestring with a string argument starting with "<" returns a shoestring object (0, 1, 1)Rerun1 ms
    1. okay
  22. Functionality: shoestring with a string argument starting with "<" returns a generated array of dom nodes (0, 1, 1)Rerun1 ms
    1. okay
  23. Functionality: shoestring with a string argument starting with "<" returns a generated array of dom nodes (0, 1, 1)Rerun0 ms
    1. okay
  24. Functionality: shoestring with a function argument returns array (0, 1, 1)Rerun0 ms
    1. okay
  25. Functionality: shoestring with a function argument returns array with document child (0, 1, 1)Rerun1 ms
    1. okay
  26. Functionality: shoestring with a Node passed in returns an array of that node (0, 2, 2)Rerun0 ms
    1. okay
    2. okay
  27. Functionality: shoestring with a Node passed in returns a singleton array (0, 1, 1)Rerun0 ms
    1. okay
  28. Functionality: shoestring with a NodeList passed in returns an array of those nodes (0, 2, 2)Rerun0 ms
    1. okay
    2. okay
  29. Functionality: passing a string argument to shoestring with a second argument returns result scoped to second arg (0, 4, 4)Rerun1 ms
    1. okay
    2. okay
    3. okay
    4. okay
  30. Functionality: shoestring.each value matches array at index (0, 5, 5)Rerun0 ms
    1. Array at specified index 0 should have value of 1 but has 1
    2. Array at specified index 1 should have value of 2 but has 2
    3. Array at specified index 2 should have value of 3 but has 3
    4. Array at specified index 3 should have value of 4 but has 4
    5. Array at specified index 4 should have value of 5 but has 5
  31. Functionality: shoestring.each value matches array at index for selected items (0, 2, 2)Rerun1 ms
    1. Item at specified index 0 should have id of [object Object] but has [object Object]
    2. Item at specified index 1 should have id of [object Object] but has [object Object]
  32. Functionality: shoestring.each only runs as many times as are items in array (0, 1, 1)Rerun0 ms
    1. Both arrays should have equal length
  33. Functionality: shoestring.each exits early if "false" is returned (0, 1, 1)Rerun0 ms
    1. Both arrays should have equal length
  34. Functionality: shoestring with an array of Nodes passed returns an array of those nodes (0, 4, 4)Rerun1 ms
    1. okay
    2. okay
    3. okay
    4. okay
  35. Functionality: find can select multiple comma-separated children (0, 1, 1)Rerun0 ms
    1. okay
  36. dom: `.add()` adds selected elements to the set (0, 2, 2)Rerun1 ms
    1. okay
    2. okay
  37. dom: `.addClass()` adds a classes when they doesnt exit (0, 1, 1)Rerun1 ms
    1. okay
  38. dom: `.addClass()` doesnt duplicate classes (0, 1, 1)Rerun1 ms
    1. okay
  39. dom: `.after()` inserts a sibling after the current obj element (0, 3, 3)Rerun7 ms
    1. okay
    2. okay
    3. okay
  40. dom: `.after()` inserts siblings after the current obj element in the correct order (0, 6, 6)Rerun10 ms
    1. okay
    2. okay
    3. okay
    4. okay
    5. okay
    6. okay
  41. dom: `.insertAfter()` inserts after the selector (0, 3, 3)Rerun6 ms
    1. okay
    2. okay
    3. okay
  42. dom: `.append()` inserts a child in the current obj element (0, 2, 2)Rerun0 ms
    1. okay
    2. okay
  43. dom: `.insertAfter()` inserts after the selector (0, 2, 2)Rerun1 ms
    1. okay
    2. okay
  44. dom: `.attr()` returns undefined on empty set (0, 1, 1)Rerun0 ms
    1. okay
  45. dom: `.attr()` gets the attribute (0, 1, 1)Rerun0 ms
    1. okay
  46. dom: `.attr()` sets the attribute (0, 1, 1)Rerun0 ms
    1. okay
  47. dom: `.before()` inserts a sibling before the current obj element (0, 3, 3)Rerun6 ms
    1. okay
    2. okay
    3. okay
  48. dom: `.data` and falsy values (0, 3, 3)Rerun1 ms
    1. okay
    2. okay
    3. okay
  49. dom: `.data` works on empty nodelists (0, 4, 4)Rerun1 ms
    1. should be undefined on an empty result set.
    2. should be undefined on an empty result set with a key passed in.
    3. should be an empty object on an nonempty result set.
    4. should be undefined on an nonempty result set with a key passed in.
  50. dom: `.data` does not alias to `data-` attributes (0, 3, 3)Rerun2 ms
    1. attribute does not exist, should not throw an error.
    2. attribute exists but has no value, should have thrown a dev error.
    3. attribute exists and has a value, should have thrown a dev error.
  51. dom: `.insertBefore()` inserts before the selector (0, 3, 3)Rerun6 ms
    1. okay
    2. okay
    3. okay
  52. dom: `.clone()` prevents alteration of original (0, 4, 4)Rerun1 ms
    1. okay
    2. okay
    3. okay
    4. okay
  53. dom: `.closest()` (0, 5, 5)Rerun2 ms
    1. Closest returns current element on match
    2. Closest returns only one element when original nodelist has one element.
    3. Closest returns only two elements when original nodelist has two element.
    4. Closest returns from the bottom up.
    5. Closest will traverse at least two parents correctly.
  54. dom: `.css()` (0, 8, 8)Rerun44 ms
    1. okay
    2. width should show value set from <style> tag.
    3. margin-right should be set
    4. margin-left should be set
    5. float is a special case (cssFloat in JS).
    6. Box-sizing should default to content-box.
    7. transform should **NOT** be undefined (get vendor prefixes correctly).
    8. Width should **NOT** have a value because it’s not set.
  55. dom: `.eq()` (0, 2, 2)Rerun1 ms
    1. okay
    2. okay
  56. dom: `.filter( selector )` (0, 4, 4)Rerun16 ms
    1. okay
    2. okay
    3. okay
    4. okay
  57. dom: `.add( document ).filter( selector )` (0, 2, 2)Rerun4 ms
    1. okay
    2. okay
  58. dom: `.filter( function )` (0, 3, 3)Rerun0 ms
    1. okay
    2. okay
    3. okay
  59. dom: `.first()` (0, 1, 1)Rerun0 ms
    1. okay
  60. dom: `.get()` (0, 1, 1)Rerun0 ms
    1. okay
  61. dom: `.height()` (0, 3, 3)Rerun6 ms
    1. okay
    2. okay
    3. okay
  62. dom: `.html()` (0, 3, 3)Rerun0 ms
    1. okay
    2. .html(str) set properly.
    3. .html() get str properly.
  63. dom: `.html(Number)` (0, 3, 3)Rerun0 ms
    1. okay
    2. .html(number) set a number properly.
    3. .html() get number properly.
  64. dom: `.html(HTML Object)` (0, 3, 3)Rerun0 ms
    1. okay
    2. .html(obj) set properly.
    3. .html() get obj properly.
  65. dom: `.html(HTML Object)` (0, 3, 3)Rerun0 ms
    1. okay
    2. .html(obj) set properly.
    3. .html() get properly.
  66. dom: `.html(Array)` (0, 3, 3)Rerun1 ms
    1. okay
    2. .html(Array) set properly.
    3. .html() get properly.
  67. dom: `.index()` (0, 5, 5)Rerun1 ms
    1. okay
    2. okay
    3. okay
    4. index() DOM element argument
    5. index(shoestring()) should throw a dev error.
  68. dom: empty set `.index()` (0, 1, 1)Rerun0 ms
    1. okay
  69. dom: `.is()` (0, 10, 10)Rerun2 ms
    1. okay
    2. okay
    3. okay
    4. okay
    5. body is document.body
    6. a form is not document
    7. document should be document
    8. okay
    9. okay
    10. okay
  70. dom: `.last()` (0, 1, 1)Rerun1 ms
    1. okay
  71. dom: `.next()` (0, 6, 6)Rerun1 ms
    1. okay
    2. okay
    3. okay
    4. okay
    5. okay
    6. okay
  72. dom: `.not()` (0, 2, 2)Rerun1 ms
    1. okay
    2. okay
  73. dom: `.parent()` (0, 4, 4)Rerun0 ms
    1. okay
    2. okay
    3. okay
    4. okay
  74. dom: `.parents()` ... with an s (0, 5, 5)Rerun1 ms
    1. okay
    2. okay
    3. okay
    4. okay
    5. okay
  75. dom: `.prepend() adds a first child element (0, 3, 3)Rerun2 ms
    1. okay
    2. okay
    3. okay
  76. dom: `.prependTo() adds the all elements to the selected element` (0, 1, 1)Rerun1 ms
    1. okay
  77. dom: `.prev()` (0, 6, 6)Rerun2 ms
    1. okay
    2. okay
    3. okay
    4. okay
    5. okay
    6. okay
  78. dom: `.prevAll()` (0, 4, 4)Rerun2 ms
    1. okay
    2. okay
    3. okay
    4. okay
  79. dom: `.prop()` returns undefined on empty set (0, 1, 1)Rerun1 ms
    1. okay
  80. dom: `.prop()` gets the attribute (0, 1, 1)Rerun0 ms
    1. okay
  81. dom: `.prop()` sets the attribute (0, 1, 1)Rerun0 ms
    1. okay
  82. dom: `.remove()` (0, 2, 2)Rerun0 ms
    1. okay
    2. okay
  83. dom: `.remove()` on unattached nodes (0, 1, 1)Rerun0 ms
    1. okay
  84. dom: `.removeAttr()` (0, 2, 2)Rerun0 ms
    1. okay
    2. okay
  85. dom: `.removeClass()` removes the class (0, 2, 2)Rerun1 ms
    1. okay
    2. okay
  86. dom: `.removeClass()` leaves no extra whitespace (0, 1, 1)Rerun1 ms
    1. okay
  87. dom: `.removeProp()` (0, 2, 2)Rerun1 ms
    1. okay
    2. okay
  88. dom: `.replaceWith()` (0, 4, 4)Rerun1 ms
    1. okay
    2. okay
    3. okay
    4. Returned element should be the original element copied
  89. dom: `.replaceWith()` with multiple pieces (0, 6, 6)Rerun7 ms
    1. okay
    2. okay
    3. okay
    4. okay
    5. Returned element should be the original element copied
    6. Elements should be in order
  90. dom: `.replaceWith()` with no dom piece/missing parentNode (0, 3, 3)Rerun0 ms
    1. okay
    2. okay
    3. Returned element should be the original element copied
  91. dom: `.serialize()` (0, 15, 15)Rerun7 ms
    1. okay
    2. okay
    3. okay
    4. okay
    5. okay
    6. okay
    7. okay
    8. okay
    9. okay
    10. okay
    11. okay
    12. okay
    13. okay
    14. okay
    15. okay
  92. dom: `.siblings()` (0, 2, 2)Rerun1 ms
    1. .siblings runs on an empty set.
    2. .siblings returns non-empty set.
  93. dom: `.text()` returns content properly (0, 1, 1)Rerun1 ms
    1. should return nested text properly
  94. dom: `.val()` returns correct value of element (0, 1, 1)Rerun1 ms
    1. .val should return the equivalent of the input's value
  95. dom: `.val()` returns correct value of select element (0, 1, 1)Rerun1 ms
    1. .val should return the equivalent of the select's selected option's value
  96. dom: `.val()` returns correct value of select element (0, 1, 1)Rerun1 ms
    1. .val should return empty string if nothing is selected
  97. dom: `$( input ).val(value)` inserts value into input (0, 1, 1)Rerun1 ms
    1. .val should be the equivalent of setting the input's value
  98. dom: `$( select ).val(value)` selects the option that matches the value (0, 1, 1)Rerun1 ms
    1. .val should set the correct option
  99. dom: `.width()` (0, 3, 3)Rerun18 ms
    1. okay
    2. okay
    3. okay
  100. dom: `.wrapInner()` (0, 2, 2)Rerun1 ms
    1. okay
    2. okay
  101. events: `.bind()` and `.trigger()` (0, 2, 2)Rerun27 ms
    1. event callback should execute.
    2. event.target should exist.
  102. events: `.trigger("click")` checks a checkbox (0, 2, 2)Rerun0 ms
    1. Checkbox shouldn't be checked
    2. Checkbox should be checked
  103. events: custom event bindings get the right targetRerun
  104. events: custom event bindings get the right context (`this`)Rerun
  105. events: `document` bindings get events triggered on `documentElement` childrenRerun
  106. events: `document` bindings get events triggered on `document`Rerun
  107. events: DOM Event `.bind()` and `.trigger()` with argumentsRerun
  108. events: Custom Event `.bind()` and `.trigger()` with argumentsRerun
  109. events: `.bind()` and `.trigger()` with dataRerun
  110. events: `.on()` and click event bubbles to parentRerun
  111. events: `.bind()` and `.trigger()` with custom eventsRerun
  112. events: `.bind()` and `.trigger()` with custom events and dataRerun
  113. events: `.bind()` doesn’t execute callback without `.trigger()` with custom eventsRerun
  114. events: `.on()` and custom events bubble to parentRerun
  115. events: `.bind()` and `.trigger()` with multiple of the same event on a single elementRerun
  116. events: `.bind()` and `.trigger()` with multiple of the same event on a single element, bubbles to parentRerun
  117. events: `.bind()` and `.trigger()` with multiple of the same event on different elementsRerun
  118. events: `.bind()` and `.trigger()` with multiple of the same custom event on a single elementRerun
  119. events: `.bind()` and `.trigger()` with multiple of the same custom event on a single element, bubbles to parentRerun
  120. events: `.bind()` and `.trigger()` with multiple of the same custom event on different elementsRerun
  121. events: `.bind()` should not execute without triggerRerun
  122. events: `.unbind("click", function)`Rerun
  123. events: `.unbind("mouseup mousedown", function) multiple dom events`Rerun
  124. events: `.unbind("aCustomEvent anotherCustomEvent", function)`Rerun
  125. events: `.unbind("click")`Rerun
  126. events: `.unbind("aCustomEvent", function)`Rerun
  127. events: `.unbind("aCustomEvent")`Rerun
  128. events: `.unbind()` allRerun
  129. events: `.unbind("aCustomEvent", function)` in a `.bind()` callbackRerun
  130. events: `.unbind("eventThatDoesntExist", function)` doesn't throw error, does nothingRerun
  131. events: `.one()` with multiple events (see #13)Rerun
  132. events: `.one()` with multiple custom eventsRerun
  133. events: `.bind()` bubbling event orderRerun
  134. events: `.bind()` bubbling custom event order (parent first)Rerun
  135. events: `.bind()` bubbling custom event order (child first)Rerun
  136. events: trigger click executes a native clickRerun
  137. events: preventDefault on dom eventRerun
  138. events: `.isDefaultPrevented()`Rerun
  139. events: `.isDefaultPrevented()` without `.preventDefault()`Rerun
  140. events: return false prevents propagationRerun
  141. events: stopPropagation prevents propagationRerun
  142. events: no stopPropagation allows propagationRerun
  143. events: Custom Events: namespaced bind, namespaced triggerRerun
  144. events: Custom Events: namespaced bind, unnamespaced triggerRerun
  145. events: DOM Events: namespaced bind, namespaced triggerRerun
  146. events: DOM Events: namespaced bind, unnamespaced triggerRerun
  147. events: DOM Events: unnamespaced bind, namespaced triggerRerun
  148. events: `Custom Events: .bind("myCustomEvent.myNamespace") .unbind("myCustomEvent.myNamespace")`Rerun
  149. events: `Custom Events: .bind("myCustomEvent.myNamespace") .unbind("myCustomEvent.myNamespace", function)`Rerun
  150. events: `Custom Events: .bind("myCustomEvent.myNamespace") .unbind("myCustomEvent")`Rerun
  151. events: `Custom Events: .bind("myCustomEvent") .unbind("myCustomEvent.myNamespace", function)`Rerun
  152. events: `DOM Events: .bind("click.myNamespace") .unbind("click.myNamespace")`Rerun
  153. events: `DOM Events: .bind("click.myNamespace") .unbind("click.myNamespace", function)`Rerun
  154. events: `DOM Events: .bind("click.myNamespace") .unbind("click")`Rerun
  155. events: `DOM Events: .bind("click") .unbind("click.myNamespace", function)`Rerun
  156. events: `DOM Events: .unbind(".myNamespace")`Rerun
  157. util: when a shoestring.fn method is called it gets trackedRerun
  158. ajax: ajax doesn't override default optionsRerun
  159. ajax: .ajax throws exception with data and url with paramsRerun
  160. ajax: .ajax defaul headersRerun
  161. ajax: .ajax includes headersRerun
  162. ajax: .ajax sends request with method GET and appends data elements to urlRerun
  163. ajax: .post sends request with method POST, send data in request bodyRerun
height
width