Mike Gerwitz
|
8b8c7e8533
|
separated rmtrail function into its own tool and added test
|
2010-12-20 22:19:18 -05:00 |
Mike Gerwitz
|
3ffb150207
|
Tests for util.defineSecureProp() (had accidently omitted from previous commit)
|
2010-12-20 19:13:27 -05:00 |
Mike Gerwitz
|
600e389b40
|
Refactored abstract method logic out of util.propCopy() into class extend()
|
2010-12-19 00:11:39 -05:00 |
Mike Gerwitz
|
2c49e9719f
|
util.propParse() now ignores instance prototype properties
|
2010-12-18 07:07:27 -05:00 |
Mike Gerwitz
|
53a62742c5
|
Added another subtype to test case to ensure parent property intialization of class instances is recursive
|
2010-12-17 00:01:22 -05:00 |
Mike Gerwitz
|
ec27eb2286
|
Added index to propCopy() performDefault test message
|
2010-12-16 23:57:41 -05:00 |
Mike Gerwitz
|
a06d9a7204
|
Ensured __initProps() is treated as a reserved method and cannot be declared within Classes
|
2010-12-16 23:55:56 -05:00 |
Mike Gerwitz
|
6b6ffe0134
|
propCopy() parser function overrides can now invoke default functionality
|
2010-12-16 23:49:52 -05:00 |
Mike Gerwitz
|
591434b82f
|
[*] Previous commit (property cloning per instance) now applied to subtypes as well
|
2010-12-16 23:37:18 -05:00 |
Mike Gerwitz
|
fe853b505b
|
[*] Properties are no longer shared between class instances
- Properties were previously shared on the prototype level, acting as though they were static class properties, which can cause some nasty bugs
|
2010-12-16 23:18:30 -05:00 |
Mike Gerwitz
|
6efaba7fc5
|
Added util.clone(); does not yet support deep cloning
|
2010-12-16 23:15:42 -05:00 |
Mike Gerwitz
|
a2c894b6bb
|
Added ability to override propCopy() parser functions
|
2010-12-16 21:11:07 -05:00 |
Mike Gerwitz
|
5126c71a2d
|
Using TypeError instead of Error for property type inconsistiencies
|
2010-12-10 00:00:47 -05:00 |
Mike Gerwitz
|
25dc7e031e
|
Ensured properties cannot be overridden with methods
|
2010-12-07 20:24:51 -05:00 |
Mike Gerwitz
|
eced0a7e91
|
Both concrete and abstract methods now use the same callback in propParse()
- Now uses an is_abstract parameter
- Intended to reduce clutter and duplicate code
|
2010-12-07 00:46:50 -05:00 |
Mike Gerwitz
|
994b8e16fa
|
[1 failing test] Added support for 'each' in propParse()
|
2010-12-07 00:39:25 -05:00 |
Mike Gerwitz
|
fd2b3ccc6d
|
Added support for getters/setters in propParse()
|
2010-12-05 20:50:13 -05:00 |
Mike Gerwitz
|
20b78ba73a
|
Minor formatting change in propParse test
|
2010-12-04 14:05:56 -05:00 |
Mike Gerwitz
|
6fd31a8e76
|
Added abstract method support to propParse()
|
2010-12-04 14:03:26 -05:00 |
Mike Gerwitz
|
4037cc1343
|
Began adding util.propParse() to simplify design (supports scalar, arr and obj props and concrete methods)
|
2010-12-04 13:59:06 -05:00 |
Mike Gerwitz
|
60025bd048
|
Added extend method to Interface
|
2010-12-01 23:27:31 -05:00 |
Mike Gerwitz
|
611ee9ab35
|
Added tests to assure that intefaces can be extended from other interfaces
|
2010-12-01 23:13:21 -05:00 |
Mike Gerwitz
|
0d45716a43
|
Added missing space to error string
|
2010-12-01 23:04:22 -05:00 |
Mike Gerwitz
|
84dcca35d2
|
Interface prototype contains defined methods
|
2010-12-01 23:01:20 -05:00 |
Mike Gerwitz
|
789c7f9b5e
|
Moved extend-related tests to their own file for interfaces in preparation for additional extend tests
|
2010-12-01 21:54:02 -05:00 |
Mike Gerwitz
|
3ebe82c0a5
|
Interface does not depend on Class
|
2010-12-01 21:46:36 -05:00 |
Mike Gerwitz
|
c910dafb76
|
Interfaces permit only abstract methods
|
2010-12-01 21:39:41 -05:00 |
Mike Gerwitz
|
2e930482d2
|
Abstract methods of subtypes overriding abstract methods must be compatiable with the previous definition
|
2010-12-01 21:34:57 -05:00 |
Mike Gerwitz
|
2e8097e21e
|
Altered abstract method declaration (using strings to represent arguments rather than a function)
|
2010-12-01 21:13:51 -05:00 |
Mike Gerwitz
|
837422c46f
|
Added util.isAbstractMethod
|
2010-12-01 21:00:15 -05:00 |
Mike Gerwitz
|
2edcb8a75e
|
Only methods are permitted within interface declarations
|
2010-12-01 19:38:30 -05:00 |
Mike Gerwitz
|
b294f84481
|
Began Interface development
|
2010-12-01 19:27:40 -05:00 |
Mike Gerwitz
|
1e2e73c9f0
|
Began moving utility methods into their own module
|
2010-11-15 23:44:15 -05:00 |
Mike Gerwitz
|
0e232b4a2c
|
Freezing class object after creation
|
2010-11-15 23:22:24 -05:00 |
Mike Gerwitz
|
0b4ec19911
|
Case of poor copy-and-paste
|
2010-11-15 18:31:10 -05:00 |
Mike Gerwitz
|
d4593725a4
|
If a definition is provided for an abstract method, the concrete implementation must be compatiable (proper number of arguments)
|
2010-11-14 21:33:13 -05:00 |
Mike Gerwitz
|
bb631eb706
|
Added test to ensure constructor of abstract supertypes can be called
|
2010-11-14 21:09:24 -05:00 |
Mike Gerwitz
|
0d1ba74415
|
Ensured abstract classes cannot be instantiated and permitted their instantiation during extending so that it may be used in the subclass's prototype
|
2010-11-14 20:48:39 -05:00 |
Mike Gerwitz
|
113e3b974f
|
Properly implemented abstract methods list
|
2010-11-14 20:30:33 -05:00 |
Mike Gerwitz
|
d3ba8a9dfe
|
Corrected abstract class tests (.equals() = .equal())
|
2010-11-14 01:11:24 -05:00 |
Mike Gerwitz
|
a083313538
|
Began implementing abstract methods
|
2010-11-14 00:47:27 -05:00 |
Mike Gerwitz
|
88b1a72255
|
Added some beginning test cases for abstract classes (will currently fail)
|
2010-11-14 00:41:18 -05:00 |
Mike Gerwitz
|
97f3c5ed5d
|
Added tests to ensure it is possible to extend classes that were not previously created using Class.extend()
|
2010-11-11 21:02:09 -05:00 |
Mike Gerwitz
|
e56ecce61f
|
Added index.js
|
2010-11-11 08:50:05 -05:00 |
Mike Gerwitz
|
16a91b728e
|
Methods can no longer be overridden with non-methods (anything other than a Function)
|
2010-11-10 23:42:26 -05:00 |
Mike Gerwitz
|
61985eea47
|
Added checks for ES5 features
|
2010-11-10 23:28:20 -05:00 |
Mike Gerwitz
|
8422bea1d6
|
Added getter/setter override support
|
2010-11-10 23:19:46 -05:00 |
Mike Gerwitz
|
0c963d1d00
|
Added access to parent prototype via parent property
|
2010-11-10 22:54:24 -05:00 |
Mike Gerwitz
|
607bbf7f4c
|
Added support for _super method
- Motivation from John Reisg's "Simple Javascript Inheritance": http://ejohn.org/blog/simple-javascript-inheritance/
|
2010-11-10 22:49:27 -05:00 |
Mike Gerwitz
|
6ea6fd0bb7
|
Began adding parent tests (parent method call currently fails)
|
2010-11-10 22:19:50 -05:00 |