FLUID-4142: Expansion preservation is not honoured when full argument list appears in demands block

Metadata

Source
FLUID-4142
Type
Bug
Priority
Major
Status
Closed
Resolution
Incomplete
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2011-03-14T04:13:31.320-0400
Updated
2014-03-03T13:14:03.112-0500
Versions
  1. 1.3.1
Fixed Versions
  1. 1.4
Component
  1. Framework
  2. IoC System

Description

Options, which, for example are marked as "noexpand" do not have this policy honoured if a full argument list is supplied in a demands block - for example:

Hi Antranig so these are the details:

my demands block:

fluid.demands("uploader", "cspace.recordEditor", ["{recordEditor}.dom.uploader", {
options: {
mergePaths: ["{options}", {
model: "{recordEditor}.model",
applier: "{recordEditor}.options.applier"
}]
}
}]);

In this case, the material mentioned in "mergePaths" undergoes expansion, even though it is listed as one of the "core inviolable" nonexpanded paths in fluid.preserveFromExpansion

Comments

  • Antranig Basman commented 2011-03-14T04:38:06.996-0400

    A test case was constructed to test what it seemed like this bug was - but in fact there is not such a bug. The error is in the specification of the demands block supplied above, since the component options specified in the arguments to the demands block are corrupted by the extra key "options". When using the "full arguments form" of a demands block, the component's options are simply presented literally (in this case, as the 2nd argument). The "options" key is only used when breaking down the arguments list into the "pseudo-argument" form where keys are added directly to the demands block or subcomponent specification.