Mike Gerwitz
1f40665e57
Added tests for util.defineSecureProp()
2010-12-20 13:43:12 -05:00
Mike Gerwitz
0d84cd829a
util.defineSecureProp was failing in browsers that do not support Object.defineProperty()
...
- This is untested! Test needed.
2010-12-20 10:04:11 -05:00
Mike Gerwitz
559bb7e0f6
Combine tool now removes trailing commas from array and object definitions (for older browsers such as IE6)
2010-12-20 09:18:13 -05:00
Mike Gerwitz
5e999b8167
IE doesn't like using reserved words as properties
...
- This is one thing I'll have to complement IE on. Every browser should blow up on reserved words.
2010-12-20 08:42:05 -05:00
Mike Gerwitz
72f4dd0757
Added make targets: default, mkbuild, combine, clean
2010-12-19 23:51:22 -05:00
Mike Gerwitz
78179c3d9d
[*] Added tools/combine script for client-side (browser) distributable file
...
- It should be noted that this won't yet work in IE6/7 (I'm not positive on IE7), since they are picky with trailing commas, and currently ease.js uses trailing commas on all array and object declarations
2010-12-19 23:41:46 -05:00
Mike Gerwitz
cd9ef1ea71
Finished refactoring to remove result_data object in class extend() function
2010-12-19 13:54:31 -05:00
Mike Gerwitz
1ff9408885
Rearranged util.overrideMethod() arguments to match methodOverride propCopy() action (to avoid unnecessary mistakes and confusion)
2010-12-19 00:12:41 -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
2789e5fcf9
Abstract map no longer passed to method_override() - it's only used in that method
2010-12-18 10:57:00 -05:00
Mike Gerwitz
e39cfea741
Now exporting util's array_shrink() as util.arrayShrink()
2010-12-18 09:38:58 -05:00
Mike Gerwitz
3a2ddbb29b
class.js 'extending' var is an argument and shouldn't be declared with var keyword
2010-12-18 08:24:15 -05:00
Mike Gerwitz
2c49e9719f
util.propParse() now ignores instance prototype properties
2010-12-18 07:07:27 -05:00
Mike Gerwitz
f2baf82100
Removed unneeded var
2010-12-18 06:59:35 -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
755b79725f
Corrected attach_prop_init() documentation (__propInit => __initProps)
2010-12-16 23:56:35 -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
a60fe9c2de
Class extend() now implements propCopy's performDefault (see previous commit)
2010-12-16 23:51:22 -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
459335cf62
attempt_override() within propCopy() no longer needed after previous commit
2010-12-07 00:49:00 -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
52b1ef657f
Resolved failing test (methods may only be overridden with methods) with propParse() 'each'
2010-12-07 00:41:30 -05:00
Mike Gerwitz
994b8e16fa
[1 failing test] Added support for 'each' in propParse()
2010-12-07 00:39:25 -05:00
Mike Gerwitz
abefb0858b
[1 failing test] Crude beginning of implementation of propParse()
...
- Looks ugly now because it is. Attempting to refactor before doing a proper implementation. Baby steps.
2010-12-07 00:38:51 -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
729b977088
Fix of unintended global var
2010-12-03 07:19:16 -05:00
Mike Gerwitz
60025bd048
Added extend method to Interface
2010-12-01 23:27:31 -05:00
Mike Gerwitz
78e1913eb9
Comment spelling correction
2010-12-01 23:19:59 -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
287320c09a
README.md now reflects abstract method definition change
2010-12-01 21:41:32 -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
54432c78fa
abstractMethod() moved to util.defineAbstractMethod
2010-12-01 20:45:27 -05:00
Mike Gerwitz
b3c4b757e7
util.canFreeze removed, replaced with util.freeze()
2010-12-01 20:41:54 -05:00