Mike Gerwitz
5b3ecf853b
Exposed Interface
2010-12-30 09:24:52 -05:00
Mike Gerwitz
d5d6082bfb
Interface methods are now copied to the class prototype (basic implementation - no deep copy for interface subtypes yet)
2010-12-29 23:34:12 -05:00
Mike Gerwitz
459d5e967b
Classes now store implemented interfaces in a list (does not yet import methods)
2010-12-29 23:33:30 -05:00
Mike Gerwitz
9ef73195c5
[minor] formatting fix
2010-12-29 22:51:29 -05:00
Mike Gerwitz
ca71fc6296
Remove accidental attach of isInstanceOf() to Class
2010-12-29 22:45:47 -05:00
Mike Gerwitz
80b0732be1
Interfaces cannot be instantiated
2010-12-29 22:40:23 -05:00
Mike Gerwitz
b357293890
Classes now tested using isInstanceOf()
2010-12-29 21:45:33 -05:00
Mike Gerwitz
76969201fb
Added isA() as an alias for isInstanceOf()
2010-12-29 21:37:11 -05:00
Mike Gerwitz
6a24f2ad13
Added isInstanceOf() partially applied function to class instances
2010-12-29 21:32:16 -05:00
Mike Gerwitz
83cecb5fdc
Instantiating test object only once
2010-12-29 21:18:03 -05:00
Mike Gerwitz
96909732db
Began adding isInstanceOf, starting with prototype chain checks
2010-12-29 21:13:21 -05:00
Mike Gerwitz
0103df3e71
Fixed self-invoking constructor issue in IE
2010-12-29 09:43:00 -05:00
Mike Gerwitz
38a6a4ee6a
Added missing semi-colons that would otherwise be inserted via semicolon insertion
2010-12-28 22:10:12 -05:00
Mike Gerwitz
789f2390af
All functions are now camelCase
2010-12-28 22:08:30 -05:00
Mike Gerwitz
004ccfa05b
Interfaces cannot inherit from Classes
2010-12-28 21:56:55 -05:00
Mike Gerwitz
c9d0e027fa
Added isClass() and isClassInstance() methods
2010-12-28 20:58:42 -05:00
Mike Gerwitz
928a0ea297
Removed Interface.abstractMethod() in favor of 'abstract' keyword
2010-12-28 20:13:50 -05:00
Mike Gerwitz
44186068b4
Class constructors are now self-invoking
...
- Permits omitting 'new' keyword, which is a style preferred by some (such as Crockford)
- It's very difficult to use apply() with the 'new' keyword - this method permits a simple way of passing an argument list to the constructor
2010-12-28 19:05:53 -05:00
Mike Gerwitz
76423fc4ea
abstractMethod() no longer used; removed reference from README in reserved words section
2010-12-28 17:44:33 -05:00
Mike Gerwitz
1fc791fa31
Altered secure property test to work properly in IE8, which falls back due to its incomplete implementation of Object.defineProperty()
2010-12-28 13:45:33 -05:00
Mike Gerwitz
7b69a09a5a
Altered browser-test.html failure message
2010-12-28 13:37:53 -05:00
Mike Gerwitz
729d7083da
Added function to prefix failed client-side assertions with 'Assertion failed: '
2010-12-28 13:26:04 -05:00
Mike Gerwitz
c29d3a15d7
Corrected line over 80 character mark
2010-12-28 13:21:48 -05:00
Mike Gerwitz
0ea6df4c9e
Added browser-test.html
2010-12-28 13:21:41 -05:00
Mike Gerwitz
34af8eec95
Moved @license (and changed to @preserved) so Closure Compiler would properly retain the block
2010-12-28 10:36:39 -05:00
Mike Gerwitz
dce46bb555
Tests will not attempt to use Object.isFrozen() unless defined
2010-12-28 09:14:54 -05:00
Mike Gerwitz
665b11e116
Removed forEach from tests to support engines that have not yet implemented that method (new in ES5)
2010-12-28 09:14:35 -05:00
Mike Gerwitz
ac6fb40c21
IE does not like 'item' as a var name
2010-12-28 09:04:27 -05:00
Mike Gerwitz
2325bd9a8f
Resolved getter/setter test issues for browsers that do not support the functionality
...
- __define{Getter,Setter}__ had to be used rather than object notation due to syntax errors in older browsers
2010-12-28 09:02:23 -05:00
Mike Gerwitz
5dcc4452be
Removing trailing commas from combine-test.tpl
2010-12-28 08:37:23 -05:00
Mike Gerwitz
3347b8f6d5
Added ease-full.js, which includes tests to be run client-side (initial implementation; may be buggy)
2010-12-28 00:23:13 -05:00
Mike Gerwitz
828a366f29
Renamed prop_parse.{parse => parseKeywords}
2010-12-27 23:12:37 -05:00
Mike Gerwitz
499e1c32db
Added @license annotation to ensure Google Closure Compiler et. al. will not remove the license from the combined file
2010-12-27 23:07:55 -05:00
Mike Gerwitz
1b708bac63
Added property keyword parser tests (was previously encapsulated)
2010-12-27 23:04:55 -05:00
Mike Gerwitz
87e293e33f
Property keyword parser now simply checks for spaces (to be flexible enough to support any keywords in the future)
2010-12-27 23:04:50 -05:00
Mike Gerwitz
3277a30d54
Removed now unnecessary abstract keyword check from util.propParse()
2010-12-27 22:32:30 -05:00
Mike Gerwitz
1364d5967f
Abstract methods must contain a parameter list as an array
2010-12-27 22:30:28 -05:00
Mike Gerwitz
28cf2d0e2b
Moved util abstract method tests into their own test case
2010-12-27 22:24:41 -05:00
Mike Gerwitz
69391f9b48
Finished correcting assertion tests with new implementation
2010-12-27 22:20:29 -05:00
Mike Gerwitz
46dbf56658
Updated README with new abstract method implementation
2010-12-27 22:17:21 -05:00
Mike Gerwitz
e789e58000
Removed Class.abstractMethod in favor of property keyword
2010-12-27 22:11:37 -05:00
Mike Gerwitz
f705f38640
Began adding prop_parser module and moved existing property keyword parser function into it
2010-12-27 20:56:36 -05:00
Mike Gerwitz
9666a5f80f
Began adding property keyword parsing (concept)
2010-12-27 20:49:59 -05:00
Mike Gerwitz
3ef2a28e24
Merge branch 'master' of github.com:mikegerwitz/easejs
2010-12-23 15:59:57 -05:00
Mike Gerwitz
f58586fc94
Added tests to ensure constructor is properly applied to subtypes
2010-12-23 15:57:45 -05:00
Mike Gerwitz
a93ff61bde
If setting a secure property fails, it will force a fallback to prevent performance degredation due to exceptions
2010-12-22 22:17:07 -05:00
Mike Gerwitz
98fd1e7c7c
All tests now using common.require() to prepare for client-side testing
2010-12-21 23:25:12 -05:00
Mike Gerwitz
a3cf31aa40
Tests now explicitly specify relative path to tested module
...
- Certain modules otherwise have naming conflicts (e.g. util in node.js is loaded instead)
2010-12-21 22:51:42 -05:00
Mike Gerwitz
7e7080ccbf
util.defineSecureProp() no longer performs fallback check on each invocation
2010-12-21 22:41:50 -05:00
Mike Gerwitz
d5f37f294e
IE8 does not support Object.defineProperty on non-DOM objects
...
(see http://stackoverflow.com/questions/3830800/object-defineproperty-in-es5 )
2010-12-21 14:37:34 -05:00