From f122ba467cb4fc9111f8d5fb4f62450acd991e42 Mon Sep 17 00:00:00 2001 From: Kevin Meaney Date: Wed, 25 Sep 2024 14:52:51 +0100 Subject: [PATCH] Copy SketchAPI for Sketch 101 --- SketchAPI.xcodeproj/project.pbxproj | 6 ++--- .../xcschemes/Sketch API.xcscheme | 2 +- Source/dom/layers/__tests__/Layer.test.js | 2 +- .../layers/__tests__/SymbolInstance.test.js | 2 +- .../dom/layers/__tests__/SymbolMaster.test.js | 12 +++++----- Source/dom/models/__tests__/Override.test.js | 23 +++++++++---------- 6 files changed, 23 insertions(+), 24 deletions(-) diff --git a/SketchAPI.xcodeproj/project.pbxproj b/SketchAPI.xcodeproj/project.pbxproj index 1ec0f5c8..149989ae 100644 --- a/SketchAPI.xcodeproj/project.pbxproj +++ b/SketchAPI.xcodeproj/project.pbxproj @@ -113,7 +113,7 @@ 437121332469F097000570FA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1340; + LastUpgradeCheck = 1520; TargetAttributes = { 4371214B2469F0F6000570FA = { CreatedOnToolsVersion = 11.4.1; @@ -302,7 +302,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 12.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -341,7 +341,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 12.0; + MACOSX_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/SketchAPI.xcodeproj/xcshareddata/xcschemes/Sketch API.xcscheme b/SketchAPI.xcodeproj/xcshareddata/xcschemes/Sketch API.xcscheme index 9332b68d..e794f9d4 100644 --- a/SketchAPI.xcodeproj/xcshareddata/xcschemes/Sketch API.xcscheme +++ b/SketchAPI.xcodeproj/xcshareddata/xcschemes/Sketch API.xcscheme @@ -1,6 +1,6 @@ { }) group.transform.rotation = 720 - expect(group.transform.rotation).toBe(0) + expect(group.transform.rotation).toBe(720) }) // Regression #39358, SketchAPI#772. diff --git a/Source/dom/layers/__tests__/SymbolInstance.test.js b/Source/dom/layers/__tests__/SymbolInstance.test.js index be44a8fc..7687e9bb 100644 --- a/Source/dom/layers/__tests__/SymbolInstance.test.js +++ b/Source/dom/layers/__tests__/SymbolInstance.test.js @@ -34,7 +34,7 @@ test('should have overrides', (_context, document) => { document.selectedPage.layers = document.selectedPage.layers.concat(instance) instance.sketchObject.ensureDetachHasUpdated() - expect(instance.overrides.length).toBe(6) + expect(instance.overrides.length).toBe(7) const override = instance.overrides[0] const result = { type: 'Override', diff --git a/Source/dom/layers/__tests__/SymbolMaster.test.js b/Source/dom/layers/__tests__/SymbolMaster.test.js index e3bc95d7..48f2f4f5 100644 --- a/Source/dom/layers/__tests__/SymbolMaster.test.js +++ b/Source/dom/layers/__tests__/SymbolMaster.test.js @@ -66,7 +66,7 @@ test('should create a symbol master with a nested symbol', (_context, document) // add the instance to the page document.selectedPage.layers = document.selectedPage.layers.concat(instance) - expect(instance.overrides.length).toBe(14) + expect(instance.overrides.length).toBe(17) canBeLogged(instance, SymbolInstance) const result0 = { type: 'Override', @@ -97,7 +97,7 @@ test('should create a symbol master with a nested symbol', (_context, document) } delete result1.affectedLayer.overrides delete result1.affectedLayer.selected - result1.affectedLayer.style = instance.overrides[7].affectedLayer.style.toJSON() + result1.affectedLayer.style = instance.overrides[9].affectedLayer.style.toJSON() const result2 = { type: 'Override', id: `${nestedInstance.id}/${text.id}_stringValue`, @@ -111,16 +111,16 @@ test('should create a symbol master with a nested symbol', (_context, document) selected: false, } delete result2.affectedLayer.selected - result2.affectedLayer.style = instance.overrides[8].affectedLayer.style.toJSON() + result2.affectedLayer.style = instance.overrides[10].affectedLayer.style.toJSON() expect(instance.overrides[0].toJSON()).toEqual(result0) - expect(instance.overrides[7].toJSON()).toEqual(result1) - expect(instance.overrides[8].toJSON()).toEqual(result2) + expect(instance.overrides[9].toJSON()).toEqual(result1) + expect(instance.overrides[10].toJSON()).toEqual(result2) }) test('should have overrides', (_context, document) => { const { master, text } = createSymbolMaster(document) - expect(master.overrides.length).toBe(6) + expect(master.overrides.length).toBe(7) const override = master.overrides[0] const result = { type: 'Override', diff --git a/Source/dom/models/__tests__/Override.test.js b/Source/dom/models/__tests__/Override.test.js index b0847118..232e1178 100644 --- a/Source/dom/models/__tests__/Override.test.js +++ b/Source/dom/models/__tests__/Override.test.js @@ -32,7 +32,7 @@ test('should be able to set overrides', (_context, document) => { const instance = master.createNewInstance() document.selectedPage.layers = document.selectedPage.layers.concat(instance) - expect(instance.overrides.length).toBe(6) + expect(instance.overrides.length).toBe(7) const override = instance.overrides[0] expect(override.isDefault).toBe(true) // check that an override can be logged @@ -41,7 +41,7 @@ test('should be able to set overrides', (_context, document) => { // override override.value = 'overridden' - expect(instance.overrides.length).toBe(6) + expect(instance.overrides.length).toBe(7) const result = { type: 'Override', id: `${text.id}_stringValue`, @@ -79,9 +79,9 @@ test('should change a nested symbol', (_context, document) => { // add the instance to the page document.selectedPage.layers = document.selectedPage.layers.concat(instance) - expect(instance.overrides.length).toBe(14) + expect(instance.overrides.length).toBe(17) - const override = instance.overrides[7] + const override = instance.overrides[9] override.value = nestedMaster2.symbolId const result = { @@ -98,8 +98,8 @@ test('should change a nested symbol', (_context, document) => { } delete result.affectedLayer.overrides delete result.affectedLayer.selected - result.affectedLayer.style = instance.overrides[7].affectedLayer.style.toJSON() - expect(instance.overrides[7].toJSON()).toEqual(result) + result.affectedLayer.style = instance.overrides[9].affectedLayer.style.toJSON() + expect(instance.overrides[9].toJSON()).toEqual(result) }) test('should handle image override', (_context, document) => { @@ -121,8 +121,8 @@ test('should handle image override', (_context, document) => { // add the instance to the page document.selectedPage.layers = document.selectedPage.layers.concat(instance) - expect(instance.overrides.length).toBe(2) - + expect(instance.overrides.length).toBe(3) + // check image resize behavior expect(instance.overrides[0].property).toBe('imageResizeBehavior') expect(instance.overrides[0].isDefault).toBe(true) @@ -148,15 +148,14 @@ test('should handle image override', (_context, document) => { expect(instance.overrides[1].value.type).toBe('ImageData') }) -test('hidden layers should not be editable', (_context, document) => { +test('hidden layers still editable', (_context, document) => { const { master } = createSymbolMaster(document) master.layers[0].hidden = true const instance = master.createNewInstance() document.selectedPage.layers = document.selectedPage.layers.concat(instance) - // We used to test that hidden layers weren't marked as editable, but now hidden - // layers don't surface overrides at all. #47514 - expect(instance.overrides.length).toBe(0) + // Update for 51800 - overrides should be available in hidden layers + expect(instance.overrides.length).toBe(7) }) test('should be able to select an override', (_context, document) => {