Mike Gerwitz
e4cd1eabe5
Fixed issue with minified files in IE
...
Ah - you have to love those "ah-ha!" moments. The issue here is that both
uglify-js and closure compiler mangled the names in such a way that the var and
the function name had different values. In the case of closure compiler, the
function name was used to instantiate the constructor if the 'new' keyword was
omitted. This worked fine in all other tested browsers, but IE handles it
differently.
2011-12-06 18:20:43 -05:00
Mike Gerwitz
1a3b5f2893
Now using vm module in node instead of process.binding.Script (deprecated in newer versions of node)
2011-12-04 12:55:00 -05:00
Mike Gerwitz
27eea93d6f
Now setting mocked console in warn module for tests
...
- Replacing console broken in newer versions of node/v8
- Replacing console.warn/log works fine, but is a poor choice for testing
2011-12-04 12:54:56 -05:00
Mike Gerwitz
446aa8d413
Fixed __self assignment for FF
...
This little experience was rather frustrating. Indeed, it would imply that
the static implementation (at least, accessing protected and private static
members) was always broken in FF. I should be a bit more diligent in my testing.
Or perhaps it broke in a more recent version of FF, which is more likely. The
problem seems to be that we used defineSecureProp() for an assignment to the
actual class, then later properly assigned it to class.___$$svis$$.
Of course, defineSecureProp() makes it read-only, so this failed, causing
an improper assignment for __self, breaking the implementation. As such,
this probably broke in newer versions of FF and worked properly in older versions.
More concerningly is that the implementations clearly differ between Chromium
and Firefox. It may be that Firefox checks the prototype chain, whereas Chromium
(v8, specifically) will simply write to that object, ignoring that the property
further down the prototype chain is read-only.
2011-12-04 00:32:16 -05:00
Mike Gerwitz
e41495c0d1
Added private member name conflict validations
2011-12-03 00:38:41 -05:00
Mike Gerwitz
ba28f0a753
Now implicitly adding abstract keyword for interface method declarations
2011-11-28 15:10:26 -05:00
Mike Gerwitz
87dd1b8961
[ #29 ] Re-added interface name to interface errors since abstract requirement change
2011-11-19 22:17:59 -05:00
Mike Gerwitz
a33df4dcbe
[ #29 ] Refactored interface extend() test against non-interface into ExtendTest
2011-11-19 22:05:18 -05:00
Mike Gerwitz
4fe20762c8
'abstract' keyword no longer required for interface method declarations
...
- A warning is not yet being thrown for redundancy if the abstract keyword is
explicitly specified
2011-11-19 19:37:59 -05:00
Mike Gerwitz
4e49282515
Fixed bug causing invocation error when accessing undefined static members on a non-class base
2011-11-19 00:10:30 -05:00
Mike Gerwitz
80846e95f3
__proto__ => getPrototypeOf
2011-11-19 00:10:24 -05:00
Mike Gerwitz
94419742c0
Resolved IE8 test failures
...
- Additional checks for its buggy defineProperty(), etc implementation
2011-11-18 08:57:37 -05:00
Mike Gerwitz
8e079129f3
ClassBuilder.isInstanceOf() will no longer throw errors when given undefined for either argument
...
- Yes, this is just quickly adding a test to a pre-existing, terrible format.
This will be refactored with the rest of the test case.
2011-11-15 22:23:00 -05:00
Mike Gerwitz
c77d989b63
Prefixing warning output with 'Warning: '
2011-11-05 12:10:20 -04:00
Mike Gerwitz
bc589c035f
Added warning handler to class facade
...
- This isn't yet tested; have to begin test case for facade
- Do note that the actual calling by MemberBuilderValidator is tested
2011-11-05 12:07:52 -04:00
Mike Gerwitz
8bcd55dbbb
MemberBuilderValidator will now throw a warning if 'override' keyword is used without a super method
2011-11-05 11:58:12 -04:00
Mike Gerwitz
1fa92d44a1
[ #25 ] Added Getter/Setter validator call tests for MemberBuilder
2011-11-05 09:40:58 -04:00
Mike Gerwitz
e809c10dfe
[ #25 ] Added MemberBuilder/PropTest for validator call
2011-11-04 23:08:41 -04:00
Mike Gerwitz
fdf630458a
[ #25 ] instanceof => typeof for functions; lib/
2011-11-03 22:00:18 -04:00
Mike Gerwitz
4e2af2333d
[ #25 ] Now injecting MemberBuilderValidator into MemberBuilder
2011-11-02 23:28:23 -04:00
Mike Gerwitz
3912f2d369
[ #25 ] Began refactoring test-class_builder-static into new test case system
2011-11-02 23:23:13 -04:00
Mike Gerwitz
b063a91e40
[ #25 ] Added visibility de-escalation and escalation tests to MemberBuilderValidator for getters/setters
2011-10-30 12:06:09 -04:00
Mike Gerwitz
91332353e9
[ #25 ] Added attachInstanceOf TODO
2011-10-30 11:56:54 -04:00
Mike Gerwitz
3c676de55d
[ #25 ] Combined buildGetter() and buildSetter()
...
This helped to get rid of some unnecessary duplicate code and should also help
to improve performance slightly for getter/setter definitions.
2011-10-29 08:25:51 -04:00
Mike Gerwitz
02cd52cfb7
[ #25 ] Began refactoring getter/setter building into a single method (util.propParse)
...
I'm unsure as to why I originally placed them in separate methods. propParse() will
always find a getter at the same time it finds a setter, and vice versa, should they
both have been defined on the object.
2011-10-29 08:08:02 -04:00
Mike Gerwitz
2ba8e2c8f0
[ #25 ] Refactored common getter/setter code into common method within MemberBuilder
2011-10-29 07:47:22 -04:00
Mike Gerwitz
93021f3dbc
[ #25 ] Moved getter/setter validation tests into new test case
...
Much more elegant a test case now.
2011-10-28 00:22:50 -04:00
Mike Gerwitz
ad0343fb9b
[ #25 ] Moved getter/setter validation logic into MemberBuilderValidator
...
- Tests have not yet been moved
2011-10-28 00:08:22 -04:00
Mike Gerwitz
05df0b485c
[ #25 ] Moved single access modifier getter/setter test to VisibilityTest
2011-10-27 20:46:30 -04:00
Mike Gerwitz
f19a62e733
[ #25 ] Moved public default getter/setter test to new location
2011-10-27 20:43:56 -04:00
Mike Gerwitz
f4b8eb3589
[ #25 ] Added test in MemberBuilder/VisibilityTest to ensure multiple access modifiers are not used
2011-10-25 23:30:57 -04:00
Mike Gerwitz
625f62bbf1
[ #25 ] Moved MemberBuilderValidator property tests into new test case
2011-10-23 01:14:13 -04:00
Mike Gerwitz
a91cb01998
[ #25 ] Moved MethodBuilder property validation into MemberBuilderValidator
...
- Tests have not yet been moved
2011-10-23 00:43:08 -04:00
Mike Gerwitz
a5e2a507f2
[ #25 ] Throwing error instead of method hiding; will implement in future
2011-10-22 13:57:17 -04:00
Mike Gerwitz
6e7e031ff9
[ #25 ] [ #25 ] Re-added accidently removed portion of test
2011-10-22 11:06:03 -04:00
Mike Gerwitz
f9b951ddb2
[ #25 ] [ #25 ] Began moving MemberBuilder validation rules into MemberBuilderValidator (moved method rules)
2011-10-22 01:00:45 -04:00
Mike Gerwitz
e6830b741f
[ #25 ] Now using keywords to compare visibility levels in validations to eliminiate fallback inconsistencies
...
Ironic, considering the current refactoring (not yet committed) of MemberBuilder to split validation logic into MemberBuilderValidator was partially to be able to easily override the fallback logic. It's a useful refactoring nonetheless, but it could have waited.
2011-10-22 00:32:59 -04:00
Mike Gerwitz
f6369ba2c4
[ #25 ] No longer using util.isAbstractMethod() for method validation
2011-10-22 00:13:51 -04:00
Mike Gerwitz
9c9759a2b1
Moved validateMethod() function into MemberBuilder prototype to prepare for overriding with FallbackMemberBuilder
2011-10-14 22:14:29 -04:00
Mike Gerwitz
024f3b778c
Began adding FallbackMemberBuilder test case
...
This is the first test case to use the new basic xUnit-style system. This
system is likely to evolve over time. Right now it's purely for
setUp, organizational and output purposes.
2011-10-14 22:05:22 -04:00
Mike Gerwitz
24e9dd2549
Oops. Dummy want to name things correctly? ( #25 )
2011-09-02 22:44:11 -04:00
Mike Gerwitz
bc636637cc
Refactored new and override method wrappers into separate prototypes
...
- Note that, since we're mid-refactor, this is a bit of a mess
2011-08-31 00:24:19 -04:00
Mike Gerwitz
ce1370e025
Now passing getInst() directly into MethodwrapperFactory factory function, like good 'ol times
...
- I seem to have forgotten that this is necessary due to the static implementation
2011-08-31 00:05:07 -04:00
Mike Gerwitz
3c5362db0a
Added MethodWrapperFactory prototype
...
- Not yet used
2011-08-28 17:36:27 -04:00
Mike Gerwitz
2efdbe8969
Added missing MemberBuilder docblocks ( #25 )
2011-08-27 17:08:05 -04:00
Mike Gerwitz
302bc1540b
Removed old member_builder module
2011-08-14 18:53:40 -04:00
Mike Gerwitz
758162ad0f
Began refactoring member_builder module into MemberBuilder prototype ( #25 )
2011-08-14 18:47:48 -04:00
Mike Gerwitz
fd95f38c87
Integrated VisibilityObjectFactory and removed old propobj ( #25 )
...
- Note that the excessive gluing is temporary
2011-08-13 23:58:08 -04:00
Mike Gerwitz
f3352e6d74
Added VisibilityObjectFactoryFactory ( #25 )
...
- This may be temporary, depending on the ultimate implementation. This is intended to ease into the refactoring.
2011-08-13 23:00:03 -04:00
Mike Gerwitz
b4b09930bd
Added property object comment to VisibilityObjectFactory ( #25 )
2011-08-13 22:42:51 -04:00