Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / sources / debugger / file-system-project-mapping.html
index 19b240e..26405a6 100644 (file)
@@ -9,6 +9,46 @@
 <script>
 function test()
 {
+    var mockTargetId = 1;
+    var MockTarget = function(name, connection, callback)
+    {
+        WebInspector.Target.call(this, name, connection, callback);
+    }
+    MockTarget.prototype = {
+        _loadedWithCapabilities: function(callback)
+        {
+            this.debuggerModel = new WebInspector.DebuggerModel(this);
+            this.runtimeModel = WebInspector.targetManager.mainTarget().runtimeModel;
+            this.consoleModel = WebInspector.targetManager.mainTarget().consoleModel;
+
+            if (callback)
+                callback();
+        },
+
+        __proto__: WebInspector.Target.prototype
+    }
+
+    function createMockTarget(userCallback, useRealTarget)
+    {
+        var target = new MockTarget("mock-target-" + (mockTargetId++), new InspectorBackendClass.StubConnection(), callback);
+        function callback()
+        {
+            InspectorTest.testTargetManager.addTarget(target);
+            setTimeout(function() { userCallback(target); }, 0);
+        }
+    }
+
+    function createWorkspaceWithTarget(userCallback, useRealTarget)
+    {
+        InspectorTest.createWorkspace();
+        createMockTarget(callback, useRealTarget);
+        function callback(target)
+        {
+            target.resourceTreeModel = WebInspector.targetManager.mainTarget().resourceTreeModel;
+            userCallback(target);
+        }
+    }
+
     function dumpUISourceCodes(uiSourceCodes, next)
     {
         innerDumpUISourceCodes(uiSourceCodes, 0, next);
@@ -27,12 +67,18 @@ function test()
     var manager;
     var resourceScriptMapping;
     var defaultScriptMapping;
-    function createObjects()
+
+    function createObjects(userCallback, useRealTarget)
     {
-        InspectorTest.createWorkspace();
-        manager = InspectorTest.createIsolatedFileSystemManager(InspectorTest.testWorkspace, InspectorTest.testFileSystemMapping);
-        resourceScriptMapping = new WebInspector.ResourceScriptMapping(WebInspector.debuggerModel, InspectorTest.testWorkspace);
-        defaultScriptMapping = new WebInspector.DefaultScriptMapping(WebInspector.debuggerModel,InspectorTest.testWorkspace);
+        createWorkspaceWithTarget(callback, useRealTarget);
+        function callback(target)
+        {
+            manager = InspectorTest.createIsolatedFileSystemManager(InspectorTest.testWorkspace, InspectorTest.testFileSystemMapping);
+            var entry = InspectorTest.testDebuggerWorkspaceBinding._targetToData.get(target);
+            resourceScriptMapping = entry._resourceMapping;
+            defaultScriptMapping = entry._defaultMapping;
+            userCallback();
+        }
     }
 
     InspectorTest.runTestSuite([
@@ -51,43 +97,57 @@ function test()
             var fileSystemPath = "/var/www";
             var fileSystemProjectId = WebInspector.FileSystemWorkspaceBinding.projectId(fileSystemPath);
             var files = {"/html/foo.js": "<foo content>", "/bar.js": "<bar content>"};
+            var uiSourceCode;
+            var networkUISourceCode;
+            var setting;
+
+            createObjects(step1);
+            function step1()
+            {
+                InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 4);
+                InspectorTest.addResult("Adding file system.");
+                manager.addMockFileSystem(fileSystemPath);
+                manager.addFiles(fileSystemPath, files);
+                InspectorTest.addResult("Adding network resource.");
+                InspectorTest.addMockUISourceCodeToWorkspace("http://localhost/html/foo.js", WebInspector.resourceTypes.Script, "<foo content>");
+                InspectorTest.addMockUISourceCodeToWorkspace("http://localhost/bar.js", WebInspector.resourceTypes.Script, "<foo content>");
+                dumpFileSystemUISourceCodesMappings();
+                uiSourceCode = InspectorTest.testWorkspace.uiSourceCode(fileSystemProjectId, "html/foo.js");
+                networkUISourceCode = InspectorTest.testWorkspace.uiSourceCode("http://localhost", "html/foo.js");
+                InspectorTest.override(WebInspector.SourcesPanel.prototype, "_suggestReload", function() { });
+                InspectorTest.addResult("Adding mapping between network and file system resources.");
+                InspectorTest.testWorkspace.addMapping(networkUISourceCode, uiSourceCode, manager.fileSystemWorkspaceBinding);
+                setting = InspectorTest.testFileSystemMapping._fileSystemMappingSetting;
+                InspectorTest.addResult("Emulate reloading inspector.");
+                createObjects(step2);
+            }
 
-            createObjects();
-            InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 4);
-            InspectorTest.addResult("Adding file system.");
-            manager.addMockFileSystem(fileSystemPath);
-            manager.addFiles(fileSystemPath, files);
-            InspectorTest.addResult("Adding network resource.");
-            InspectorTest.addMockUISourceCodeToWorkspace("http://localhost/html/foo.js", WebInspector.resourceTypes.Script, "<foo content>");
-            InspectorTest.addMockUISourceCodeToWorkspace("http://localhost/bar.js", WebInspector.resourceTypes.Script, "<foo content>");
-            dumpFileSystemUISourceCodesMappings();
-            var uiSourceCode = InspectorTest.testWorkspace.uiSourceCode(fileSystemProjectId, "html/foo.js");
-            var networkUISourceCode = InspectorTest.testWorkspace.uiSourceCode("http://localhost", "html/foo.js");
-            InspectorTest.override(WebInspector.SourcesPanel.prototype, "_suggestReload", function() { });
-            InspectorTest.addResult("Adding mapping between network and file system resources.");
-            InspectorTest.testWorkspace.addMapping(networkUISourceCode, uiSourceCode, manager.fileSystemWorkspaceBinding);
-            var setting = InspectorTest.testFileSystemMapping._fileSystemMappingSetting;
-            InspectorTest.addResult("Emulate reloading inspector.");
-            createObjects();
-            InspectorTest.testFileSystemMapping._fileSystemMappingSetting = setting;
-            InspectorTest.testFileSystemMapping._loadFromSettings();
-            InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
-            manager.addMockFileSystem(fileSystemPath, true);
-            manager.addFiles(fileSystemPath, files);
-            dumpFileSystemUISourceCodesMappings();
-            InspectorTest.addResult("Removing mapping between network and file system resources.");
-            uiSourceCode = InspectorTest.testWorkspace.uiSourceCode(fileSystemProjectId, "html/foo.js");
-            InspectorTest.testWorkspace.removeMapping(uiSourceCode);
-
-            InspectorTest.addResult("Emulate reloading inspector.");
-            createObjects();
-            InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
-            manager.addMockFileSystem(fileSystemPath);
-            manager.addFiles(fileSystemPath, files);
-            dumpFileSystemUISourceCodesMappings();
-
-            InspectorTest.testFileSystemMapping.removeMappingForURL(networkUISourceCode.url);
-            next();
+            function step2()
+            {
+                InspectorTest.testFileSystemMapping._fileSystemMappingSetting = setting;
+                InspectorTest.testFileSystemMapping._loadFromSettings();
+                InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
+                manager.addMockFileSystem(fileSystemPath, true);
+                manager.addFiles(fileSystemPath, files);
+                dumpFileSystemUISourceCodesMappings();
+                InspectorTest.addResult("Removing mapping between network and file system resources.");
+                uiSourceCode = InspectorTest.testWorkspace.uiSourceCode(fileSystemProjectId, "html/foo.js");
+                InspectorTest.testWorkspace.removeMapping(uiSourceCode);
+
+                InspectorTest.addResult("Emulate reloading inspector.");
+                createObjects(step3);
+            }
+
+            function step3()
+            {
+                InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
+                manager.addMockFileSystem(fileSystemPath);
+                manager.addFiles(fileSystemPath, files);
+                dumpFileSystemUISourceCodesMappings();
+
+                InspectorTest.testFileSystemMapping.removeMappingForURL(networkUISourceCode.url);
+                next();
+            }
         },
 
         function testScriptFileOnReloadWithDirtyFile(next)
@@ -105,7 +165,7 @@ function test()
 
             function loadScript()
             {
-                script = InspectorTest.createScriptMock(scriptURL, 0, 0, false, scriptContent);
+                script = InspectorTest.createScriptMock(scriptURL, 0, 0, false, scriptContent, InspectorTest.testTargetManager.targets()[0]);
                 InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 1);
                 defaultScriptMapping.addScript(script);
                 resourceScriptMapping.addScript(script);
@@ -114,18 +174,29 @@ function test()
             var fileSystemPath = "/var/www";
             var fileSystemProjectId = WebInspector.FileSystemWorkspaceBinding.projectId(fileSystemPath);
             var files = {"/html/foo.js": originalFileContent, "/bar.js": "<bar content>"};
-            createObjects();
-            InspectorTest.addResult("Adding file system.");
-            manager.addMockFileSystem(fileSystemPath);
-            InspectorTest.addResult("Adding file system mapping.");
-            InspectorTest.testFileSystemMapping.addFileMapping(fileSystemPath, "http://localhost/", "/");
-            InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
-            manager.addFiles(fileSystemPath, files);
+            var uiSourceCode;
+            var target;
+            createObjects(step1, true);
+
+            function step1()
+            {
+                InspectorTest._originalDebuggerBinding = WebInspector.debuggerWorkspaceBinding;
+                WebInspector.debuggerWorkspaceBinding = InspectorTest.testDebuggerWorkspaceBinding;
+                target = InspectorTest.testTargetManager.targets()[0];
+                WebInspector._originalTargetManager = WebInspector.targetManager;
+                WebInspector.targetManager = InspectorTest.testTargetManager;
+                InspectorTest.addResult("Adding file system.");
+                manager.addMockFileSystem(fileSystemPath);
+                InspectorTest.addResult("Adding file system mapping.");
+                InspectorTest.testFileSystemMapping.addFileMapping(fileSystemPath, "http://localhost/", "/");
+                InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
+                manager.addFiles(fileSystemPath, files);
 
-            loadScript();
+                loadScript();
 
-            var uiSourceCode = InspectorTest.testWorkspace.uiSourceCode(fileSystemProjectId, "html/foo.js");
-            InspectorTest.showUISourceCode(uiSourceCode, didShowScriptSource);
+                uiSourceCode = InspectorTest.testWorkspace.uiSourceCode(fileSystemProjectId, "html/foo.js");
+                InspectorTest.showUISourceCode(uiSourceCode, didShowScriptSource);
+            }
 
             function dumpUISourceCodeAndScriptContents()
             {
@@ -136,42 +207,41 @@ function test()
 
             function didShowScriptSource(sourceFrame)
             {
-                var target = WebInspector.targetManager.targets()[0];
                 dumpUISourceCodeAndScriptContents();
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 InspectorTest.addResult("Editing uiSourceCode:");
                 uiSourceCode.setWorkingCopy("<foo content edited>");
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 function setScriptSourceOverrideFailure(scriptId, newContent, callback)
                 {
                     callback("error");
                 }
-                InspectorTest.override(WebInspector.debuggerModel, "setScriptSource", setScriptSourceOverrideFailure);
+                InspectorTest.override(WebInspector.DebuggerModel.prototype, "setScriptSource", setScriptSourceOverrideFailure);
 
                 InspectorTest.addResult("Committing uiSourceCode with live edit failure:");
                 uiSourceCode.commitWorkingCopy(function() { });
                 dumpUISourceCodeAndScriptContents();
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 InspectorTest.addResult("Reloading with saved but diverged uiSourceCode:");
                 unloadScript();
-                InspectorTest.assertTrue(!uiSourceCode.scriptFileForTarget(target), "UISourceCode should not have script file after unloading scripts.");
+                InspectorTest.assertTrue(!resourceScriptMapping.scriptFile(uiSourceCode), "UISourceCode should not have script file after unloading scripts.");
                 InspectorTest.assertTrue(!sourceFrame._muted, "Saved but diverged source frame should not be muted");
 
                 InspectorTest.addResult("Loading script.");
                 loadScript();
                 dumpUISourceCodeAndScriptContents();
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 InspectorTest.addResult("Editing uiSourceCode again:");
                 uiSourceCode.setWorkingCopy("<foo content edited again>");
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 function setScriptSourceOverrideSuccess(scriptId, newContent, callback)
@@ -179,37 +249,38 @@ function test()
                     scriptContent = newContent;
                     callback();
                 }
-                InspectorTest.override(WebInspector.debuggerModel, "setScriptSource", setScriptSourceOverrideSuccess);
+                InspectorTest.override(WebInspector.DebuggerModel.prototype, "setScriptSource", setScriptSourceOverrideSuccess);
 
                 InspectorTest.addResult("Committing uiSourceCode again (with live edit success now):");
                 uiSourceCode.commitWorkingCopy(function() { });
                 dumpUISourceCodeAndScriptContents();
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 InspectorTest.addResult("Reloading page:");
                 unloadScript();
-                InspectorTest.assertTrue(!uiSourceCode.scriptFileForTarget(target), "UISourceCode should not have script file after unloading scripts.");
+                InspectorTest.assertTrue(!resourceScriptMapping.scriptFile(uiSourceCode), "UISourceCode should not have script file after unloading scripts.");
                 InspectorTest.assertTrue(!sourceFrame._muted, "Saved and merged source frame should not be muted");
                 InspectorTest.addResult("Loading script.");
                 loadScript();
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 InspectorTest.addResult("Editing uiSourceCode again and reloading while it is dirty:");
                 uiSourceCode.setWorkingCopy("<foo content edited and dirty>");
                 unloadScript();
-                InspectorTest.assertTrue(!uiSourceCode.scriptFileForTarget(target), "UISourceCode should not have script file after unloading scripts.");
+                InspectorTest.assertTrue(!resourceScriptMapping.scriptFile(uiSourceCode), "UISourceCode should not have script file after unloading scripts.");
                 InspectorTest.assertTrue(sourceFrame._muted, "Dirty source frame should be muted");
                 InspectorTest.addResult("Loading script.");
                 loadScript();
-                InspectorTest.addResult(" - hasDivergedFromVM: " + !!uiSourceCode.scriptFileForTarget(target).hasDivergedFromVM());
+                InspectorTest.addResult(" - hasDivergedFromVM: " + !!resourceScriptMapping.scriptFile(uiSourceCode).hasDivergedFromVM());
                 InspectorTest.addResult(" - sourceFrame._muted: " + !!sourceFrame._muted);
 
                 unloadScript();
                 loadScript;
 
                 InspectorTest.testFileSystemMapping.removeFileMapping(fileSystemPath, "http://localhost/", "/");
+                WebInspector.debuggerWorkspaceBinding = InspectorTest._originalDebuggerBinding;
                 next();
             }
         },
@@ -245,6 +316,7 @@ function test()
 
             function pageReloadedAgain()
             {
+                WebInspector.targetManager = WebInspector._originalTargetManager;
                 InspectorTest.showScriptSource("edit-me.js", didShowFile);
             }
 
@@ -268,10 +340,9 @@ function test()
 
             function replaceInSource(sourceFrame, string, replacement, callback)
             {
-                InspectorTest.addSniffer(WebInspector.debuggerModel, "_didEditScriptSource", callback);
+                InspectorTest.addSniffer(WebInspector.DebuggerModel.prototype, "_didEditScriptSource", callback);
                 InspectorTest.replaceInSource(sourceFrame, string, replacement);
                 InspectorTest.commitSource(sourceFrame);
-
             }
         },
 
@@ -291,19 +362,23 @@ function test()
             var fileSystemPath = "/var/www";
             var fileSystemProjectId = WebInspector.FileSystemWorkspaceBinding.projectId(fileSystemPath);
             var files = {"/html/foo.js": "", "/.git/foogit.js": "", "/bar.js": "", "/html2/foo.js": ""};
-            createObjects();
-            InspectorTest.addResult("Adding file system.");
-            manager.addMockFileSystem(fileSystemPath);
-            InspectorTest.addResult("Adding exclusion pattern and excluded folder.");
-            InspectorTest.testFileSystemMapping.addExcludedFolder(fileSystemPath, "/html/");
-            InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
-            manager.addFiles(fileSystemPath, files);
-            dumpWorkspaceUISourceCodes();
-            InspectorTest.addResult("Excluding html2 folder:");
-            InspectorTest.waitForWorkspaceUISourceCodeRemovedEvent(uiSourceCodeRemoved);
-            InspectorTest.testWorkspace.uiSourceCodes()[0].project().excludeFolder("/html2/");
-            dumpWorkspaceUISourceCodes();
-            next();
+            createObjects(step1);
+
+            function step1()
+            {
+                InspectorTest.addResult("Adding file system.");
+                manager.addMockFileSystem(fileSystemPath);
+                InspectorTest.addResult("Adding exclusion pattern and excluded folder.");
+                InspectorTest.testFileSystemMapping.addExcludedFolder(fileSystemPath, "/html/");
+                InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
+                manager.addFiles(fileSystemPath, files);
+                dumpWorkspaceUISourceCodes();
+                InspectorTest.addResult("Excluding html2 folder:");
+                InspectorTest.waitForWorkspaceUISourceCodeRemovedEvent(uiSourceCodeRemoved);
+                InspectorTest.testWorkspace.uiSourceCodes()[0].project().excludeFolder("/html2/");
+                dumpWorkspaceUISourceCodes();
+                next();
+            }
         },
 
         function testRemoveProject(next)
@@ -322,16 +397,20 @@ function test()
             var fileSystemPath = "/var/www";
             var fileSystemProjectId = WebInspector.FileSystemWorkspaceBinding.projectId(fileSystemPath);
             var files = {"/foo.js": ""};
-            createObjects();
-            InspectorTest.addResult("Adding file system.");
-            manager.addMockFileSystem(fileSystemPath);
-            InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
-            manager.addFiles(fileSystemPath, files);
-            dumpWorkspaceUISourceCodes();
-            InspectorTest.addResult("Removing project:");
-            var project = InspectorTest.testWorkspace.uiSourceCodes()[0].project();
-            InspectorTest.testWorkspace.addEventListener(WebInspector.Workspace.Events.ProjectRemoved, projectRemoved);
-            project.remove();
+            createObjects(step1);
+
+            function step1()
+            {
+                InspectorTest.addResult("Adding file system.");
+                manager.addMockFileSystem(fileSystemPath);
+                InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 2);
+                manager.addFiles(fileSystemPath, files);
+                dumpWorkspaceUISourceCodes();
+                InspectorTest.addResult("Removing project:");
+                var project = InspectorTest.testWorkspace.uiSourceCodes()[0].project();
+                InspectorTest.testWorkspace.addEventListener(WebInspector.Workspace.Events.ProjectRemoved, projectRemoved);
+                project.remove();
+            }
 
             function projectRemoved()
             {
@@ -339,6 +418,52 @@ function test()
                 next();
             }
         },
+
+        function testURLAfterRenaming(next)
+        {
+            function uiSourceCodeAdded(uiSourceCode) { }
+
+            var fileSystemPath = "/var/www";
+            var fileSystemProjectId = WebInspector.FileSystemWorkspaceBinding.projectId(fileSystemPath);
+            var files = {"/html/foo.js": "<foo content>", "/bar.js": "<bar content>", "/foo/bar/baz.js": "<baz content>"};
+            var uiSourceCodes;
+            var index = 0;
+            var oldURL;
+
+            createObjects(objectsCreated);
+
+            function objectsCreated()
+            {
+                InspectorTest.addResult("Adding file system.");
+                manager.addMockFileSystem(fileSystemPath);
+                InspectorTest.addResult("Adding file system mapping.");
+                InspectorTest.testFileSystemMapping.addFileMapping(fileSystemPath, "http://localhost/", "/");
+                InspectorTest.waitForWorkspaceUISourceCodeAddedEvent(uiSourceCodeAdded, 3);
+                manager.addFiles(fileSystemPath, files);
+
+                InspectorTest.addResult("Renaming files:");
+                uiSourceCodes = InspectorTest.testWorkspace.uiSourceCodes();
+                renameNextFile();
+            }
+
+            function renameNextFile()
+            {
+                var uiSourceCode = uiSourceCodes[index];
+                oldURL = uiSourceCode.url;
+                uiSourceCodes[index].rename("newName.js", fileRenamed);
+            }
+
+            function fileRenamed()
+            {
+                var uiSourceCode = uiSourceCodes[index];
+                InspectorTest.addResult("    uiSourceCode URL change after renaming: " + oldURL + " -> " + uiSourceCode.url);
+                ++index;
+                if (index < uiSourceCodes.length)
+                    renameNextFile();
+                else
+                    next();
+            }
+        },
     ]);
 };
 </script>