mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-05-20 21:07:37 +08:00
Niagara float and smaller fixes
This commit is contained in:
32
tests/fixtures/BlueprintFixture.js
vendored
32
tests/fixtures/BlueprintFixture.js
vendored
@@ -1,3 +1,4 @@
|
||||
import http from "http"
|
||||
import httpServer from "http-server"
|
||||
|
||||
|
||||
@@ -54,6 +55,21 @@ export default class BlueprintFixture {
|
||||
}
|
||||
}
|
||||
|
||||
async checkServerReady(url) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const request = http.get(url, res => {
|
||||
if (res.statusCode === 200) {
|
||||
resolve()
|
||||
} else {
|
||||
reject(new Error(`Server not ready, status code: ${res.statusCode}`))
|
||||
}
|
||||
})
|
||||
|
||||
request.on("error", error => reject(error))
|
||||
request.end()
|
||||
})
|
||||
}
|
||||
|
||||
createServer() {
|
||||
return new Promise((resolve, reject) => {
|
||||
const webserver = httpServer.createServer({
|
||||
@@ -69,12 +85,22 @@ export default class BlueprintFixture {
|
||||
resolve(null)
|
||||
}
|
||||
})
|
||||
webserver.listen(this.#port, "127.0.0.1", () => resolve(webserver))
|
||||
webserver.listen(this.#port, "127.0.0.1", async () => {
|
||||
console.log(`Server started on http://127.0.0.1:${this.#port}`)
|
||||
const url = `http://127.0.0.1:${this.#port}/empty.html`
|
||||
try {
|
||||
await this.checkServerReady(url)
|
||||
BlueprintFixture.server = webserver
|
||||
resolve(webserver)
|
||||
} catch (error) {
|
||||
console.error("Server failed readiness check:", error)
|
||||
reject(error)
|
||||
}
|
||||
})
|
||||
process.addListener("SIGTERM", () => {
|
||||
console.log("SIGTERM signal received: closing HTTP server")
|
||||
webserver.close()
|
||||
})
|
||||
BlueprintFixture.server = webserver
|
||||
})
|
||||
}
|
||||
|
||||
@@ -86,6 +112,8 @@ export default class BlueprintFixture {
|
||||
if (e.message.includes("ERR_CONNECTION_REFUSED")) {
|
||||
await this.createServer()
|
||||
await this.page.goto(url)
|
||||
} else {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
this.#blueprintLocator = this.page.locator("ueb-blueprint")
|
||||
|
||||
6
tests/fixtures/test.js
vendored
6
tests/fixtures/test.js
vendored
@@ -42,6 +42,8 @@ export const test = /**
|
||||
}
|
||||
)
|
||||
|
||||
test.setTimeout(3000)
|
||||
|
||||
export const expect = base.expect
|
||||
export * from "@playwright/test"
|
||||
|
||||
@@ -192,8 +194,8 @@ export function testNode(testData) {
|
||||
async ({ blueprintPage }) => {
|
||||
const variadic = blueprintPage.node.getByText("Add pin")
|
||||
await expect(variadic).toBeVisible()
|
||||
await variadic.hover()
|
||||
await variadic.click()
|
||||
await variadic.hover({ timeout: 1000 })
|
||||
await variadic.click({ timeout: 1000 })
|
||||
expect(await blueprintPage.node.locator("ueb-pin").all()).toHaveLength(testData.pins + 1)
|
||||
await variadic.blur()
|
||||
}
|
||||
|
||||
@@ -5,21 +5,25 @@ testNode({
|
||||
name: "Niagara Add",
|
||||
title: "+",
|
||||
value: String.raw`
|
||||
Begin Object Class=/Script/NiagaraEditor.NiagaraNodeOp Name="NiagaraNodeOp_0" ExportPath="/Script/NiagaraEditor.NiagaraNodeOp'/Engine/Transient.NewNiagaraScript:NiagaraScriptSource_0.NiagaraGraph_0.NiagaraNodeOp_0'"
|
||||
Begin Object Class=/Script/NiagaraEditor.NiagaraNodeOp Name="NiagaraNodeOp_4" ExportPath="/Script/NiagaraEditor.NiagaraNodeOp'/Engine/Transient.NewNiagaraScript:NiagaraScriptSource_0.NiagaraGraph_0.NiagaraNodeOp_4'"
|
||||
OpName="Numeric::Add"
|
||||
ChangeId=264B3D2C683F4201966C715DBA00A590
|
||||
NodePosX=800
|
||||
NodePosY=272
|
||||
NodeGuid=E62FD339348E42159E41F661B803F129
|
||||
CustomProperties Pin (PinId=553D489D7489472EA81C9C009029186B,PinName="A",PinToolTip="A",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=9905D9F666734D179C8DA03CAE65FCD2,PinName="B",PinToolTip="B",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",LinkedTo=(NiagaraNodeFunctionCall_179 73E46ACCCD224AE6958C0DB9D300767E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=B1DDBB31FCF24C5FBD99B7205274CF48,PinName="Result",PinToolTip="Result",Direction="EGPD_Output",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=481ADC022BBF4D37BD5D5CE91D03C9C3,PinName="Add",PinType.PinCategory="Misc",PinType.PinSubCategory="DynamicAddPin",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
AddedPins(0)=(PinType=(PinCategory="Type",PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'"),PinName="C")
|
||||
AddedPins(1)=(PinType=(PinCategory="Type",PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'"),PinName="D")
|
||||
ChangeId=109C57C3D01D410C906A7E97B05CB7A1
|
||||
NodePosX=-192
|
||||
NodePosY=240
|
||||
NodeGuid=B30CD9FCDD494FE78513D0790EB01F7F
|
||||
CustomProperties Pin (PinId=993EB0FF225E4E4B8A1F478687460560,PinName="A",PinFriendlyName=NSLOCTEXT("NiagaraOpInfo", "First Function Param", "A"),PinToolTip="A",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=61C666A15B2A4F01A5AB41544BC2E809,PinName="B",PinFriendlyName=NSLOCTEXT("NiagaraOpInfo", "Second Function Param", "B"),PinToolTip="B",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=BA0C345A92B34C11B9F7123296B25BFE,PinName="Result",PinToolTip="Result",Direction="EGPD_Output",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=8575BFA806564A0896BEA12731E082F6,PinName="C",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=2DB5F7C4828143A099F45818E8B92915,PinName="D",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=AA4E894467914D928AA625F429086B1F,PinName="Add",PinType.PinCategory="Misc",PinType.PinSubCategory="DynamicAddPin",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`,
|
||||
size: [9.5, 6],
|
||||
size: [9.5, 10],
|
||||
icon: null,
|
||||
pins: 4,
|
||||
pins: 6,
|
||||
delegate: false,
|
||||
development: false,
|
||||
additionalTest: async (node, pins) => {
|
||||
|
||||
33
tests/nodeNiagaraArcCosine.spec.js
Normal file
33
tests/nodeNiagaraArcCosine.spec.js
Normal file
@@ -0,0 +1,33 @@
|
||||
import { css } from "lit"
|
||||
import { expect, testNode } from "./fixtures/test.js"
|
||||
|
||||
testNode({
|
||||
name: "Niagara ArcCosine",
|
||||
title: "ArcCosine",
|
||||
value: String.raw`
|
||||
Begin Object Class=/Script/NiagaraEditor.NiagaraNodeOp Name="NiagaraNodeOp_0" ExportPath="/Script/NiagaraEditor.NiagaraNodeOp'/Engine/Transient.NewNiagaraScript:NiagaraScriptSource_0.NiagaraGraph_0.NiagaraNodeOp_0'"
|
||||
OpName="Numeric::ArcCosine"
|
||||
ChangeId=9FDAB11E05194F05975DBA0752A4E397
|
||||
NodePosX=-512
|
||||
NodePosY=208
|
||||
NodeGuid=94DC004A5F26482498EF5089FC398E6A
|
||||
CustomProperties Pin (PinId=D5013974C3A3451689FF7914177841D1,PinName="A",PinFriendlyName=NSLOCTEXT("NiagaraOpInfo", "First Function Param", "A"),PinToolTip="A",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="1.0",AutogeneratedDefaultValue="1.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=7D223B636DFF42DCBE2F9F1E93176BF5,PinName="Period",PinFriendlyName=NSLOCTEXT("NiagaraOpInfo", "Period Name", "Period"),PinToolTip="Value in which a complete rotation has occurred.",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraFloat'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="5.000000",AutogeneratedDefaultValue="1.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=180D0157D43F407B90DD3580C988779C,PinName="Result",PinToolTip="Result",Direction="EGPD_Output",PinType.PinCategory="Type",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/Niagara.NiagaraNumeric'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`,
|
||||
size: [12, 6],
|
||||
icon: null,
|
||||
pins: 3,
|
||||
delegate: false,
|
||||
development: false,
|
||||
additionalTest: async (node, pins, blueprintPage) => {
|
||||
expect(await node.evaluate(node => node.classList.contains("ueb-node-style-glass"))).toBeFalsy()
|
||||
expect(await node.evaluate(node => node.classList.contains("ueb-node-style-default"))).toBeTruthy()
|
||||
await expect(pins[1].locator("ueb-input")).toHaveText("5.0")
|
||||
await pins[1].locator("ueb-input").fill("8")
|
||||
await blueprintPage.blur()
|
||||
await expect(pins[1].locator("ueb-input")).toHaveText("8.0")
|
||||
expect(await pins[1].evaluate(p => p.entity.pinColor().cssText)).toBe(css`160, 250, 68`.cssText)
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user