| <html> |
| <head> |
| <script src="../http/tests/inspector/inspector-test.js"></script> |
| <script> |
| function test() |
| { |
| WebInspector.showPanel("scripts"); |
| |
| function createMockWorkspace() |
| { |
| var networkWorkspaceProvider = new WebInspector.NetworkWorkspaceProvider(); |
| var workspace = new WebInspector.Workspace(); |
| workspace.addProject("network", networkWorkspaceProvider); |
| workspace.requestFileContent = function(path, callback) |
| { |
| callback("<script content>", false, "text/javascript"); |
| } |
| return workspace; |
| } |
| |
| function dumpUISourceCodeWithRevisions(uiSourceCode) |
| { |
| var content = uiSourceCode._content; |
| var revisionsString = ""; |
| for (var i = 0; i < uiSourceCode.history.length; ++i) { |
| var revision = uiSourceCode.history[i]; |
| if (i !== 0) |
| revisionsString += ", "; |
| revisionsString += "'" + revision.content + "'"; |
| } |
| InspectorTest.addResult("UISourceCode content: " + content); |
| InspectorTest.addResult(" revisions: " + revisionsString); |
| } |
| |
| InspectorTest.runTestSuite([ |
| function testAddRevisionsRevertToOriginal(next) |
| { |
| var uiSourceCode = new WebInspector.UISourceCode(createMockWorkspace(), "url", WebInspector.resourceTypes.Script); |
| uiSourceCode.setWorkingCopy("content1"); |
| uiSourceCode.setWorkingCopy("content2"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("First revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content3"); |
| uiSourceCode.setWorkingCopy("content4"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("Second revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.revertToOriginal(); |
| InspectorTest.addResult("Reverted to original."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| next(); |
| }, |
| |
| function testAddRevisionsRevertAndClearHistory(next) |
| { |
| var uiSourceCode = new WebInspector.UISourceCode(createMockWorkspace(), "url2", WebInspector.resourceTypes.Script); |
| |
| uiSourceCode.setWorkingCopy("content1"); |
| uiSourceCode.setWorkingCopy("content2"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("First revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content3"); |
| uiSourceCode.setWorkingCopy("content4"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("Second revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.revertAndClearHistory(revertedAndClearedHistory); |
| |
| function revertedAndClearedHistory() |
| { |
| InspectorTest.addResult("Reverted and cleared history."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| next(); |
| } |
| }, |
| |
| function testAddRevisionsRevertToPrevious(next) |
| { |
| var uiSourceCode = new WebInspector.UISourceCode(createMockWorkspace(), "url3", WebInspector.resourceTypes.Script); |
| |
| uiSourceCode.setWorkingCopy("content1"); |
| uiSourceCode.setWorkingCopy("content2"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("First revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content3"); |
| uiSourceCode.setWorkingCopy("content4"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("Second revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.history[0].revertToThis(); |
| InspectorTest.addResult("Reverted to previous revision."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| next(); |
| }, |
| |
| function testRequestContentAddRevisionsRevertToOriginal(next) |
| { |
| var uiSourceCode = new WebInspector.UISourceCode(createMockWorkspace(), "url4", WebInspector.resourceTypes.Script); |
| uiSourceCode.requestContent(contentReceived); |
| |
| function contentReceived() |
| { |
| InspectorTest.addResult("Content requested."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content1"); |
| uiSourceCode.setWorkingCopy("content2"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("First revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content3"); |
| uiSourceCode.setWorkingCopy("content4"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("Second revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.revertToOriginal(); |
| InspectorTest.addResult("Reverted to original."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| next(); |
| } |
| }, |
| |
| function testRequestContentAddRevisionsRevertAndClearHistory(next) |
| { |
| var uiSourceCode = new WebInspector.UISourceCode(createMockWorkspace(), "url5", WebInspector.resourceTypes.Script); |
| uiSourceCode.requestContent(contentReceived); |
| |
| function contentReceived() |
| { |
| InspectorTest.addResult("Content requested."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content1"); |
| uiSourceCode.setWorkingCopy("content2"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("First revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content3"); |
| uiSourceCode.setWorkingCopy("content4"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("Second revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.revertAndClearHistory(revertedAndClearedHistory); |
| |
| function revertedAndClearedHistory() |
| { |
| InspectorTest.addResult("Reverted and cleared history."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| next(); |
| } |
| } |
| }, |
| |
| function testRequestContentAddRevisionsRevertToPrevious(next) |
| { |
| var uiSourceCode = new WebInspector.UISourceCode(createMockWorkspace(), "url6", WebInspector.resourceTypes.Script); |
| uiSourceCode.requestContent(contentReceived); |
| |
| function contentReceived() |
| { |
| InspectorTest.addResult("Content requested."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content1"); |
| uiSourceCode.setWorkingCopy("content2"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("First revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.setWorkingCopy("content3"); |
| uiSourceCode.setWorkingCopy("content4"); |
| uiSourceCode.commitWorkingCopy(function() { }); |
| |
| InspectorTest.addResult("Second revision added."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| uiSourceCode.history[0].revertToThis(); |
| InspectorTest.addResult("Reverted to previous revision."); |
| dumpUISourceCodeWithRevisions(uiSourceCode); |
| next(); |
| } |
| }, |
| ]); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests revision support in UISourceCode.</p> |
| <a href="https://bugs.webkit.org/show_bug.cgi?id=97669">Bug 97669</a> |
| </body> |
| </html> |