diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29bb2d..3adcb5c76ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1 @@ +- Fixes an issue with ext:update where local extension is incorrectly inferred as published (#3499) diff --git a/src/test/extensions/updateHelper.spec.ts b/src/test/extensions/updateHelper.spec.ts index 42a7777aa29..03a8e8a9c5b 100644 --- a/src/test/extensions/updateHelper.spec.ts +++ b/src/test/extensions/updateHelper.spec.ts @@ -599,12 +599,14 @@ describe("getExistingSourceOrigin", () => { isOfficialStub = sinon.stub(resolveSource, "isOfficialSource"); isOfficialStub.returns(true); getInstanceStub = sinon.stub(extensionsApi, "getInstance").resolves(INSTANCE); + const result = await updateHelper.getExistingSourceOrigin( "invader-zim", "instance-of-official-ext", "ext-testing", "projects/firebasemods/sources/fake-official-source" ); + expect(result).to.equal(extensionsHelper.SourceOrigin.OFFICIAL_EXTENSION); }); @@ -612,12 +614,14 @@ describe("getExistingSourceOrigin", () => { registryEntryStub = sinon.stub(resolveSource, "resolveRegistryEntry"); registryEntryStub.throwsException("Entry not found"); getInstanceStub = sinon.stub(extensionsApi, "getInstance").resolves(REGISTRY_INSTANCE); + const result = await updateHelper.getExistingSourceOrigin( "invader-zim", "instance-of-registry-ext", "ext-testing", "projects/firebasemods/sources/fake-registry-source" ); + expect(result).to.equal(extensionsHelper.SourceOrigin.PUBLISHED_EXTENSION); }); @@ -625,12 +629,14 @@ describe("getExistingSourceOrigin", () => { registryEntryStub = sinon.stub(resolveSource, "resolveRegistryEntry"); registryEntryStub.throwsException("Entry not found"); getInstanceStub = sinon.stub(extensionsApi, "getInstance").resolves(LOCAL_INSTANCE); + const result = await updateHelper.getExistingSourceOrigin( "invader-zim", "instance-of-local-ext", "ext-testing", "projects/firebasemods/sources/fake-local-source" ); + expect(result).to.equal(extensionsHelper.SourceOrigin.LOCAL); }); @@ -640,12 +646,14 @@ describe("getExistingSourceOrigin", () => { isOfficialStub = sinon.stub(resolveSource, "isOfficialSource"); isOfficialStub.returns(false); getInstanceStub = sinon.stub(extensionsApi, "getInstance").resolves(LOCAL_INSTANCE); + const result = await updateHelper.getExistingSourceOrigin( "invader-zim", "instance-of-local-ext", "ext-testing", "projects/firebasemods/sources/fake-local-source" ); + expect(result).to.equal(extensionsHelper.SourceOrigin.LOCAL); }); });