Skip to content

Commit 410db93

Browse files
committed
test: custom server live preview banner integ test
1 parent 17b31d1 commit 410db93

File tree

3 files changed

+44
-2
lines changed

3 files changed

+44
-2
lines changed

src/extensionsIntegrated/Phoenix-live-preview/LivePreviewSettings.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@ define(function (require, exports, module) {
105105

106106
function _saveProjectPreferences(useCustomServer, liveServerURL, serveRoot, hotReloadSupported, framework) {
107107
PreferencesManager.set(PREFERENCE_PROJECT_SERVER_ENABLED, useCustomServer, PreferencesManager.PROJECT_SCOPE);
108-
PreferencesManager.set(PREFERENCE_PROJECT_SERVER_URL, liveServerURL, PreferencesManager.PROJECT_SCOPE);
108+
if(PreferencesManager.get(PREFERENCE_PROJECT_SERVER_URL, PreferencesManager.PROJECT_SCOPE) !== liveServerURL){
109+
// we check for change as a change event handler is attached to this property
110+
PreferencesManager.set(PREFERENCE_PROJECT_SERVER_URL, liveServerURL, PreferencesManager.PROJECT_SCOPE);
111+
}
109112
PreferencesManager.set(PREFERENCE_PROJECT_SERVER_PATH, serveRoot, PreferencesManager.PROJECT_SCOPE);
110113
PreferencesManager.set(PREFERENCE_PROJECT_SERVER_HOT_RELOAD_SUPPORTED, hotReloadSupported, PreferencesManager.PROJECT_SCOPE);
111114
PreferencesManager.set(PREFERENCE_PROJECT_PREVIEW_FRAMEWORK, framework, PreferencesManager.PROJECT_SCOPE);

src/extensionsIntegrated/Phoenix-live-preview/main.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,7 @@ define(function (require, exports, module) {
791791
refreshPreview();
792792
});
793793
LivePreviewSettings.on(LivePreviewSettings.EVENT_SERVER_CHANGED, ()=>{
794+
customLivePreviewBannerShown = false;
794795
refreshPreview();
795796
_customServerMetrics();
796797
});

test/spec/LiveDevelopmentCustomServer-test.js

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,11 @@ define(function (require, exports, module) {
661661
return testWindow.$(".live-preview-custom-banner").is(":visible");
662662
}, "banner to show");
663663

664+
// now open the settings dialog
665+
testWindow.$(".live-preview-settings-banner-btn").click();
666+
await SpecRunnerUtils.waitForModalDialog();
667+
SpecRunnerUtils.clickDialogButton(Dialogs.DIALOG_BTN_CANCEL);
668+
664669
testWindow.$(".custom-server-banner-close-icon").click();
665670
expect(testWindow.$(".live-preview-custom-banner").is(":visible")).toBe(false);
666671

@@ -669,7 +674,7 @@ define(function (require, exports, module) {
669674
"open sub.html");
670675
await _waitForIframeMDFile('readme.md');
671676

672-
// switch to html file
677+
// switch to html file, should not show banner after dismiss
673678
await awaitsForDone(SpecRunnerUtils.openProjectFiles(["sub/sub.html"]),
674679
"open sub.html");
675680
await _waitForIframeURL('http://localhost:43768/sub.html');
@@ -678,6 +683,39 @@ define(function (require, exports, module) {
678683
await endPreviewSession();
679684
}, 30000);
680685

686+
it("should custom server banner come back on changing live preview settings", async function () {
687+
await _setupSimpleProject("sub/", false);
688+
689+
await awaitsForDone(SpecRunnerUtils.openProjectFiles(["sub/sub.html"]),
690+
"open sub.html");
691+
692+
await awaitsFor(()=>{
693+
return testWindow.$(".live-preview-custom-banner").is(":visible");
694+
}, "banner to show");
695+
696+
testWindow.$(".custom-server-banner-close-icon").click();
697+
expect(testWindow.$(".live-preview-custom-banner").is(":visible")).toBe(false);
698+
699+
// now change the server
700+
PreferencesManager.set(PREFERENCE_PROJECT_SERVER_URL, "http://another.server:43768",
701+
PreferencesManager.PROJECT_SCOPE);
702+
703+
// now switch to readme file
704+
await awaitsForDone(SpecRunnerUtils.openProjectFiles(["readme.md"]),
705+
"open sub.html");
706+
await _waitForIframeMDFile('readme.md');
707+
708+
// switch to html file, should show banner again as server changed
709+
await awaitsForDone(SpecRunnerUtils.openProjectFiles(["sub/sub.html"]),
710+
"open sub.html");
711+
712+
await awaitsFor(()=>{
713+
return testWindow.$(".live-preview-custom-banner").is(":visible");
714+
}, "banner to show");
715+
716+
await endPreviewSession();
717+
}, 30000);
718+
681719
async function _forSVGLivePreview() {
682720
await awaitsFor(()=>{
683721
let iFrame = testWindow.document.getElementById("panel-live-preview-frame");

0 commit comments

Comments
 (0)