FLUID-5172: Some framework IoC tests fail in IE8

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. 1.5
Component
  1. Framework

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.