FLUID-6450: IoC references with mangled closing braces should result in a clear error on component startup.

Metadata

Source
FLUID-6450
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Antranig Basman
Reporter
Tony Atkins [RtF]
Created
2020-01-29T05:14:32.227-0500
Updated
2020-04-15T12:09:44.624-0400
Versions
N/A
Fixed Versions
N/A
Component
  1. IoC System

Description

An IoC reference with a mangled closing brace should be logged as an error on component startup. Instead, the mangled reference is treated as a string, as in this example:

var fluid = require("infusion");
var my = fluid.registerNamespace("my");

fluid.defaults("my.mangled.invoker", {
    gradeNames: ["fluid.component"],
    intendedTarget: "Here we are!",
    invokers: {
        log: {
            funcName: "console.log",
            args: ["Mangled invoker arg resolves to -> ", "{that].options.intendedTarget"]
        }
    }
});

var mangledInvoker = my.mangled.invoker();
mangledInvoker.log(); // The text of the mangled IoC reference is logged.

For more examples, see https://pastebin.com/cdrhxg1Q

Comments

  • Tony Atkins [RtF] commented 2020-01-29T05:16:43.363-0500

    Note, this was reproduced with the 3.0.0-dev.20191220T163226Z.db83ce0ef.FLUID-6145 dev release.

  • Cindy Li commented 2020-04-15T12:09:39.624-0400

    The pull request for fixing this issue has been merged into the project repo master branch at this commit.