1
0
Fork 0
Commit Graph

28 Commits (6a5cbdf71244deb88c5eba375d73fe1c5a73e0a2)

Author SHA1 Message Date
Mike Gerwitz cf344186fc Implement GH#1 Provide useful error when attempting to extend from non-constructor 2011-05-22 21:54:41 -04:00
Mike Gerwitz 91a47e4dcd [Bug Fix] Concrete class constructor is no longer invoked on extend
- The ctor must be instantiated for use in the prototype chain
- This was working in the past, but apparently no test existed for it and
  refactoring broke it
2011-05-10 23:32:13 -04:00
Mike Gerwitz 5af833ab05 Disallowing member redeclaration in same class definition 2011-03-19 00:48:02 -04:00
Mike Gerwitz 5d8fdc5204 Merge branch 'master' into visibility/master
Conflicts:
	lib/class.js
2011-03-06 12:39:26 -05:00
Mike Gerwitz 517b2be464 Fix toString() override for IE
- All tests once again pass on IE6
2011-03-06 12:38:31 -05:00
Mike Gerwitz 6b79999adb IE6 Error.prototype.toString() !== Error.message 2011-03-06 10:37:20 -05:00
Mike Gerwitz c0f351d173 Merge branch 'master' into visibility/master 2011-03-05 23:12:55 -05:00
Mike Gerwitz d6cca75093 Can now override toString() method of a class 2011-03-05 23:11:13 -05:00
Mike Gerwitz 4148f8742d Merge branch 'master' into visibility/master
Conflicts:
	test/test-class-extend.js
2011-03-03 23:29:20 -05:00
Mike Gerwitz 840a495017 Began implementing named classes
- toString() implementation
2011-03-03 22:33:18 -05:00
Mike Gerwitz d23ae6210c Initial implementation of natural class definition by invoking class module 2011-03-03 19:43:20 -05:00
Mike Gerwitz 38c16048cb Began adding protected/private member support
- No longer adding ANY properties to prototype
- protected/private members no longer part of the public access level
2011-01-27 22:35:40 -05:00
Mike Gerwitz d19638be4f Classes now return a more intuitive string representation 2011-01-17 20:20:39 -05:00
Mike Gerwitz b357293890 Classes now tested using isInstanceOf() 2010-12-29 21:45:33 -05:00
Mike Gerwitz 83cecb5fdc Instantiating test object only once 2010-12-29 21:18:03 -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 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 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 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 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 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 26b70bcd93 Changed license to LGPL
My reason for doing so is more practical - for the same reasons that GNU released glib and
other libraries under the LGPL. The reason is that there are so many other alternatives out
there that are released under more permissive licenses. This isn't anything special. Therefore,
to encourage its adoption, I've released it under the LGPL.

All my larger projects/libraries that have few/no alternatives will be released under the
GPL/AGPL.
2010-11-10 22:07:03 -05:00
Mike Gerwitz fdf389ba2e Added inheritance instanceof assertions 2010-11-10 21:39:09 -05:00
Mike Gerwitz 909542d19b Added support for extending classes via convenience method and tests for property inheritance 2010-11-10 21:10:31 -05:00
Mike Gerwitz 0d5afa8d71 Moved object extend() assertion to its own file to prepare for extending subtypes 2010-11-10 20:48:35 -05:00