mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 13:00:58 +00:00
#723 mark untitled documents as dirty when opened
This commit is contained in:
parent
9b84597640
commit
1de8f1d608
|
@ -6,7 +6,7 @@
|
|||
'use strict';
|
||||
|
||||
import * as assert from 'assert';
|
||||
import {workspace, TextDocument, window, Position} from 'vscode';
|
||||
import {workspace, TextDocument, window, Position, Uri} from 'vscode';
|
||||
import {createRandomFile, deleteFile, cleanUp} from './utils';
|
||||
import {join} from 'path';
|
||||
import * as fs from 'fs';
|
||||
|
@ -41,6 +41,37 @@ suite('workspace-namespace', () => {
|
|||
});
|
||||
});
|
||||
|
||||
test('openTextDocument, untitled is dirty', function(done) {
|
||||
workspace.openTextDocument(Uri.parse('untitled://' + join(workspace.rootPath, './newfile.txt'))).then(doc => {
|
||||
assert.equal(doc.uri.scheme, 'untitled');
|
||||
assert.ok(doc.isDirty);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
// test('openTextDocument, untitled closes on save', function(done) {
|
||||
// workspace.openTextDocument(Uri.parse('untitled://' + join(workspace.rootPath, './newfile2.txt'))).then(doc => {
|
||||
// assert.equal(doc.uri.scheme, 'untitled');
|
||||
// assert.ok(doc.isDirty);
|
||||
|
||||
// let closed: TextDocument, opened: TextDocument;
|
||||
// let d0 = workspace.onDidCloseTextDocument(e => closed = e);
|
||||
// let d1 = workspace.onDidOpenTextDocument(e => opened = e);
|
||||
|
||||
// function donedone() {
|
||||
// assert.ok(closed === doc);
|
||||
// assert.equal(opened.uri.scheme, 'file');
|
||||
// assert.equal(opened.uri.toString(), 'file:///' + join(workspace.rootPath, './newfile2.txt'))
|
||||
// d0.dispose();
|
||||
// d1.dispose();
|
||||
|
||||
// deleteFile(opened.uri).then(done, done);
|
||||
// }
|
||||
|
||||
// doc.save().then(donedone, done);
|
||||
// });
|
||||
// })
|
||||
|
||||
test('events: onDidOpenTextDocument, onDidChangeTextDocument, onDidSaveTextDocument', () => {
|
||||
return createRandomFile().then(file => {
|
||||
let disposables = [];
|
||||
|
|
|
@ -630,7 +630,7 @@ export class MainThreadDocuments {
|
|||
|
||||
// --- from plugin host process
|
||||
|
||||
_trySaveDocument(uri:URI): TPromise<boolean> {
|
||||
_trySaveDocument(uri: URI): TPromise<boolean> {
|
||||
return this._textFileService.save(uri);
|
||||
}
|
||||
|
||||
|
@ -679,6 +679,8 @@ export class MainThreadDocuments {
|
|||
if (input.getResource().toString() !== uri.toString()) {
|
||||
throw new Error(`expected URI ${uri.toString() } BUT GOT ${input.getResource().toString() }`);
|
||||
}
|
||||
return this._proxy._acceptModelDirty(uri); // mark as dirty
|
||||
}).then(() => {
|
||||
return true;
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue