Skip to content

Commit

Permalink
FLUID-4927: Get rid of nested expander as well as replacing the manua…
Browse files Browse the repository at this point in the history
…l manipulation of the staticEnvironment with the new progressiveEnhancement API.
  • Loading branch information
cindyli committed Apr 11, 2013
1 parent 55c6d27 commit a1aabaf
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 46 deletions.
11 changes: 4 additions & 7 deletions src/webapp/components/uiOptions/js/FullPreviewUIOptions.js
Expand Up @@ -35,13 +35,7 @@ var fluid_1_5 = fluid_1_5 || {};
},
outerPreviewEnhancerOptions: {
expander: {
funcName: "fluid.get",
args: [{
expander: {
type: "fluid.noexpand",
value: fluid.staticEnvironment
}
}, "uiEnhancer.options.originalUserOptions"]
func: "fluid.uiOptions.fullPreview.getUIEnhancerOptions"
}
},
derivedDefaults: {
Expand All @@ -66,4 +60,7 @@ var fluid_1_5 = fluid_1_5 || {};
}
});

fluid.uiOptions.fullPreview.getUIEnhancerOptions = function () {
return fluid.get(fluid, "staticEnvironment.uiEnhancer.options.originalUserOptions")
};
})(jQuery, fluid_1_5);
Expand Up @@ -18,6 +18,7 @@
<script type="text/javascript" src="../../../../framework/core/js/FluidView.js"></script>
<script type="text/javascript" src="../../../../framework/core/js/FluidIoC.js"></script>
<script type="text/javascript" src="../../../../framework/core/js/FluidRequests.js"></script>
<script type="text/javascript" src="../../../../framework/enhancement/js/ProgressiveEnhancement.js"></script>
<script type="text/javascript" src="../../../../lib/fastXmlPull/js/fastXmlPull.js"></script>
<script type="text/javascript" src="../../../../framework/renderer/js/fluidParser.js"></script>
<script type="text/javascript" src="../../../../framework/renderer/js/fluidRenderer.js"></script>
Expand Down
84 changes: 45 additions & 39 deletions src/webapp/tests/component-tests/uiOptions/js/UIOptionsTests.js
Expand Up @@ -19,12 +19,12 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt

(function ($) {
$(document).ready(function () {
fluid.staticEnvironment.uiOptionsTests = fluid.typeTag("fluid.uiOptions.tests");
fluid.enhance.check({"fluid.uiOptions.tests": true});

var templatePrefix = "../../../../components/uiOptions/html/";

fluid.defaults("fluid.uiOptionsDefaultTests", {
gradeNames: ["fluid.viewComponent", "autoInit"],
gradeNames: ["fluid.viewComponent", "autoInit"],
components: {
uiOptionsLoader: {
type: "fluid.uiOptions.loader",
Expand Down Expand Up @@ -54,7 +54,7 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
});

// Supply the templates
fluid.demands("fluid.uiOptions.templatePath", "fluid.uiOptions.tests", {
fluid.demands("fluid.uiOptions.templatePath", ["fluid.uiOptionsTests", "fluid.uiOptions.tests"], {
options: {
value: "{uiOptionsTests}.options.prefix"
}
Expand Down Expand Up @@ -387,9 +387,9 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt

jqUnit.asyncTest("Init with site defaults different from UIOptions control values", function () {
jqUnit.expect(2);

fluid.staticEnvironment.uiOptionsTestsDiffInit = fluid.typeTag("fluid.uiOptions.testDiffInit");

fluid.enhance.check({"fluid.uiOptions.testDiffInit": true});

fluid.demands("settingsStore", ["fluid.uiOptionsTests", "fluid.uiOptions.testDiffInit", "fluid.uiEnhancer"], {
funcName: "fluid.tempStore",
options: {
Expand All @@ -409,36 +409,11 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
var fontValue = settings.textFont;
jqUnit.assertEquals("The font is set to times", "times", fontValue);

delete fluid.staticEnvironment.uiOptionsTestsDiffInit;
fluid.enhance.forget("fluid.uiOptions.testDiffInit");
jqUnit.start();
});
});

jqUnit.asyncTest("UIOptions Auto-save", function () {
jqUnit.expect(2);

fluid.staticEnvironment.uiOptionsTestsAutoSave = fluid.typeTag("fluid.uiOptions.testsAutoSave");

fluid.demands("fluid.uiOptions", ["fluid.uiOptions.testsAutoSave", "fluid.uiOptionsTests", "fluid.uiOptions.tests"], {
options: {
autoSave: true
}
});

testUIOptions(function (uiOptionsLoader, uiOptions) {
resetSaveCalled();
uiOptions.updateModel(bwSkin);
jqUnit.assertTrue("Model has changed, auto-save changes", saveCalled);

var uiEnhancerSettings = uiOptions.settingsStore.fetch();
jqUnit.assertDeepEq("bw setting was saved", bwSkin.theme, uiEnhancerSettings.theme);

delete fluid.staticEnvironment.uiOptionsTestsAutoSave;
jqUnit.start();
});

});

/********************************
* UI Options Integration tests *
* ******************************
Expand Down Expand Up @@ -488,7 +463,7 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
};

jqUnit.asyncTest("Non-default UIOptions Integration tests", function () {
fluid.staticEnvironment.uiOptionsTestsIntegration = fluid.typeTag("fluid.uiOptions.testsNonDefaultIntegration");
fluid.enhance.check({"fluid.uiOptions.testsNonDefaultIntegration": true});

fluid.demands("fluid.uiOptions", ["fluid.uiOptions.testsNonDefaultIntegration", "fluid.uiOptions.tests", "fluid.uiOptionsTests"], {
funcName: "fluid.uiOptions",
Expand Down Expand Up @@ -556,13 +531,13 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt

checkPaths(uiOptions, customizedPanelPaths);
checkSaveCancel(uiOptions, maxTextSize, minTextSize);
delete fluid.staticEnvironment.testsNonDefaultIntegration;
fluid.enhance.forget("fluid.uiOptions.testsNonDefaultIntegration");
jqUnit.start();
});
});

jqUnit.asyncTest("UIOptions Integration tests", function () {
fluid.staticEnvironment.uiOptionsTestsIntegration = fluid.typeTag("fluid.uiOptions.testsIntegration");
fluid.enhance.check({"fluid.uiOptions.testsIntegration": true});

fluid.demands("fluid.uiOptions", ["fluid.uiOptions.testsIntegration", "fluid.uiOptions.tests", "fluid.uiOptionsTests"], {
funcName: "fluid.uiOptions.defaultSettingsPanels",
Expand Down Expand Up @@ -603,19 +578,22 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt

checkPaths(uiOptions, defaultPanelsPaths);
checkSaveCancel(uiOptions, bwSkin, bwSkin2);
delete fluid.staticEnvironment.uiOptionsTestsIntegration;
fluid.enhance.forget("fluid.uiOptions.testsIntegration");
jqUnit.start();
});
});

// The following two tests (preview and auto-save) need to run at the end because they causes failures on the subsequent
// unit tests due to possibility that the demands blocks issued specifically within their own staticEnvironment are still
// in effect on the subsequent tests.
/*****************
* Preview tests *
*****************/

jqUnit.asyncTest("Preview URL", function () {
jqUnit.expect(1);

fluid.staticEnvironment.uiOptionsTestsPreview = fluid.typeTag("fluid.uiOptions.testsPreview");
fluid.enhance.check({"fluid.uiOptions.testsPreview": true});

fluid.demands("fluid.uiOptions.templateLoader", ["fluid.uiOptionsTests", "fluid.uiOptions.tests", "fluid.uiOptions.testsPreview"], {
options: {
Expand Down Expand Up @@ -645,10 +623,38 @@ https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt
jqUnit.assertEquals("The preview iFrame is pointing to the specified markup",
templateUrl, uiOptions.preview.container.attr("src"));

delete fluid.staticEnvironment.uiOptionsTestsPreview;
fluid.enhance.forget("fluid.uiOptions.testsPreview");
jqUnit.start();
});
});

/*******************
* Auto-save tests *
*******************/
jqUnit.asyncTest("UIOptions Auto-save", function () {
jqUnit.expect(2);

fluid.enhance.check({"fluid.uiOptions.testsAutoSave": true});

fluid.demands("fluid.uiOptions", ["fluid.uiOptions.testsAutoSave", "fluid.uiOptionsTests", "fluid.uiOptions.tests"], {
options: {
autoSave: true
}
});

testUIOptions(function (uiOptionsLoader, uiOptions) {
resetSaveCalled();
uiOptions.updateModel(bwSkin);
jqUnit.assertTrue("Model has changed, auto-save changes", saveCalled);

var uiEnhancerSettings = uiOptions.settingsStore.fetch();
jqUnit.assertDeepEq("bw setting was saved", bwSkin.theme, uiEnhancerSettings.theme);

fluid.enhance.forget("fluid.uiOptions.uiOptionsTestsAutoSave");
jqUnit.start();
});

});

});
});
})(jQuery);

0 comments on commit a1aabaf

Please sign in to comment.