Commit Graph

245 Commits

Author SHA1 Message Date
Andrew Dupont 03c1530014 Integrate support for the W3C Selectors API into the Selector class. Will now use the API when possible (browser supports the API *and* recognizes the given selector). Means minor changes to the semantics of :enabled, :disabled, and :empty in order to comply with CSS spec. 2008-03-27 01:18:15 -05:00
Tobie Langel 598387f137 prototype: Prevent Hash#toQueryString from serializing objets. 2008-03-19 13:01:47 +00:00
Tobie Langel 78c4b99df7 prototype: Instanciate Test.Unit.Logger on window load. 2008-03-16 20:00:07 +00:00
Tobie Langel 2ab483b695 prototype: unit tests clean-up. 2008-03-16 19:47:17 +00:00
Tobie Langel c01cb850c1 prototype: Remove usage of the statement from unit tests. 2008-03-16 18:53:51 +00:00
Tobie Langel addfdef8ff prototype: Make Element#writeAttribute handle frameborder attribute in IE. Closes #11068. 2008-03-09 08:05:29 +00:00
Tobie Langel c7e0a3d93c prototype: Make String#unescapeHTML strip tags in IE. Closes #10173. 2008-03-09 07:21:45 +00:00
Tobie Langel bfee207d1a prototype: Stop form observers in unit tests. Closes #10938. 2008-03-09 07:14:28 +00:00
Tobie Langel 7821b989fe prototype: Avoid breaking Element.prototype in browsers which support it. Closes #11004. 2008-02-04 23:22:18 +00:00
Tobie Langel 2830ac2ac5 prototype: Prevent Element#cumulativeOffset, Element#getOffsetParent, Element#positionedOffset, Element#viewportOffset and Element#clonePosition from throwing an error in IE when called on a parent-less element. Closes #9416, #10192, #10248. 2008-02-03 22:29:29 +00:00
Tobie Langel d770a6c704 prototype: Prevent Enumerable#eachSlice from entering into an endless loop if passed an argument smaller than 1. Closes #10665. 2008-02-03 21:08:13 +00:00
Tobie Langel f4d68350f3 prototype: Allow Selector to correctly detect the presence of namespaced attributes. Closes #10987. 2008-02-03 19:45:32 +00:00
Tobie Langel ea9d81eea1 prototype: Make Element#absolutize and Element#relativize always return element. Closes #10983. 2008-02-03 19:36:35 +00:00
Andrew Dupont 034d4e1d4a Add tests for Element#descendantOf that deal with dynamically-created elements. [Andrew Dupont] 2008-01-25 22:03:39 +00:00
Andrew Dupont c24a390c49 Ensure positionedOffset properly considers "position: fixed" elements. Also ensure IE reports offsets correctly by triggering hasLayout when a "static" element has a "fixed" element as an offset parent. Closes #10644. [heygrady, kangax, Andrew Dupont] 2008-01-25 22:02:12 +00:00
Andrew Dupont ffa0d0943c Roll back the fix for #9609, since it does not work in Opera. Instead, avoid using "valueOf" or "toString" as field names in forms. 2008-01-25 18:54:22 +00:00
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