Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions pythonExtensionApi/src/main.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pythonExtensionApi/src/main.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/client/testing/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export async function writeTestIdToClipboard(testItem: TestItem): Promise<void>
// Convert the id to a module.class.method format as this is a unittest
const moduleClassMethod = idToModuleClassMethod(testItem.id);
if (moduleClassMethod) {
await env.clipboard.writeText(moduleClassMethod);
await clipboardWriteText(moduleClassMethod);
traceLog('Testing: Copied test id to clipboard, id: ' + moduleClassMethod);
return;
}
Expand Down
16 changes: 8 additions & 8 deletions src/test/testing/utils.unit.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ import { expect, use } from 'chai';
import * as chaiAsPromised from 'chai-as-promised';
import * as utils from '../../client/testing/utils';
import sinon from 'sinon';
import { env } from 'vscode';
use(chaiAsPromised.default);

function test_idToModuleClassMethod() {
try {
expect(utils.idToModuleClassMethod('foo')).to.equal('foo');
expect(utils.idToModuleClassMethod('a/b/c.pyMyClass')).to.equal('c.MyClass');
expect(utils.idToModuleClassMethod('a/b/c.pyMyClassmy_method')).to.equal('c.MyClass.my_method');
expect(utils.idToModuleClassMethod('a/b/c.py\\MyClass')).to.equal('c.MyClass');
expect(utils.idToModuleClassMethod('a/b/c.py\\MyClass\\my_method')).to.equal('c.MyClass.my_method');
expect(utils.idToModuleClassMethod('\\MyClass')).to.be.undefined;
console.log('test_idToModuleClassMethod passed');
} catch (e) {
Expand All @@ -17,23 +18,22 @@ function test_idToModuleClassMethod() {
}

async function test_writeTestIdToClipboard() {
let clipboardStub = sinon.stub(utils, 'clipboardWriteText').resolves();
const { writeTestIdToClipboard } = utils;
let clipboardStub = sinon.stub(env.clipboard, 'writeText').resolves();
try {
// unittest id
const testItem = { id: 'a/b/c.pyMyClass\\my_method' };
await writeTestIdToClipboard(testItem as any);
const testItem = { id: 'a/b/c.py\\MyClass\\my_method' };
await utils.writeTestIdToClipboard(testItem as any);
sinon.assert.calledOnceWithExactly(clipboardStub, 'c.MyClass.my_method');
clipboardStub.resetHistory();

// pytest id
const testItem2 = { id: 'tests/test_foo.py::TestClass::test_method' };
await writeTestIdToClipboard(testItem2 as any);
await utils.writeTestIdToClipboard(testItem2 as any);
sinon.assert.calledOnceWithExactly(clipboardStub, 'tests/test_foo.py::TestClass::test_method');
clipboardStub.resetHistory();

// undefined
await writeTestIdToClipboard(undefined as any);
await utils.writeTestIdToClipboard(undefined as any);
sinon.assert.notCalled(clipboardStub);

console.log('test_writeTestIdToClipboard passed');
Expand Down
Loading