mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-04-14 10:47:34 +08:00
Small refactoring, several tests added
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,4 +1,6 @@
|
||||
node_modules/
|
||||
package-lock.json
|
||||
localhost*
|
||||
*.git
|
||||
*.git
|
||||
cypress/screenshots
|
||||
cypress/videos
|
||||
|
||||
@@ -4,7 +4,7 @@ import Utility from "../../js/Utility"
|
||||
|
||||
describe('empty spec', () => {
|
||||
it('passes', () => {
|
||||
cy.visit('http://127.0.0.1:8080/empty.html')
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.click(100, 300)
|
||||
.then(blueprint => Utility.paste(blueprint[0], String.raw`
|
||||
|
||||
@@ -6,7 +6,7 @@ import SimpleObject from "../fixtures/SimpleObject"
|
||||
|
||||
describe("Entity initialization", () => {
|
||||
before(() => {
|
||||
expect(SimpleEntity,).to.be.a("function")
|
||||
expect(SimpleEntity).to.be.a("function")
|
||||
expect(ComplexEntity).to.be.a("function")
|
||||
})
|
||||
|
||||
|
||||
56
cypress/e2e/hid/0.cy.js
Normal file
56
cypress/e2e/hid/0.cy.js
Normal file
@@ -0,0 +1,56 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("0", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_InputKey Name="K2Node_InputKey_1"
|
||||
InputKey=Zero
|
||||
NodePosX=-304
|
||||
NodePosY=176
|
||||
NodeGuid=41FC4194F1E4436BB46EC8C1D83D0701
|
||||
CustomProperties Pin (PinId=D4A5428B422F4D5085CF41DEAF73523E,PinName="Pressed",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=B1A390663D2B404AAFF90D10273C78E1,PinName="Released",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=0C9FF69AFEEE488F868AB3292050FCB0,PinName="Key",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/InputCore.Key"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="None",AutogeneratedDefaultValue="None",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is red", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.red))
|
||||
it("has no delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.be.null)
|
||||
it("is called 0", () => expect(node.getNodeDisplayName()).to.be.equal("0"))
|
||||
it("has a keyboard icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.keyboard))
|
||||
it("has 3 pins", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(3))
|
||||
it("is not development only", () => expect(node.entity.isDevelopmentOnly()).to.be.false)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"InputKey",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
55
cypress/e2e/hid/4.cy.js
Normal file
55
cypress/e2e/hid/4.cy.js
Normal file
@@ -0,0 +1,55 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("4", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_InputKey Name="K2Node_InputKey_4"
|
||||
InputKey=Four
|
||||
NodePosX=416
|
||||
NodeGuid=C0E7B79B3B85408C9FFAFE71B71FD21F
|
||||
CustomProperties Pin (PinId=28E3A745210949D0864CC441BB0F529C,PinName="Pressed",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=F8A89129B85C44CABFC5082369EEDA65,PinName="Released",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=00DE1A9A2AE249E681808177A2107D5A,PinName="Key",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/InputCore.Key"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="None",AutogeneratedDefaultValue="None",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is red", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.red))
|
||||
it("has no delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.be.null)
|
||||
it("is called 4", () => expect(node.getNodeDisplayName()).to.be.equal("4"))
|
||||
it("has a keyboard icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.keyboard))
|
||||
it("has 3 pins", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(3))
|
||||
it("is not development only", () => expect(node.entity.isDevelopmentOnly()).to.be.false)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"InputKey",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
56
cypress/e2e/hid/9.cy.js
Normal file
56
cypress/e2e/hid/9.cy.js
Normal file
@@ -0,0 +1,56 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("9", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_InputKey Name="K2Node_InputKey_9"
|
||||
InputKey=Nine
|
||||
NodePosX=320
|
||||
NodePosY=-96
|
||||
NodeGuid=5734865695E74306BFBF523823756FBF
|
||||
CustomProperties Pin (PinId=98970DC76172490A9ED3B7189F76403D,PinName="Pressed",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=48EF1C8294D74BA48A23336ED6C2F3A5,PinName="Released",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=5A660296AF3F4F10B7175D9BB3819100,PinName="Key",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/InputCore.Key"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="None",AutogeneratedDefaultValue="None",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is red", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.red))
|
||||
it("has no delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.be.null)
|
||||
it("is called 9", () => expect(node.getNodeDisplayName()).to.be.equal("9"))
|
||||
it("has a keyboard icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.keyboard))
|
||||
it("has 3 pins", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(3))
|
||||
it("is not development only", () => expect(node.entity.isDevelopmentOnly()).to.be.false)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"InputKey",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
60
cypress/e2e/hid/acceleration.cy.js
Normal file
60
cypress/e2e/hid/acceleration.cy.js
Normal file
@@ -0,0 +1,60 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("Acceleration", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_InputVectorAxisEvent Name="K2Node_InputVectorAxisEvent_0"
|
||||
AxisKey=Acceleration
|
||||
EventReference=(MemberParent=/Script/CoreUObject.Package'"/Script/Engine"')
|
||||
CustomFunctionName="InpAxisKeyEvt_Acceleration_K2Node_InputVectorAxisEvent_0"
|
||||
NodePosX=-336
|
||||
NodePosY=-16
|
||||
NodeGuid=173829878718477795AB5367F46E1C7D
|
||||
CustomProperties Pin (PinId=A12FF63CF5344B58ADF03B3680AB1A64,PinName="OutputDelegate",Direction="EGPD_Output",PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent=/Script/Engine.BlueprintGeneratedClass'"/Temp/Untitled_1.Untitled_C"',MemberName="InpAxisKeyEvt_Acceleration_K2Node_InputVectorAxisEvent_0"),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=5DA7BAAABDD1489983119B2B0F7C2D30,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=2F4036231C574CA280628C783B83F22F,PinName="AxisValue",PinToolTip="Axis Value\nVector",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',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, 0",AutogeneratedDefaultValue="0, 0, 0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is red", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.red))
|
||||
it("has a delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.not.be.null)
|
||||
it("is called Acceleration", () => expect(node.getNodeDisplayName()).to.be.equal("Acceleration"))
|
||||
it("has a keyboard icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.keyboard))
|
||||
it("has 3 pins", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(3))
|
||||
it("is not development only", () => expect(node.entity.isDevelopmentOnly()).to.be.false)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"AxisKey",
|
||||
"EventReference",
|
||||
"CustomFunctionName",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
57
cypress/e2e/hid/debugKey0.cy.js
Normal file
57
cypress/e2e/hid/debugKey0.cy.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("Debug Key 0", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/InputBlueprintNodes.K2Node_InputDebugKey Name="K2Node_InputDebugKey_0"
|
||||
InputKey=Zero
|
||||
NodePosX=-144
|
||||
NodePosY=80
|
||||
NodeGuid=19AE58B8CA2B46D3A77778B76B90409B
|
||||
CustomProperties Pin (PinId=3683ED6F41234C5591A0440A16CC2B11,PinName="Pressed",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=7516E2FD930C43E78D2DDD51926717BE,PinName="Released",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=FC2EB521E8C74DC3938DFAF237926C03,PinName="Key",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/InputCore.Key"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="None",AutogeneratedDefaultValue="None",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=A9B2A265B31D44A098000F58CF0D9809,PinName="ActionValue",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/EnhancedInput.InputActionValue"',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
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is red", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.red))
|
||||
it("has no delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.be.null)
|
||||
it("is called Debug Key 0", () => expect(node.getNodeDisplayName()).to.be.equal("Debug Key 0"))
|
||||
it("has a keyboard icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.keyboard))
|
||||
it("has 3 pins", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(4))
|
||||
it("is development only", () => expect(node.entity.isDevelopmentOnly()).to.be.true)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"InputKey",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
62
cypress/e2e/hid/forEachLoop.cy.js
Normal file
62
cypress/e2e/hid/forEachLoop.cy.js
Normal file
@@ -0,0 +1,62 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("For Each Loop", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_MacroInstance Name="K2Node_MacroInstance_0"
|
||||
MacroGraphReference=(MacroGraph=/Script/Engine.EdGraph'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForEachLoop"',GraphBlueprint=/Script/Engine.Blueprint'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros"',GraphGuid=99DBFD5540A796041F72A5A9DA655026)
|
||||
NodePosX=-576
|
||||
NodePosY=112
|
||||
NodeGuid=0E4CA93E7C804825BE9D71A479196FDA
|
||||
CustomProperties Pin (PinId=0BA3B2464C7648A8B4DAC1E14FBBF7B5,PinName="Exec",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=7D762D06E33240719C8465424F6DBA71,PinName="Array",PinType.PinCategory="wildcard",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=Array,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=65DB5BDA2BF84FB5B293984140BB0434,PinName="LoopBody",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=339DF1FA8CDD473782B4B0F50F431639,PinName="Array Element",Direction="EGPD_Output",PinType.PinCategory="wildcard",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=E7620BC02CB6423DB3B2B9771CF8DC60,PinName="Array Index",Direction="EGPD_Output",PinType.PinCategory="int",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=8826526C2F8D474AB32DCF6446194BD6,PinName="Completed",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is gray", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.gray))
|
||||
it("has no delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.be.null)
|
||||
it("is called For Each Loop", () => expect(node.getNodeDisplayName()).to.be.equal("For Each Loop"))
|
||||
it("has a specific icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.forEachLoop))
|
||||
it("has 6 pins", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(6))
|
||||
it("is not development only", () => expect(node.entity.isDevelopmentOnly()).to.be.false)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"MacroGraphReference",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
62
cypress/e2e/hid/getMouseWheelAxis.cy.js
Normal file
62
cypress/e2e/hid/getMouseWheelAxis.cy.js
Normal file
@@ -0,0 +1,62 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("Get Mouse Wheel Axis", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_GetInputAxisKeyValue Name="K2Node_GetInputAxisKeyValue_0"
|
||||
InputAxisKey=MouseWheelAxis
|
||||
bIsPureFunc=True
|
||||
bIsConstFunc=True
|
||||
FunctionReference=(MemberName="GetInputAxisKeyValue",bSelfContext=True)
|
||||
NodePosX=-368
|
||||
NodePosY=48
|
||||
NodeGuid=D736BB862CE14C67807E646AD89E463E
|
||||
CustomProperties Pin (PinId=5D9420322C22469CA6CC9F9F2B9C0CBB,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.Actor"',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=True,bNotConnectable=True,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=960A0E4D5D624270A0734C54E3FEF0F5,PinName="InputAxisKey",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/InputCore.Key"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="MouseWheelAxis",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
CustomProperties Pin (PinId=F62C40D72EE04CD294EFBE7582CA5FB0,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="real",PinType.PinSubCategory="float",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,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is green", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.green))
|
||||
it("has no delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.be.null)
|
||||
it("is called Get Mouse Wheel Axis", () => expect(node.getNodeDisplayName()).to.be.equal("Get Mouse Wheel Axis"))
|
||||
it("has a mouse icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.mouse))
|
||||
it("has 1 pin", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(1))
|
||||
it("is not development only", () => expect(node.entity.isDevelopmentOnly()).to.be.false)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"InputAxisKey",
|
||||
"bIsPureFunc",
|
||||
"bIsConstFunc",
|
||||
"FunctionReference",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
60
cypress/e2e/hid/mouseX.cy.js
Normal file
60
cypress/e2e/hid/mouseX.cy.js
Normal file
@@ -0,0 +1,60 @@
|
||||
/// <reference types="cypress" />
|
||||
|
||||
import Blueprint from "../../../js/Blueprint"
|
||||
import Configuration from "../../../js/Configuration"
|
||||
import getFirstWordOrder from "../../fixtures/getFirstWordOrder"
|
||||
import NodeElement from "../../../js/element/NodeElement"
|
||||
import SVGIcon from "../../../js/SVGIcon"
|
||||
import Utility from "../../../js/Utility"
|
||||
|
||||
describe("Mouse X", () => {
|
||||
|
||||
context("Tests", () => {
|
||||
/** @type {NodeElement} */
|
||||
let node
|
||||
/** @type {Blueprint} */
|
||||
let blueprint
|
||||
|
||||
before(() => {
|
||||
cy.visit(`http://127.0.0.1:${Cypress.env("UEBLUEPRINT_TEST_SERVER_PORT")}/empty.html`)
|
||||
cy.get("ueb-blueprint")
|
||||
.then(b => blueprint = b[0])
|
||||
.click(100, 300)
|
||||
.then(() => Utility.paste(blueprint, String.raw`
|
||||
Begin Object Class=/Script/BlueprintGraph.K2Node_InputAxisKeyEvent Name="K2Node_InputAxisKeyEvent_2"
|
||||
AxisKey=MouseX
|
||||
EventReference=(MemberParent=/Script/CoreUObject.Package'"/Script/Engine"')
|
||||
CustomFunctionName="InpAxisKeyEvt_MouseX_K2Node_InputAxisKeyEvent_2"
|
||||
NodePosX=16
|
||||
NodePosY=384
|
||||
NodeGuid=F7AA7D36A681494A9F28239D0FA8FB2D
|
||||
CustomProperties Pin (PinId=8525745F49DB46C9BBDA7549AB9CD8B5,PinName="OutputDelegate",Direction="EGPD_Output",PinType.PinCategory="delegate",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(MemberParent=/Script/Engine.BlueprintGeneratedClass'"/Temp/Untitled_1.Untitled_C"',MemberName="InpAxisKeyEvt_MouseX_K2Node_InputAxisKeyEvent_2"),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=6273D30435714B84BD2139DB4FAFE72F,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",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,)
|
||||
CustomProperties Pin (PinId=E43D43763CD64E2CB1B030ECCEED6115,PinName="AxisValue",PinToolTip="Axis Value\nFloat (single-precision)",Direction="EGPD_Output",PinType.PinCategory="real",PinType.PinSubCategory="float",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,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
|
||||
End Object
|
||||
`))
|
||||
.then(() => node = blueprint.querySelector("ueb-node"))
|
||||
})
|
||||
it("is red", () => expect(Configuration.nodeColor(node)).to.be.equal(Configuration.nodeColors.red))
|
||||
it("has a delegate", () => expect(node.querySelector('.ueb-node-top ueb-pin[data-type="delegate"]')).to.be.not.null)
|
||||
it("is called Mouse X", () => expect(node.getNodeDisplayName()).to.be.equal("Mouse X"))
|
||||
it("has a mouse icon", () => expect(Configuration.nodeIcon(node)).to.be.equal(SVGIcon.mouse))
|
||||
it("has 3 pins", () => expect(node.querySelectorAll("ueb-pin")).to.be.lengthOf(3))
|
||||
it("is not development only", () => expect(node.entity.isDevelopmentOnly()).to.be.false)
|
||||
it("maintains the order of attributes", () => {
|
||||
blueprint.selectAll()
|
||||
const value = blueprint.template.getCopyInputObject().getSerializedText()
|
||||
expect(value).to.match(getFirstWordOrder([
|
||||
"AxisKey",
|
||||
"EventReference",
|
||||
"CustomFunctionName",
|
||||
"NodePosX",
|
||||
"NodePosY",
|
||||
"NodeGuid",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
"CustomProperties",
|
||||
]))
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -26,10 +26,10 @@ describe("Serializer", () => {
|
||||
expect(serializer).to.not.be.undefined
|
||||
})
|
||||
|
||||
it("parses true", () => expect(serializer.read("true")).to.be.true)
|
||||
it("parses True", () => expect(serializer.read("True")).to.be.true)
|
||||
it("parses false", () => expect(serializer.read("false")).to.be.false)
|
||||
it("parses False", () => expect(serializer.read("False")).to.be.false)
|
||||
it("parses true", () => expect(serializer.deserialize("true")).to.be.true)
|
||||
it("parses True", () => expect(serializer.deserialize("True")).to.be.true)
|
||||
it("parses false", () => expect(serializer.deserialize("false")).to.be.false)
|
||||
it("parses False", () => expect(serializer.deserialize("False")).to.be.false)
|
||||
})
|
||||
|
||||
context("Integer", () => {
|
||||
@@ -40,10 +40,10 @@ describe("Serializer", () => {
|
||||
expect(serializer).to.not.be.undefined
|
||||
})
|
||||
|
||||
it("parses 99", () => expect(serializer.read("99").value).to.be.equal(99))
|
||||
it("parses -8685", () => expect(serializer.read("-8685").value).to.be.equal(-8685))
|
||||
it("parses +555", () => expect(serializer.read("+555").value).to.be.equal(555))
|
||||
it("throws when not an integer", () => expect(() => serializer.read("1.2").value).to.throw())
|
||||
it("parses 99", () => expect(serializer.deserialize("99").value).to.be.equal(99))
|
||||
it("parses -8685", () => expect(serializer.deserialize("-8685").value).to.be.equal(-8685))
|
||||
it("parses +555", () => expect(serializer.deserialize("+555").value).to.be.equal(555))
|
||||
it("throws when not an integer", () => expect(() => serializer.deserialize("1.2").value).to.throw())
|
||||
})
|
||||
|
||||
context("Vector", () => {
|
||||
@@ -56,21 +56,21 @@ describe("Serializer", () => {
|
||||
expect(serializer).to.not.be.undefined
|
||||
})
|
||||
|
||||
it("parses simple vector", () => expect(serializer.read("(X=1,Y=2,Z=3.5)"))
|
||||
it("parses simple vector", () => expect(serializer.deserialize("(X=1,Y=2,Z=3.5)"))
|
||||
.to.be.deep.equal({
|
||||
X: 1,
|
||||
Y: 2,
|
||||
Z: 3.5,
|
||||
})
|
||||
)
|
||||
it("parses trailing comma", () => expect(serializer.read("(X=10,Y=+20.88,Z=-30.54,)"))
|
||||
it("parses trailing comma", () => expect(serializer.deserialize("(X=10,Y=+20.88,Z=-30.54,)"))
|
||||
.to.be.deep.equal({
|
||||
X: 10,
|
||||
Y: 20.88,
|
||||
Z: -30.54,
|
||||
})
|
||||
)
|
||||
it("parses weird spaces", () => expect(serializer.read(`(
|
||||
it("parses weird spaces", () => expect(serializer.deserialize(`(
|
||||
Z = -3.66 ,
|
||||
|
||||
X
|
||||
@@ -86,13 +86,13 @@ describe("Serializer", () => {
|
||||
Z: -3.66,
|
||||
})
|
||||
)
|
||||
it("throws when unexpected types", () => expect(() => serializer.read("(X=1,Y=\"2\",Z=3)"))
|
||||
it("throws when unexpected types", () => expect(() => serializer.deserialize("(X=1,Y=\"2\",Z=3)"))
|
||||
.to.throw()
|
||||
)
|
||||
it("throws when missing a key", () => expect(() => serializer.read("(X=1,Z=3)"))
|
||||
it("throws when missing a key", () => expect(() => serializer.deserialize("(X=1,Z=3)"))
|
||||
.to.throw()
|
||||
)
|
||||
it("throws when finding unexpected keys", () => expect(() => serializer.read("(X=1,Y=2,Unexpected=6,Z=3.5)"))
|
||||
it("throws when finding unexpected keys", () => expect(() => serializer.deserialize("(X=1,Y=2,Unexpected=6,Z=3.5)"))
|
||||
.to.throw()
|
||||
)
|
||||
})
|
||||
@@ -107,19 +107,19 @@ describe("Serializer", () => {
|
||||
expect(serializer).to.not.be.undefined
|
||||
})
|
||||
|
||||
it("parses simple vector", () => expect(serializer.read("(X=78,Y=56.3)"))
|
||||
it("parses simple vector", () => expect(serializer.deserialize("(X=78,Y=56.3)"))
|
||||
.to.be.deep.equal({
|
||||
X: 78,
|
||||
Y: 56.3,
|
||||
})
|
||||
)
|
||||
it("parses trailing comma", () => expect(serializer.read("(X=+4.5,Y=-8.88,)"))
|
||||
it("parses trailing comma", () => expect(serializer.deserialize("(X=+4.5,Y=-8.88,)"))
|
||||
.to.be.deep.equal({
|
||||
X: 4.5,
|
||||
Y: -8.88,
|
||||
})
|
||||
)
|
||||
it("parses weird spaces", () => expect(serializer.read(`(
|
||||
it("parses weird spaces", () => expect(serializer.deserialize(`(
|
||||
Y = +93.004 ,
|
||||
|
||||
X
|
||||
@@ -130,13 +130,13 @@ describe("Serializer", () => {
|
||||
Y: 93.004,
|
||||
})
|
||||
)
|
||||
it("throws on unexpected type", () => expect(() => serializer.read("(X=1,Y=\"2\")"))
|
||||
it("throws on unexpected type", () => expect(() => serializer.deserialize("(X=1,Y=\"2\")"))
|
||||
.to.throw()
|
||||
)
|
||||
it("throws when missing a key", () => expect(() => serializer.read("(X=1)"))
|
||||
it("throws when missing a key", () => expect(() => serializer.deserialize("(X=1)"))
|
||||
.to.throw()
|
||||
)
|
||||
it("throws when finding unexpected keys", () => expect(() => serializer.read("(X=777, Y=555, Unexpected=6, HH=2)"))
|
||||
it("throws when finding unexpected keys", () => expect(() => serializer.deserialize("(X=777, Y=555, Unexpected=6, HH=2)"))
|
||||
.to.throw()
|
||||
)
|
||||
})
|
||||
@@ -159,28 +159,28 @@ describe("Serializer", () => {
|
||||
expect(result.toHSVA()).to.be.deep.equal([0, 0, 1, 1])
|
||||
})
|
||||
it("parses red color", () => {
|
||||
const result = serializer.read("(R=1,G=0,B=0)")
|
||||
const result = serializer.deserialize("(R=1,G=0,B=0)")
|
||||
expect(result.toRGBA()).to.be.deep.equal([255, 0, 0, 255])
|
||||
expect(result.toRGBAString()).to.be.equal("FF0000FF")
|
||||
expect(result.toNumber()).to.be.equal(-16776961)
|
||||
expect(result.toHSVA()).to.be.deep.equal([0, 1, 1, 1])
|
||||
})
|
||||
it("parses simple color", () => {
|
||||
const result = serializer.read("(R=0.000000,G=0.660000,B=1.000000,A=1.000000)")
|
||||
const result = serializer.deserialize("(R=0.000000,G=0.660000,B=1.000000,A=1.000000)")
|
||||
expect(result.toRGBA()).to.be.deep.equal([0, 168, 255, 255])
|
||||
expect(result.toRGBAString()).to.be.equal("00A8FFFF")
|
||||
expect(result.toNumber()).to.be.equal(11075583)
|
||||
expect(result.toHSVA()).to.be.deep.equal([0.55666666666666666666, 1, 1, 1])
|
||||
})
|
||||
it("parses wrong order keys", () => {
|
||||
const result = serializer.read("(B=0.04394509003266556,G=0.026789300067696642,A=0.83663232408635,R=0.6884158028074934,)")
|
||||
const result = serializer.deserialize("(B=0.04394509003266556,G=0.026789300067696642,A=0.83663232408635,R=0.6884158028074934,)")
|
||||
expect(result.toRGBA()).to.be.deep.equal([176, 7, 11, 213])
|
||||
expect(result.toRGBAString()).to.be.equal("B0070BD5")
|
||||
expect(result.toNumber()).to.be.equal(-1341715499)
|
||||
expect(result.toHSVA().map(v => Utility.roundDecimals(v, 3))).to.be.deep.equal([0.996, 0.961, 0.688, 0.837])
|
||||
})
|
||||
it("parses weird spaces", () => {
|
||||
const result = serializer.read(`(
|
||||
const result = serializer.deserialize(`(
|
||||
A = 0.327 ,
|
||||
R=0.530 , G = 0.685
|
||||
,B
|
||||
@@ -190,10 +190,10 @@ describe("Serializer", () => {
|
||||
expect(result.toNumber()).to.be.equal(-2018515373)
|
||||
expect(result.toHSVA().map(v => Utility.roundDecimals(v, 3))).to.be.deep.equal([0.597, 0.411, 0.9, 0.327])
|
||||
})
|
||||
it("throws when missing an expected key", () => expect(() => serializer.read("(R=0.000000,G=0.660000,A=1.000000)"))
|
||||
it("throws when missing an expected key", () => expect(() => serializer.deserialize("(R=0.000000,G=0.660000,A=1.000000)"))
|
||||
.to.throw()
|
||||
)
|
||||
it("throws when unexpected types", () => expect(() => serializer.read("(R=0.000000,G=\"hello\",A=1.000000)"))
|
||||
it("throws when unexpected types", () => expect(() => serializer.deserialize("(R=0.000000,G=\"hello\",A=1.000000)"))
|
||||
.to.throw()
|
||||
)
|
||||
})
|
||||
|
||||
4
cypress/fixtures/getFirstWordOrder.js
Normal file
4
cypress/fixtures/getFirstWordOrder.js
Normal file
@@ -0,0 +1,4 @@
|
||||
/** @param {String[]} words */
|
||||
export default function getFirstWordOrder(words) {
|
||||
return new RegExp("(?:.|\\n)+" + words.map(word => word + "(?:.|\\n)+").join("") + "(?:.|\\n)+")
|
||||
}
|
||||
1
dist/css/ueb-style.css
vendored
1
dist/css/ueb-style.css
vendored
@@ -368,6 +368,7 @@ ueb-node.ueb-node-style-event .ueb-node-top ueb-pin {
|
||||
}
|
||||
|
||||
.ueb-node-name-symbol {
|
||||
align-self: flex-start;
|
||||
margin-right: 5px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
|
||||
2
dist/css/ueb-style.css.map
vendored
2
dist/css/ueb-style.css.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"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ACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;EACA;;;AAIR;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;;ACrMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;AAAA;EAEI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAKA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;AAAA;EAGI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;ACnKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA,YACI;;;AAWR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;EAEI;EACA;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA","file":"ueb-style.css"}
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"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AGJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAII;EACA;;;AAIR;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;;ACrMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;;AAIR;AAAA;EAEI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAKA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;AAAA;EAGI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;ACnKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA,YACI;;;AAWR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;AAEA;EAEI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;;AAIR;AAAA;EAEI;EACA;;;AAGJ;EACI;;;AAGJ;AAAA;EAEI;;;AAGJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;;;AAIR;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;EACA","file":"ueb-style.css"}
|
||||
2
dist/css/ueb-style.min.css
vendored
2
dist/css/ueb-style.min.css
vendored
File diff suppressed because one or more lines are too long
2
dist/css/ueb-style.min.css.map
vendored
2
dist/css/ueb-style.min.css.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"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J,0BACI,iBAGJ,cACI,2BACA,WACA,YACA,gBAGJ,gEACI,WACA,YAGJ,+BACI,iBAGJ,gCACI,gBAGJ,+FAEI,cAGJ,kBACI,mBAGJ,sCACI,WACA,YACA,uBAGJ,0CACI,kBAGJ,cACI,qBACA,sBAGJ,8BACI,kBAGJ,gHACI,aAGJ,uBACI,iBAGJ,eACI,qBACA,sBACA,gBACA,yBACA,kBACA,oBACA,cAEA,4FAII,yCACA,aAIR,0FAEI,aAGJ,uCACI,gBACA,UACA,YACA,WACA,yBACA,2BAGJ,+CACI,6OAGJ,oEACI,UACA,WACA,YACA,qBACA,gBACA,yCAGJ,oCACI,cAGJ,qBACI,sBACA,gBACA,WAGJ,uBACI,cACA,aACA,YACA,UACA,eACA,gBACA,gBACA,gBACA,cACA,cAEA,0CACI,WACA,YAGJ,gDACI,yBACA,mBACA,WAGJ,sDACI,mBCrMR,YACI,eACA,yBACA,kBACA,iBACA,mBACA,kBACA,eAEA,kBACI,mBAIR,aACI,aACA,yBACA,SACA,gBAGJ,mCACI,kBACA,oBAEA,qFAEI,WACA,cACA,kBACA,QACA,SACA,+BAGJ,2CACI,UACA,0BAGJ,0CACI,WACA,2BAIR,uCAEI,kBACA,yBACA,kBACA,mBAGJ,uBACI,kBACA,YAEA,6BACI,iBAIR,kCACI,iBAGJ,qCACI,cACA,kBACA,YACA,kBACA,mBAGJ,4BACI,kBACA,cACA,iBACA,UAKA,4BACI,WACA,qBACA,6BACA,oCACA,qCACA,sBAGJ,0BACI,eAIR,uEAGI,kBACA,MACA,YAGJ,oBACI,QACA,OACA,iBAGJ,0BACI,QACA,WACA,mBAGJ,yBACI,OACA,WACA,mBAGJ,sBACI,kBACA,MACA,QACA,SACA,WACA,iBAGJ,gFAGI,kBACA,YACA,YACA,iBAGJ,uBACI,QACA,OAGJ,6BACI,QACA,WACA,mBAGJ,4BACI,OACA,WACA,mBAGJ,qBACI,kBACA,MACA,SACA,OACA,WACA,iBCnKJ,WACI,cACA,kBACA,yBACA,MACA,OACA,sGACA,mBACA,6CACA,aAGJ,gBACI,aACA,mBACA,mBACA,gBACA,YACA,mBAGJ,oBACI,aACA,yBAGJ,iBACI,YACA,kBACA,kBAGJ,kBACI,YACA,YACA,WACA,eAGJ,+CAEI,qBACA,sBAGJ,uBACI,aACA,2DAGJ,wBACI,kBACA,iBACA,gBACA,mBACA,WACI,mLAWR,kBACI,cACA,kBACA,gBACA,iBACA,UACA,WACA,sBACA,kBAGJ,0CACI,8BACA,6BAGJ,qDAEI,aACA,oBACA,WAGJ,6BACI,iBACA,4EAGJ,wBACI,kBACA,4EAGJ,cACI,cAGJ,2CACI,yCAGJ,sCACI,yCAGJ,0BACI,kBACA,sBAEA,mEAEI,WACA,cACA,kBACA,oBACA,UACA,0BAGJ,iCACI,QAIR,4DAEI,YACA,YAGJ,8BACI,aAGJ,wDAEI,UAGJ,2BACI,aACA,gBACA,gBAGJ,oDACI,aACA,sBACA,8BACA,YACA,UAGJ,wDACI,aACA,mBACA,kBAEA,4DACI,YAIR,kDACI,YAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,2BACI,WAGJ,mBACI,oBAGJ,yBACI,iBACA,aAGJ,0CACI,UACA,iBACA,sBACA","file":"ueb-style.min.css"}
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/style.scss","../../scss/ueb-knot.scss","../../scss/ueb-link.scss","../../scss/ueb-node.scss","../../scss/ueb-pin.scss","../../scss/ueb-ui-controls.scss","../../scss/ueb-window.scss"],"names":[],"mappings":"AAAA,WACI,qBACA,oBACA,IACI,kGAIR,WACI,qBACA,mBACA,IACI,sGAIR,WACI,qBACA,iBACA,IACI,gGAIR,cACI,eACA,6CACA,cACA,kBACA,8EACA,+BACA,WACA,iBAGJ,kBACI,iBAGJ,qBACI,aACA,kBACA,MACA,QACA,OACA,0BACA,UAGJ,8BACI,GACI,cAGJ,KACI,eAIR,qCACI,mCAGJ,mBACI,iBACA,YACA,cACA,eACA,iBACA,oBAGJ,mBACI,kBACA,gCACA,gBACA,kBAGJ,oDACI,gBAGJ,UACI,kFACA,kBACA,eACA,gBACA,+DACA,gEACA,yBACA,iBAEI,s3BA0BJ,gBAEI,sZAQJ,sFACA,gEACA,wCACA,qBACA,gBAGJ,6CACI,gBAGJ,8CACI,eAGJ,0BACI,uDACA,gCAGJ,0BACI,uDAGJ,2BACI,uDAGJ,kBACI,kBACA,QACA,SACA,wGAGJ,sBACI,QACA,SAGJ,gEACI,kBAGJ,aACI,cACA,kBACA,kBACA,MACA,OACA,QACA,SACA,iBAEI,wlDAmDJ,gBAEI,gQAWJ,oBAEI,wJAOJ,4BAGJ,gDACI,mBAIJ,eACI,mBAGJ,0BACI,mBACA,uBACA,gBC/QJ,gCACI,gBAGJ,wCACI,aAGJ,8DACI,aAGJ,iDACI,iBACA,2BAGJ,iDACI,gBAGJ,qEACI,qCCpBJ,SACI,kBACA,iDACA,kEAEA,wEACA,cACA,6CACA,8CAKA,kBAGJ,aACI,oEACA,kBACA,WACA,YACA,eACA,+FAGJ,6BACI,mBACA,6BACA,wCAGJ,oFAEI,wCACA,4BAGJ,+CACI,cACA,mBAGJ,kBACI,aACA,kBACA,mDACA,qHAOA,sBACA,kBACA,4EACA,+BACA,mBACA,gBAGJ,uBACI,qBACA,YACA,WACA,YACA,sBAGJ,uBACI,YACA,eACA,sBAGJ,2BACI,WACA,YC/EJ,SACI,cACA,kBACA,gBACA,qCACA,uDACA,oBAGJ,gCACI,YAGJ,sBACI,gBAGJ,iBACI,YACA,YACA,+CAGJ,8BACI,SACA,UAGJ,8CACI,iBACI,kNAIJ,oDACA,0CACA,sDAGJ,2DACI,2BACA,0BAGJ,4DACI,kBAGJ,kBACI,kBACA,YACA,gCACA,qCACA,6BACA,gBAGJ,2DACI,kBAGJ,uLAEI,YAGJ,+BACI,gBACA,UACA,mBAGJ,cACI,aACA,gBACA,mBAGJ,4CACI,aACA,8BACA,mBACA,kBAGJ,oDACI,iBAGJ,sCACI,yBACA,WACI,qGAEJ,gEACA,WACI,iLAIR,2BACI,gBAGJ,mDACI,sCAGJ,eACI,aACA,mBACA,kGACA,kBACA,iBAGJ,4BACI,gBAGJ,4BACI,kBAGJ,sBACI,sBACA,iBACA,WACA,YACA,cAGJ,wDACI,cAGJ,2BACI,sBAGJ,wBACI,kBACA,gBACA,kBACA,cAGJ,kBACI,aACA,oBACA,gBACA,mBAGJ,sCACI,iBAGJ,kBACI,iBACA,mBAGJ,uCACI,iBAGJ,0BACI,eACA,YACA,2HAMA,2HAMA,kBAGJ,+BACI,eACA,qBACA,6BACA,mBAGJ,4CACI,kBAGJ,oBACI,aACA,kBAGJ,oDACI,cAGJ,oFACI,yBACA,eAGJ,iCACI,kBAGJ,wBACI,WACA,YACA,sBAGJ,8DACI,qBAGJ,6HAGI,mBAGJ,gDACI,sBACA,oFACA,YACA,WACI,wNAEJ,+BACA,mCAGJ,6CACI,gBACA,eAGJ,8CACI,qCACA,gBAGJ,yFAEI,SACA,gBACA,gBACA,gBAGJ,4CACI,kBACA,SACA,eACA,YAGJ,4DACI,iBAGJ,gDACI,kBACA,QACA,SACA,oBACA,eACA,eACA,WAGJ,mDACI,mBAGJ,sCACI,WAGJ,iDACI,YAGJ,kDACI,kBACA,UACA,YACA,gBACA,4CACA,gBAEA,yDACI,WACA,cACA,kBACA,UACA,WACA,WACA,YACA,6TAgBR,8CACI,kBACA,WACA,iBACA,gBACA,gBACA,sCACA,WACA,eACA,0CACA,UAGJ,4DACI,WACA,cACA,kBACA,oBACA,qBACA,UACA,WACA,kBACA,mBC1VJ,cACI,6BAGJ,QACI,4NAMA,+CAGJ,QACI,cACA,gBAGJ,sBACI,aAGJ,sBACI,kBAGJ,wEACI,aAGJ,iBACI,qBAEA,mBACI,qBACA,sBAIR,+BACI,yBAGJ,mCACI,iBACA,gBAGJ,iFACI,qCACA,iBAGJ,oCACI,2BAGJ,0BACI,iBAGJ,cACI,2BACA,WACA,YACA,gBAGJ,gEACI,WACA,YAGJ,+BACI,iBAGJ,gCACI,gBAGJ,+FAEI,cAGJ,kBACI,mBAGJ,sCACI,WACA,YACA,uBAGJ,0CACI,kBAGJ,cACI,qBACA,sBAGJ,8BACI,kBAGJ,gHACI,aAGJ,uBACI,iBAGJ,eACI,qBACA,sBACA,gBACA,yBACA,kBACA,oBACA,cAEA,4FAII,yCACA,aAIR,0FAEI,aAGJ,uCACI,gBACA,UACA,YACA,WACA,yBACA,2BAGJ,+CACI,6OAGJ,oEACI,UACA,WACA,YACA,qBACA,gBACA,yCAGJ,oCACI,cAGJ,qBACI,sBACA,gBACA,WAGJ,uBACI,cACA,aACA,YACA,UACA,eACA,gBACA,gBACA,gBACA,cACA,cAEA,0CACI,WACA,YAGJ,gDACI,yBACA,mBACA,WAGJ,sDACI,mBCrMR,YACI,eACA,yBACA,kBACA,iBACA,mBACA,kBACA,eAEA,kBACI,mBAIR,aACI,aACA,yBACA,SACA,gBAGJ,mCACI,kBACA,oBAEA,qFAEI,WACA,cACA,kBACA,QACA,SACA,+BAGJ,2CACI,UACA,0BAGJ,0CACI,WACA,2BAIR,uCAEI,kBACA,yBACA,kBACA,mBAGJ,uBACI,kBACA,YAEA,6BACI,iBAIR,kCACI,iBAGJ,qCACI,cACA,kBACA,YACA,kBACA,mBAGJ,4BACI,kBACA,cACA,iBACA,UAKA,4BACI,WACA,qBACA,6BACA,oCACA,qCACA,sBAGJ,0BACI,eAIR,uEAGI,kBACA,MACA,YAGJ,oBACI,QACA,OACA,iBAGJ,0BACI,QACA,WACA,mBAGJ,yBACI,OACA,WACA,mBAGJ,sBACI,kBACA,MACA,QACA,SACA,WACA,iBAGJ,gFAGI,kBACA,YACA,YACA,iBAGJ,uBACI,QACA,OAGJ,6BACI,QACA,WACA,mBAGJ,4BACI,OACA,WACA,mBAGJ,qBACI,kBACA,MACA,SACA,OACA,WACA,iBCnKJ,WACI,cACA,kBACA,yBACA,MACA,OACA,sGACA,mBACA,6CACA,aAGJ,gBACI,aACA,mBACA,mBACA,gBACA,YACA,mBAGJ,oBACI,aACA,yBAGJ,iBACI,YACA,kBACA,kBAGJ,kBACI,YACA,YACA,WACA,eAGJ,+CAEI,qBACA,sBAGJ,uBACI,aACA,2DAGJ,wBACI,kBACA,iBACA,gBACA,mBACA,WACI,mLAWR,kBACI,cACA,kBACA,gBACA,iBACA,UACA,WACA,sBACA,kBAGJ,0CACI,8BACA,6BAGJ,qDAEI,aACA,oBACA,WAGJ,6BACI,iBACA,4EAGJ,wBACI,kBACA,4EAGJ,cACI,cAGJ,2CACI,yCAGJ,sCACI,yCAGJ,0BACI,kBACA,sBAEA,mEAEI,WACA,cACA,kBACA,oBACA,UACA,0BAGJ,iCACI,QAIR,4DAEI,YACA,YAGJ,8BACI,aAGJ,wDAEI,UAGJ,2BACI,aACA,gBACA,gBAGJ,oDACI,aACA,sBACA,8BACA,YACA,UAGJ,wDACI,aACA,mBACA,kBAEA,4DACI,YAIR,kDACI,YAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,yDACI,oCAGJ,2BACI,WAGJ,mBACI,oBAGJ,yBACI,iBACA,aAGJ,0CACI,UACA,iBACA,sBACA","file":"ueb-style.min.css"}
|
||||
57
dist/ueblueprint.js
vendored
57
dist/ueblueprint.js
vendored
@@ -768,6 +768,13 @@ class Configuration {
|
||||
"text": i$3`226, 121, 167`,
|
||||
"wildcard": i$3`128, 120, 120`,
|
||||
}
|
||||
static nodeColors = {
|
||||
blue: i$3`84, 122, 156`,
|
||||
gray: i$3`150,150,150`,
|
||||
green: i$3`95, 129, 90`,
|
||||
red: i$3`151, 33, 32`,
|
||||
turquoise: i$3`46, 104, 106`,
|
||||
}
|
||||
static #keyName = {
|
||||
"A_AccentGrave": "à",
|
||||
"E_AccentGrave": "è",
|
||||
@@ -816,7 +823,7 @@ class Configuration {
|
||||
if (result) {
|
||||
return result
|
||||
}
|
||||
result = Utility.numberFromText(value);
|
||||
result = Utility.numberFromText(value)?.toString();
|
||||
if (result) {
|
||||
return result
|
||||
}
|
||||
@@ -877,45 +884,47 @@ class Configuration {
|
||||
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
||||
return SVGIcon.macro
|
||||
}
|
||||
if (Configuration.hidAttribute(node)?.toString().includes("Mouse")) {
|
||||
return SVGIcon.mouse
|
||||
const hidValue = Configuration.hidAttribute(node);
|
||||
if (hidValue) {
|
||||
if (hidValue.toString().includes("Mouse")) {
|
||||
return SVGIcon.mouse
|
||||
} else {
|
||||
return SVGIcon.keyboard
|
||||
}
|
||||
}
|
||||
return SVGIcon.functionSymbol
|
||||
}
|
||||
/** @param {NodeElement} node */
|
||||
static nodeColor(node) {
|
||||
const functionColor = i$3`84, 122, 156`; // Blue
|
||||
const pureFunctionColor = i$3`95, 129, 90`; // Green
|
||||
const eventColor = i$3`151, 33, 32`; // Red
|
||||
switch (node.entity.getClass()) {
|
||||
case Configuration.nodeType.callFunction:
|
||||
return node.entity.bIsPureFunc
|
||||
? pureFunctionColor
|
||||
: functionColor
|
||||
? Configuration.nodeColors.green
|
||||
: Configuration.nodeColors.blue
|
||||
case Configuration.nodeType.event:
|
||||
case Configuration.nodeType.customEvent:
|
||||
case Configuration.nodeType.inputKey:
|
||||
case Configuration.nodeType.inputAxisKeyEvent:
|
||||
case Configuration.nodeType.inputDebugKey:
|
||||
return eventColor
|
||||
return Configuration.nodeColors.red
|
||||
case Configuration.nodeType.makeArray:
|
||||
case Configuration.nodeType.makeMap:
|
||||
case Configuration.nodeType.select:
|
||||
return pureFunctionColor
|
||||
return Configuration.nodeColors.green
|
||||
case Configuration.nodeType.executionSequence:
|
||||
case Configuration.nodeType.ifThenElse:
|
||||
case Configuration.nodeType.macro:
|
||||
return i$3`150,150,150` // Gray
|
||||
return Configuration.nodeColors.gray
|
||||
case Configuration.nodeType.dynamicCast:
|
||||
return i$3`46, 104, 106` // Turquoise
|
||||
return Configuration.nodeColors.turquoise
|
||||
}
|
||||
if (node.entity.bIsPureFunc) {
|
||||
return pureFunctionColor
|
||||
return Configuration.nodeColors.green
|
||||
}
|
||||
if (node.isEvent()) {
|
||||
return eventColor
|
||||
return Configuration.nodeColors.red
|
||||
}
|
||||
return functionColor
|
||||
return Configuration.nodeColors.blue
|
||||
}
|
||||
static nodeName = (name, counter) => `${name}_${counter}`
|
||||
/** @param {NodeElement} node */
|
||||
@@ -3763,6 +3772,14 @@ class ITemplate {
|
||||
return /** @type {IInput[]} */([])
|
||||
}
|
||||
|
||||
/**
|
||||
* @template {IInput} T
|
||||
* @param {new () => T} type
|
||||
*/
|
||||
getInputObject(type) {
|
||||
return /** @type {T} */(this.inputObjects.find(object => object.constructor == type))
|
||||
}
|
||||
|
||||
setup() {
|
||||
this.#inputObjects.forEach(v => v.setup());
|
||||
}
|
||||
@@ -4798,8 +4815,10 @@ class BlueprintTemplate extends ITemplate {
|
||||
const bounding = this.viewportElement.getBoundingClientRect();
|
||||
this.viewportSize[0] = bounding.width;
|
||||
this.viewportSize[1] = bounding.height;
|
||||
this.blueprint.requestUpdate();
|
||||
this.blueprint.updateComplete.then(() => this.centerContentInViewport());
|
||||
if (this.blueprint.nodes.length > 0) {
|
||||
this.blueprint.requestUpdate();
|
||||
this.blueprint.updateComplete.then(() => this.centerContentInViewport());
|
||||
}
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
@@ -4915,6 +4934,10 @@ class BlueprintTemplate extends ITemplate {
|
||||
))
|
||||
}
|
||||
|
||||
getCopyInputObject() {
|
||||
return this.getInputObject(Copy)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Number} x
|
||||
* @param {Number} y
|
||||
|
||||
2
dist/ueblueprint.min.js
vendored
2
dist/ueblueprint.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -31,6 +31,13 @@ export default class Configuration {
|
||||
"text": css`226, 121, 167`,
|
||||
"wildcard": css`128, 120, 120`,
|
||||
}
|
||||
static nodeColors = {
|
||||
blue: css`84, 122, 156`,
|
||||
gray: css`150,150,150`,
|
||||
green: css`95, 129, 90`,
|
||||
red: css`151, 33, 32`,
|
||||
turquoise: css`46, 104, 106`,
|
||||
}
|
||||
static #keyName = {
|
||||
"A_AccentGrave": "à",
|
||||
"E_AccentGrave": "è",
|
||||
@@ -79,7 +86,7 @@ export default class Configuration {
|
||||
if (result) {
|
||||
return result
|
||||
}
|
||||
result = Utility.numberFromText(value)
|
||||
result = Utility.numberFromText(value)?.toString()
|
||||
if (result) {
|
||||
return result
|
||||
}
|
||||
@@ -140,45 +147,47 @@ export default class Configuration {
|
||||
if (node.entity.getClass() === Configuration.nodeType.macro) {
|
||||
return SVGIcon.macro
|
||||
}
|
||||
if (Configuration.hidAttribute(node)?.toString().includes("Mouse")) {
|
||||
return SVGIcon.mouse
|
||||
const hidValue = Configuration.hidAttribute(node)
|
||||
if (hidValue) {
|
||||
if (hidValue.toString().includes("Mouse")) {
|
||||
return SVGIcon.mouse
|
||||
} else {
|
||||
return SVGIcon.keyboard
|
||||
}
|
||||
}
|
||||
return SVGIcon.functionSymbol
|
||||
}
|
||||
/** @param {NodeElement} node */
|
||||
static nodeColor(node) {
|
||||
const functionColor = css`84, 122, 156` // Blue
|
||||
const pureFunctionColor = css`95, 129, 90` // Green
|
||||
const eventColor = css`151, 33, 32` // Red
|
||||
switch (node.entity.getClass()) {
|
||||
case Configuration.nodeType.callFunction:
|
||||
return node.entity.bIsPureFunc
|
||||
? pureFunctionColor
|
||||
: functionColor
|
||||
? Configuration.nodeColors.green
|
||||
: Configuration.nodeColors.blue
|
||||
case Configuration.nodeType.event:
|
||||
case Configuration.nodeType.customEvent:
|
||||
case Configuration.nodeType.inputKey:
|
||||
case Configuration.nodeType.inputAxisKeyEvent:
|
||||
case Configuration.nodeType.inputDebugKey:
|
||||
return eventColor
|
||||
return Configuration.nodeColors.red
|
||||
case Configuration.nodeType.makeArray:
|
||||
case Configuration.nodeType.makeMap:
|
||||
case Configuration.nodeType.select:
|
||||
return pureFunctionColor
|
||||
return Configuration.nodeColors.green
|
||||
case Configuration.nodeType.executionSequence:
|
||||
case Configuration.nodeType.ifThenElse:
|
||||
case Configuration.nodeType.macro:
|
||||
return css`150,150,150` // Gray
|
||||
return Configuration.nodeColors.gray
|
||||
case Configuration.nodeType.dynamicCast:
|
||||
return css`46, 104, 106` // Turquoise
|
||||
return Configuration.nodeColors.turquoise
|
||||
}
|
||||
if (node.entity.bIsPureFunc) {
|
||||
return pureFunctionColor
|
||||
return Configuration.nodeColors.green
|
||||
}
|
||||
if (node.isEvent()) {
|
||||
return eventColor
|
||||
return Configuration.nodeColors.red
|
||||
}
|
||||
return functionColor
|
||||
return Configuration.nodeColors.blue
|
||||
}
|
||||
static nodeName = (name, counter) => `${name}_${counter}`
|
||||
/** @param {NodeElement} node */
|
||||
|
||||
@@ -69,8 +69,10 @@ export default class BlueprintTemplate extends ITemplate {
|
||||
const bounding = this.viewportElement.getBoundingClientRect()
|
||||
this.viewportSize[0] = bounding.width
|
||||
this.viewportSize[1] = bounding.height
|
||||
this.blueprint.requestUpdate()
|
||||
this.blueprint.updateComplete.then(() => this.centerContentInViewport())
|
||||
if (this.blueprint.nodes.length > 0) {
|
||||
this.blueprint.requestUpdate()
|
||||
this.blueprint.updateComplete.then(() => this.centerContentInViewport())
|
||||
}
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
@@ -186,6 +188,10 @@ export default class BlueprintTemplate extends ITemplate {
|
||||
))
|
||||
}
|
||||
|
||||
getCopyInputObject() {
|
||||
return this.getInputObject(Copy)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Number} x
|
||||
* @param {Number} y
|
||||
|
||||
@@ -31,6 +31,14 @@ export default class ITemplate {
|
||||
return /** @type {IInput[]} */([])
|
||||
}
|
||||
|
||||
/**
|
||||
* @template {IInput} T
|
||||
* @param {new () => T} type
|
||||
*/
|
||||
getInputObject(type) {
|
||||
return /** @type {T} */(this.inputObjects.find(object => object.constructor == type))
|
||||
}
|
||||
|
||||
setup() {
|
||||
this.#inputObjects.forEach(v => v.setup())
|
||||
}
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
"description": "Unreal Engine's Blueprint visualisation library",
|
||||
"main": "ueblueprint.js",
|
||||
"scripts": {
|
||||
"build": "rollup --config && sass scss/export.scss:dist/css/ueb-style.css && sass scss/export.scss:dist/css/ueb-style.min.css --style=compressed"
|
||||
"build": "rollup --config && sass scss/export.scss:dist/css/ueb-style.css && sass scss/export.scss:dist/css/ueb-style.min.css --style=compressed",
|
||||
"test": "npm run build && export UEBLUEPRINT_TEST_SERVER_PORT=8181 && npx concurrently -k \"http-server -s -p $UEBLUEPRINT_TEST_SERVER_PORT\" \"npx cypress run --env UEBLUEPRINT_TEST_SERVER_PORT=8181\"",
|
||||
"cypress": "export UEBLUEPRINT_TEST_SERVER_PORT=8181 && npx concurrently -k \"http-server -p $UEBLUEPRINT_TEST_SERVER_PORT\" \"npx cypress open --env UEBLUEPRINT_TEST_SERVER_PORT=8181\""
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -25,7 +27,9 @@
|
||||
"@rollup/plugin-commonjs": "^21.1.0",
|
||||
"@rollup/plugin-node-resolve": "^13.3.0",
|
||||
"@rollup/plugin-terser": "^0.1.0",
|
||||
"concurrently": "^7.6.0",
|
||||
"cypress": "^12.1.0",
|
||||
"http-server": "^14.1.1",
|
||||
"minify-html-literals": "^1.3.5",
|
||||
"rollup": "^2.75.5",
|
||||
"rollup-plugin-copy": "^3.4.0",
|
||||
|
||||
@@ -123,6 +123,7 @@ ueb-node.ueb-node-style-event .ueb-node-top ueb-pin {
|
||||
}
|
||||
|
||||
.ueb-node-name-symbol {
|
||||
align-self: flex-start;
|
||||
margin-right: 5px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
|
||||
Reference in New Issue
Block a user