Commit Graph

229 Commits

Author SHA1 Message Date
Andrew Dupont a1ec25cddb Prevent DOM node expandos _countedByPrototype and _prototypeEventID from being serialized into (inner|outer)HTML in IE. Closes #10909. [dcpedit, Tobie Langel, Andrew Dupont] 2008-01-25 18:49:40 +00:00
Andrew Dupont 0f97f4ce20 Properly serialize form fields with names that collide with built-in JS properties (like "length" or "toString"). Closes #9609. [gryn, kangax] 2008-01-24 02:24:33 +00:00
Tobie Langel 17cd2f9f8d prototype: Make Object.isArray correctly identify arrays created in another frame. Closes #10374. 2008-01-24 01:33:28 +00:00
Andrew Dupont 7942a9e5c9 Fixed issue where Element#match failed on attribute selectors with single or double quotes. Closes #10067. [Cezary Okupski, Andrew Dupont] 2008-01-23 20:05:17 +00:00
Tobie Langel a5fe12b9a1 prototype: Add tests for Element#match. 2008-01-23 12:45:28 +00:00
Tobie Langel b26f4e349e prototype: Fix Element#writeAttribute to work with 'cellspacing' and 'cellpadding' attributes in IE. Closes #9983. 2008-01-23 12:17:26 +00:00
Tobie Langel 02cc9992e9 prototype: Prevent a potential security issue for cross-site ajax requests. 2008-01-23 00:51:25 +00:00
Tobie Langel dcada47c6d prototype: Test for attribute existence before applying more complex CSS3 selectors. Closes #10870. 2008-01-23 00:33:04 +00:00
Andrew Dupont c67fe0b2f3 Fixed selector parsing so that "#foo [bar=baz]" is treated the same way as "#foo *[bar=baz]". Closes #10734. [jlukas, kangax, Andrew Dupont] 2008-01-18 04:52:38 +00:00
Andrew Dupont 4753cc82ec Reverted accidental change to dom.html. 2008-01-18 04:33:34 +00:00
Andrew Dupont 89cbe08e1c Fix Element#descendantOf logic in IE. Closes #10413. [martymix, kamil.szot] 2008-01-18 04:31:23 +00:00
Tobie Langel f530309461 prototype: fix Unit.Test.Assertions#assertHidden message. 2008-01-14 15:37:30 +00:00
Tobie Langel 584acba3b2 prototype: Add Test.Unit.MessageTemplate class. Add flunk, buildMessage and assertBlock methods to Test.Unit.Assertions. Refactor accordingly. 2008-01-14 14:16:27 +00:00
Tobie Langel ac48714ada prototype: Make Object.inspect more robust. 2008-01-14 01:22:37 +00:00
Tobie Langel a246e777f5 prototype: Fix Selector.matchElements to allow for coma-separated selectors in Element#up/next/previous and Event#findElement. 2008-01-06 21:49:16 +00:00
Tobie Langel e9be4660e1 prototype: unittest.js cleanup. 2008-01-06 07:38:02 +00:00
Tobie Langel c48c1496ec prototype: forgot a semicolon. 2008-01-06 00:44:18 +00:00
Tobie Langel 0008fe4aed prototype: Test.Unit refactoring. Allow running multiple instances of Test.Unit.Runner on the same page. Allow rake to run specific testcases. Closes #10704, #10705, #10706. 2008-01-06 00:34:39 +00:00
Tobie Langel 6f0def19c5 prototype: Add document.loaded, a boolean that is set to true once dom:loaded is fired. 2008-01-04 00:30:53 +00:00
Tobie Langel b4735bca7c prototype: Make Element#insert standard-compliant. Fixes an issue in FF3b2 when inserting HTML or text inside DOM nodes which aren't (yet) appended to the document. 2008-01-03 01:50:36 +00:00
Tobie Langel a427d4a1b0 prototype: jstest.rb cleanup. 2007-12-30 11:16:15 +00:00
Tobie Langel 143b13d069 prototype: Allow WEBrick to simulate slow or dropped connections and to ease Ajax request inspection. 2007-12-30 10:54:34 +00:00
Tobie Langel 5a37860ffb prototype: Ensure creates an empty array when its argument's length is undefined. Closes #10574 2007-12-20 15:47:32 +00:00
Andrew Dupont c691de7810 Fix the way Selector handles [pseudoclass + combinator] with no space in between. Closes #9696. [kangax, fearphage, Andrew Dupont] 2007-12-20 00:17:24 +00:00
Andrew Dupont 4d3ebf0912 Change document.viewport.getDimensions to exclude scrollbars in all cases. Closes #10148, #9288. [Nick Stackenburg] 2007-12-04 04:28:27 +00:00
Andrew Dupont 3e82a712d1 Changed some unit tests to filter out false test failures in Opera. 2007-12-04 03:58:44 +00:00
Andrew Dupont f869020f05 Oops, correcting previous checkin 2007-12-04 01:57:26 +00:00
Andrew Dupont 08a68b1b3a Updated a Selector test to reflect a recent bug fix. 2007-12-04 01:53:56 +00:00
Sam Stephenson 769ae42fcc prototype: Ensure that an Ajax.Request's parameters option can be a Hash. Closes #10172. 2007-11-29 00:24:54 +00:00
Andrew Dupont c85285496b * Ensure no comment nodes are returned in Selector queries (IE improperly returns comment nodes on getElementsByTagName("*")). Change Element#descendants to use Element#getElementsBySelector in order to avoid this issue. Closes #10220. [Jeff Gobel, Andrew Dupont] 2007-11-27 18:43:56 +00:00
Andrew Dupont b01903d92f * Re-enable the XPath approach in Selector for Safari 3. Falls back to the non-XPath version when it sees a problematic token. [Andrew Dupont] 2007-11-27 18:21:50 +00:00
Andrew Dupont 26b8033295 * Fix a bug in the IE-specific Element#descendantOf logic. [Nicholas, Andrew Dupont] 2007-11-27 17:59:46 +00:00
Thomas Fuchs 6e080aa186 Add a test to check that defer handles arguments correctly 2007-11-23 11:55:42 +00:00
Tobie Langel 23823048d1 prototype: Prevent memory leaks in Ajax.PeriodicalUpdater. Closes #10049 2007-11-15 23:14:36 +00:00
Tobie Langel b058e24a05 prototype: Make String#isJSON return false for empty or blank strings. Make Ajax.Response#responseJSON null when Ajax.Response#responseText is empty or blank. 2007-11-15 19:37:26 +00:00
Tobie Langel 26b4b3aee5 prototype: add a test to event.html. 2007-11-14 12:49:56 +00:00
Tobie Langel 74c005c678 prototype: Remove the now redundant forked declaration of Hash#_each. 2007-11-14 11:56:15 +00:00
Tobie Langel 0b6a6e2f2f prototype: Ensure Event#fire always returns an extended event. Make Event#findElement's expression argument optional. Perf optimizations for Event#findElement. 2007-11-13 21:48:09 +00:00
Sam Stephenson 9b78edb9de prototype: Fix Class#addMethods for "toString" and "valueOf" methods in Internet Explorer. Closes #9901. 2007-11-06 01:44:24 +00:00
Tobie Langel d6b843c9cb Ensure Element#hasClassName always returns a boolean. Closes #10075. 2007-11-05 17:43:56 +00:00
Andrew Dupont 8cd85d12a2 Ensure selectors of the form "[href]" (attribute token with no preceding tag name) work properly. Closes #8870. [chao, kangax, Andrew Dupont] 2007-11-05 17:11:41 +00:00
Andrew Dupont 7cf17c7bec Performance optimizations for Element#descendantOf. Costliness should no longer be dependent on the difference in depth between the parent and the child. [Andrew Dupont] 2007-11-01 15:11:52 +00:00
Andrew Dupont 67cf750956 Add event.stopped, a boolean that is set to when Event#stop is called. 2007-10-26 19:15:35 +00:00
Sam Stephenson 18969c5159 prototype: Reset the browser's dimensions to their original settings after running the DOM viewport tests. 2007-10-26 03:10:06 +00:00
Sam Stephenson 1c5e3fe3fb prototype: Fix the test runner for Firefox in Leopard. 2007-10-23 17:41:44 +00:00
Tobie Langel 16127b024a prototype: In IE, allow opacity to be set on elements not yet attached to the document. Closes #9904. 2007-10-22 13:14:56 +00:00
Tobie Langel 0100aee1a0 prototype: Add more tests to Element.update. 2007-10-22 11:30:52 +00:00
Tobie Langel 44c9d8937a prototype: Make the Ajax.Response#headerJSON property correctly decode unicode characters. Closes #9285 2007-10-22 11:20:21 +00:00
Tobie Langel ba96fa77bf prototype: Minor cosmetic changes to the display of unit tests in terminal. 2007-10-21 01:47:30 +00:00
Sam Stephenson b83ae95d90 prototype: Fix template evaluation with empty replacements. Closes #9692. 2007-10-17 14:14:27 +00:00
Sam Stephenson 8327ffd8ae prototype: Hash#toTemplateReplacements is an alias for Hash#toObject so you can once again pass hashes to Template#evaluate and String#interpolate. 2007-10-17 13:39:46 +00:00
Andrew Dupont aada1abb56 * Ensure Event.* generic methods work in IE, even when the event is not extended. [Viktor Kojouharov, Andrew Dupont] 2007-10-16 05:11:42 +00:00
Sam Stephenson 3dd7bd5b4b prototype: Cross-browser Event#isLeftClick with the addition of is(Middle|Right)Click. Closes #7520. 2007-10-16 03:19:38 +00:00
Andrew Dupont 88f8d3b9af * Changed Selector pattern match so that descendant combinators after pseudoclass tokens are properly handled. Fixes #9696. [wiktor, kangax, Andrew Dupont] 2007-10-16 02:21:24 +00:00
Tobie Langel 865ac01937 prototype: Make sure $w always returns an array. 2007-10-15 17:19:16 +00:00
Tobie Langel 0632778884 Add more tests to Hash. 2007-10-14 11:35:59 +00:00
Tobie Langel 7dda50a7c9 Make Function#argumentNames work with named functions. Closes #9826 2007-10-14 10:54:06 +00:00
Tobie Langel 96af1b7579 Add Object.isHash. 2007-10-14 08:08:42 +00:00
Tobie Langel d195111a9d Performance improvements to String#times. 2007-10-13 19:05:19 +00:00
Tobie Langel 5d37d39988 Fix a the failing ClassCreate test case in IE. 2007-10-13 11:05:29 +00:00
Tobie Langel d25b863c9a Complete rewrite of the Hash class. 2007-10-13 10:55:52 +00:00
Sam Stephenson 4607e29fa2 prototype: Element#wrap now returns the wrapper instead of the element being wrapped. 2007-10-11 06:11:26 +00:00
Sam Stephenson 115d3e456d prototype: Namespace all custom event names to avoid conflicts with native DOM events. 2007-10-11 06:00:45 +00:00
Sam Stephenson c35598ca2b prototype: Clean up the new class API. 2007-10-11 05:02:07 +00:00
Sam Stephenson 4b1fb7e03a prototype: Date#toJSON now returns times in UTC for better compatibility with json.js. Closes #9332. 2007-10-08 21:14:24 +00:00
Thomas Fuchs 746a905ef4 Add tests for Object.extend and Object.clone. 2007-10-06 12:24:46 +00:00
Thomas Fuchs cca235b1eb Prototype: Add a test for Form.Observer. 2007-10-03 17:58:33 +00:00
Sam Stephenson 6ed9095df9 prototype: Simplify Class.create by establishing a prototype chain when subclassing. Closes #9342. 2007-08-23 21:12:02 +00:00
Sam Stephenson 001b54865c prototype: Ensure that classes always have an initialize method. 2007-08-21 16:15:59 +00:00
Sam Stephenson 75b3f3c844 prototype: Change Abstract.TimedObserver to subclass PeriodicalExecuter and tweak its subclasses to use new inheritance functionality. TimedObserver can now be stopped the same way as PeriodicalExecuter. Closes #8589. 2007-08-18 23:04:28 +00:00
Sam Stephenson b923d6dd52 prototype: Fix superclass method call breakage from [7337]. 2007-08-18 22:55:35 +00:00
Sam Stephenson 702d968841 prototype: Change Class.extend to allow for superclass method resolution and remove Class.inherit. Closes #9274. 2007-08-17 17:35:22 +00:00
Sam Stephenson b2f884b4fa prototype: Event handlers are now bound to the observed element, not the event's target element. 2007-08-17 16:17:26 +00:00
Thomas Fuchs aa1a7f5bf0 prototype: Define Node constants conditionally after checking for Node.ELEMENT_NODE presence. Add unit test to check the values of all constants. Closes #7625. 2007-08-17 11:20:56 +00:00
Thomas Fuchs 194fda0b6d prototype: Make sure Enumerable#include doesnt do type comparision. [Mislav Marohnić] 2007-08-17 11:06:07 +00:00
Sam Stephenson 11f25aa995 prototype: Make sure Element#observe is always chainable. 2007-08-11 19:53:39 +00:00
Sam Stephenson d2974cfca3 prototype: Make sure Element#stopObserving is always chainable. 2007-08-11 19:07:21 +00:00
Sam Stephenson 14ea77ef39 prototype: Event.fire/Element#fire now returns the newly-fired event instead of the event's target element. 2007-08-11 18:46:02 +00:00
Thomas Fuchs dbdeee63c2 Make IE position unit test work 2007-08-10 14:24:28 +00:00
Thomas Fuchs 5f76c255a1 Fix Element#positionedOffset and Element#getOffsetParent for static elements on IE. DOM unit tests now pass on IE. 2007-08-10 14:19:30 +00:00
Sam Stephenson 2fbb49001c prototype: Make sure event handlers and their wrappers are removed from the cache by Event.stopObserving. 2007-08-09 23:45:59 +00:00
Thomas Fuchs f3d9cb2579 Add line numbers to failures when unit testing in Firefox. Closes #9231. 2007-08-09 21:48:14 +00:00
Sam Stephenson df71a6b54f prototype: Add Object.isString, Object.isNumber, and Object.isUndefined, and clean up the source to make use of Object.isXXX where possible. 2007-08-08 23:19:45 +00:00
Sam Stephenson ae2ab03294 prototype: Add the document.viewport object for querying dimensions and scroll offsets of the browser viewport. 2007-08-08 20:42:46 +00:00
Sam Stephenson c488384f90 prototype: Add support for brackets in quoted attribute value selectors. Closes #9157. 2007-08-07 20:33:53 +00:00
Sam Stephenson 30aa7a6532 prototype: Add RegExp.escape for escaping regular expression strings. Closes #9094. 2007-08-04 07:31:52 +00:00
Sam Stephenson aa4602b459 prototype: Merge -r7242:HEAD from ../branches/1-6-0-events. Adds support for DOM-based custom events with Event.fire/Element.Methods.fire, cross-browser DOMContentLoaded support, extended and normalized event objects, and improvements to the observe and stopObserving APIs. 2007-08-04 07:20:45 +00:00
Sam Stephenson 52cf3f2550 prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response object which supports the following methods: responseJSON, headerJSON, getHeader, getAllHeaders and handles browser discrepancies in the other response methods. Add sanitizeJSON, evalJS and evalJSON to Ajax.Request. Closes #8122, #8006, #7295. 2007-08-04 04:40:22 +00:00
Sam Stephenson 281ac64876 prototype: Merge -r6792:HEAD from ../branches/inheritance/{src/base.js,test/base.html}. Robust inheritance support for Class.create. Closes #5459. 2007-08-04 04:03:51 +00:00
Sam Stephenson 90c9c69ff0 prototype: Add Function#argumentNames, which returns an ordered array of the function's named arguments. 2007-07-30 04:38:20 +00:00
Sam Stephenson 82bedcee84 prototype: Optimize Selector#match and Element#match for simple selectors. Closes #9082. 2007-07-24 20:49:55 +00:00
Sam Stephenson c0735dba77 prototype: Make Element#wrap accept a second argument for setting attributes on the wrapper. Allow wrapping elements which are not part of the document. Closes #9071. 2007-07-24 19:08:55 +00:00
Sam Stephenson 44ef74813b prototype: Improvements for Element#replace, Element#update and Element#insert. Closes #7429, #9060. 2007-07-24 18:52:17 +00:00
Sam Stephenson 7b2ce66e88 prototype: Make Element#setStyle accept a string argument of CSS rules. Deprecate uncamelized style property names when setting styles using an object (for performance reasons). Closes #9059. 2007-07-24 18:14:36 +00:00
Sam Stephenson c6f3daadaa prototype: Add Element#identify, which returns the element's ID if it exists, or sets and returns a unique, auto-generated ID (of the form 'anonymous_element_' + auto-incremented digit) otherwise. Use this when you need to ensure an element has an ID. Closes #9012. 2007-07-24 17:41:27 +00:00
Sam Stephenson 7e6481bcd7 prototype: Make Element#readAttribute work for cloned elements in IE. Closes #8481. 2007-07-24 17:31:23 +00:00
Sam Stephenson ff45622e39 prototype: Template enhancements. Closes #8166. 2007-07-24 17:24:25 +00:00
Sam Stephenson b59399bdd3 prototype: Extended grep semantics. The first argument to Enumerable#grep is now a filter (an object with a match() method) so you can now e.g. filter an array of DOM nodes by CSS selector. Closes #7596. 2007-07-24 16:47:12 +00:00
Sam Stephenson 38fa39af92 prototype: Make String#scan explicitly return a string. Closes #6350. 2007-07-24 16:30:19 +00:00
Thomas Fuchs 513042dd98 Add Array#intersect for set intersection. Returns a new array containing all items common to the array and the argument, with duplicates removed (clone of the Ruby & method). 2007-07-18 21:07:31 +00:00