Metadata
- Source
- FLUID-5172
- Type
- Bug
- Priority
- Blocker
- Status
- Closed
- Resolution
- Fixed
- Assignee
- Antranig Basman
- Reporter
- Cindy Li
- Created
2013-10-08T12:48:01.214-0400 - Updated
2014-03-03T11:27:30.258-0500 - Versions
- N/A
- Fixed Versions
-
- 1.5
- Component
-
- Framework
Description
Use IE8 to open up these test files:
http://build.fluidproject.org/infusion/tests/framework-tests/core/html/FluidIoC-test.html
http://build.fluidproject.org/infusion/tests/framework-tests/core/html/FluidIoCStandalone-test.html
http://build.fluidproject.org/infusion/tests/framework-tests/core/html/FluidIoCView-test.html
Some unit tests fail with the error: Event specification for event with name [XXX] does not include a base event specification.
Environments
Only fail IE8.
Work fine with IE9, IE10 and latest version of firefox, safari and chrome.
Comments
-
Antranig Basman commented
2013-10-24T03:12:47.345-0400 This failure was caused by a combination of recent framework work. In particular, the combination of FLUID-5089 "fluid.isPlainObject" and FLUID-5127 "compact invokers" caused a new pathway to be possible where options material supplied to fluid.rawDefaults passed through a new expansion phase operated by fluid.expandCompact. This dispatched to the new "fluid.isPlainObject" utility which it turns out is faulty on IE8. On all reasonable browsers, the diagnostic test Object.prototype.toString.call supplied to null and undefined produces special results "[object Null]" and "[object Undefined]" respectively. Unfortunately on IE8, both of these tests produce the value "[object Object]" which is indistinguishable to the return from general objects. This caused configuration of the form
events: {
event1: null
}
to become corrupted to
events: {
event1: {}
}by passing through fluid.expandCompact as a result of the unguarded test if (fluid.isPlainObject(value)) { on line 1806 of FluidIoC.js
The fix is to add a cheap test for falsy values at the beginning of fluid.isPlainObject
-
Colin Clark commented
2013-10-30T13:00:08.194-0400 I have reviewed and tested this fix. Unfortunately we still have test failures in IE8, but this fix causes substantially fewer failures, and they fail further into the testing process. So I think it's a good fix.
Here are the tests that still fail for me in IE8, post fix:
ModelTransformation-test.html
FluidIoCStandalone-test.html
ProgressiveEnhancement-test.html
Builder-test.html
Panels-test.html
ImageReorderer-test.html
FileQueueView-test.html
HTML5UploaderSupport-test.html -
Colin Clark commented
2013-10-30T13:00:32.452-0400 Reviewed and merged into master at b20510c949cd943c8fa0dd652d2ffd22735b01b4.