Ensure runState is updated correctly

This commit is contained in:
Don Jayamanne 2021-02-17 16:33:10 -08:00
parent c65da0b1d6
commit c0b69b03a9
2 changed files with 27 additions and 1 deletions

View file

@ -1546,6 +1546,32 @@ suite('Notebook API tests', function () {
await saveAllFilesAndCloseAll(resource);
});
test('Numeric metadata should get updated correctly', async function () {
const resource = await createRandomFile('', undefined, '.vsctestnb');
const document = await vscode.notebook.openNotebookDocument(resource);
const edit = new vscode.WorkspaceEdit();
const runStartTime = Date.now();
const lastRunDuration = Date.now() + 1000;
const runState = vscode.NotebookCellRunState.Running;
const executionOrder = 1234;
const metadata = document.cells[0].metadata.with({
...document.cells[0].metadata,
runStartTime,
runState,
lastRunDuration,
executionOrder
});
edit.replaceNotebookCellMetadata(document.uri, 0, metadata);
await vscode.workspace.applyEdit(edit);
assert.strictEqual(document.cells[0].metadata.runStartTime, runStartTime);
assert.strictEqual(document.cells[0].metadata.lastRunDuration, lastRunDuration);
assert.strictEqual(document.cells[0].metadata.executionOrder, executionOrder);
assert.strictEqual(document.cells[0].metadata.runState, vscode.NotebookCellRunState.Running);
await saveAllFilesAndCloseAll(resource);
});
// });
// suite('webview', () => {

View file

@ -1419,7 +1419,7 @@ export namespace NotebookCellRange {
export namespace NotebookCellMetadata {
export function to(data: notebooks.NotebookCellMetadata): types.NotebookCellMetadata {
return new types.NotebookCellMetadata(data.editable, data.breakpointMargin, data.runnable, data.hasExecutionOrder, data.executionOrder, data.runStartTime, data.runStartTime, data.statusMessage, data.lastRunDuration, data.inputCollapsed, data.outputCollapsed, data.custom);
return new types.NotebookCellMetadata(data.editable, data.breakpointMargin, data.runnable, data.hasExecutionOrder, data.executionOrder, data.runState, data.runStartTime, data.statusMessage, data.lastRunDuration, data.inputCollapsed, data.outputCollapsed, data.custom);
}
}