Rework modifiers to variables again

This commit is contained in:
2025-12-19 11:44:58 +01:00
parent 74394cbde9
commit 1df0263a42
5 changed files with 173 additions and 175 deletions

View File

@@ -281,16 +281,17 @@ func TestAggregateGlobs(t *testing.T) {
func TestLoadCommandsFromCookFileSuccess(t *testing.T) {
// Arrange
yamlData := []byte(`
- name: command1
regex: "*.txt"
lua: replace
- name: command2
regex: "*.go"
lua: delete
commands:
- name: command1
regex: "*.txt"
lua: replace
- name: command2
regex: "*.go"
lua: delete
`)
// Act
commands, err := LoadCommandsFromCookFile(yamlData)
commands, _, err := LoadCommandsFromCookFile(yamlData)
// Assert
assert.NoError(t, err)
@@ -308,17 +309,18 @@ func TestLoadCommandsFromCookFileWithComments(t *testing.T) {
// Arrange
yamlData := []byte(`
# This is a comment
- name: command1
regex: "*.txt"
lua: replace
# Another comment
- name: command2
regex: "*.go"
lua: delete
commands:
- name: command1
regex: "*.txt"
lua: replace
# Another comment
- name: command2
regex: "*.go"
lua: delete
`)
// Act
commands, err := LoadCommandsFromCookFile(yamlData)
commands, _, err := LoadCommandsFromCookFile(yamlData)
// Assert
assert.NoError(t, err)
@@ -334,10 +336,10 @@ func TestLoadCommandsFromCookFileWithComments(t *testing.T) {
// Handle different YAML formatting styles (flow vs block)
func TestLoadCommandsFromCookFileWithFlowStyle(t *testing.T) {
// Arrange
yamlData := []byte(`[ { name: command1, regex: "*.txt", lua: replace }, { name: command2, regex: "*.go", lua: delete } ]`)
yamlData := []byte(`commands: [ { name: command1, regex: "*.txt", lua: replace }, { name: command2, regex: "*.go", lua: delete } ]`)
// Act
commands, err := LoadCommandsFromCookFile(yamlData)
commands, _, err := LoadCommandsFromCookFile(yamlData)
// Assert
assert.NoError(t, err)
@@ -357,8 +359,8 @@ func TestLoadCommandsFromCookFileNilOrEmptyData(t *testing.T) {
emptyData := []byte{}
// Act
commandsNil, errNil := LoadCommandsFromCookFile(nilData)
commandsEmpty, errEmpty := LoadCommandsFromCookFile(emptyData)
commandsNil, _, errNil := LoadCommandsFromCookFile(nilData)
commandsEmpty, _, errEmpty := LoadCommandsFromCookFile(emptyData)
// Assert
assert.Nil(t, errNil)
@@ -373,7 +375,7 @@ func TestLoadCommandsFromCookFileEmptyData(t *testing.T) {
yamlData := []byte(``)
// Act
commands, err := LoadCommandsFromCookFile(yamlData)
commands, _, err := LoadCommandsFromCookFile(yamlData)
// Assert
assert.NoError(t, err)
@@ -384,19 +386,20 @@ func TestLoadCommandsFromCookFileEmptyData(t *testing.T) {
func TestLoadCommandsFromCookFileWithMultipleEntries(t *testing.T) {
// Arrange
yamlData := []byte(`
- name: command1
regex: "*.txt"
lua: replace
- name: command2
regex: "*.go"
lua: delete
- name: command3
regex: "*.md"
lua: append
commands:
- name: command1
regex: "*.txt"
lua: replace
- name: command2
regex: "*.go"
lua: delete
- name: command3
regex: "*.md"
lua: append
`)
// Act
commands, err := LoadCommandsFromCookFile(yamlData)
commands, _, err := LoadCommandsFromCookFile(yamlData)
// Assert
assert.NoError(t, err)
@@ -415,26 +418,27 @@ func TestLoadCommandsFromCookFileWithMultipleEntries(t *testing.T) {
func TestLoadCommandsFromCookFileLegitExample(t *testing.T) {
// Arrange
yamlData := []byte(`
- name: crewlayabout
pattern: '<Talent identifier="crewlayabout">!anyvalue="(?<repairspeedpenalty>!num)"!anyvalue="(?<skillpenalty>!num)"!anyvalue="(?<repairspeedbonus>!num)"!anyvalue="(?<skillbonus>!num)"!anydistance="(?<distance>!num)"!anySkillBonus!anyvalue="(?<skillpenaltyv>!num)"!anyvalue="(?<skillpenaltyv1>!num)"!anyvalue="(?<skillpenaltyv2>!num)"!anyvalue="(?<skillpenaltyv3>!num)"!anyvalue="(?<skillpenaltyv4>!num)"!anyvalue="(?<repairspeedpenaltyv>!num)'
lua: |
repairspeedpenalty=round(repairspeedpenalty/2, 2)
skillpenalty=round(skillpenalty/2, 0)
repairspeedbonus=round(repairspeedbonus*2, 2)
skillbonus=round(skillbonus*2, 0)
distance=round(distance*2, 0)
skillpenaltyv=skillpenalty
skillpenaltyv1=skillpenalty
skillpenaltyv2=skillpenalty
skillpenaltyv3=skillpenalty
skillpenaltyv4=skillpenalty
repairspeedpenaltyv=round(-repairspeedpenalty/100, 2)
files:
- '**/TalentsAssistant.xml'
commands:
- name: crewlayabout
pattern: '<Talent identifier="crewlayabout">!anyvalue="(?<repairspeedpenalty>!num)"!anyvalue="(?<skillpenalty>!num)"!anyvalue="(?<repairspeedbonus>!num)"!anyvalue="(?<skillbonus>!num)"!anydistance="(?<distance>!num)"!anySkillBonus!anyvalue="(?<skillpenaltyv>!num)"!anyvalue="(?<skillpenaltyv1>!num)"!anyvalue="(?<skillpenaltyv2>!num)"!anyvalue="(?<skillpenaltyv3>!num)"!anyvalue="(?<skillpenaltyv4>!num)"!anyvalue="(?<repairspeedpenaltyv>!num)'
lua: |
repairspeedpenalty=round(repairspeedpenalty/2, 2)
skillpenalty=round(skillpenalty/2, 0)
repairspeedbonus=round(repairspeedbonus*2, 2)
skillbonus=round(skillbonus*2, 0)
distance=round(distance*2, 0)
skillpenaltyv=skillpenalty
skillpenaltyv1=skillpenalty
skillpenaltyv2=skillpenalty
skillpenaltyv3=skillpenalty
skillpenaltyv4=skillpenalty
repairspeedpenaltyv=round(-repairspeedpenalty/100, 2)
files:
- '**/TalentsAssistant.xml'
`)
// Act
commands, err := LoadCommandsFromCookFile(yamlData)
commands, _, err := LoadCommandsFromCookFile(yamlData)
// Assert
assert.NoError(t, err)
@@ -543,7 +547,7 @@ func TestLoadCommandsFromCookFilesNoYamlFiles(t *testing.T) {
}
// Execute function
commands, err := LoadCommandsFromCookFiles("")
commands, _, err := LoadCommandsFromCookFiles("")
// Assertions
if err != nil {
@@ -609,7 +613,7 @@ func TestLoadCommandsFromCookFilesNoYamlFiles(t *testing.T) {
// }
//
// // Execute function
// commands, err := LoadCommandsFromCookFiles("")
// commands, _, err := LoadCommandsFromCookFiles("")
//
// // Assertions
// if err != nil {
@@ -693,7 +697,7 @@ func TestLoadCommandsFromCookFilesNoYamlFiles(t *testing.T) {
// }
//
// // Execute function
// commands, err := LoadCommandsFromCookFiles("")
// commands, _, err := LoadCommandsFromCookFiles("")
//
// // Assertions
// if err != nil {
@@ -852,7 +856,7 @@ func TestExpandGlobsMemoization(t *testing.T) {
// }
//
// // Execute function
// commands, err := LoadCommandsFromCookFiles("")
// commands, _, err := LoadCommandsFromCookFiles("")
//
// // Assertions
// if err == nil {
@@ -919,7 +923,7 @@ func TestExpandGlobsMemoization(t *testing.T) {
// }
//
// // Execute function
// commands, err := LoadCommandsFromCookFiles("")
// commands, _, err := LoadCommandsFromCookFiles("")
//
// // Assertions
// if err != nil {
@@ -989,7 +993,7 @@ func TestExpandGlobsMemoization(t *testing.T) {
// }
//
// // Execute function
// commands, err := LoadCommandsFromCookFiles("")
// commands, _, err := LoadCommandsFromCookFiles("")
//
// // Assertions
// if err != nil {
@@ -1047,7 +1051,7 @@ func TestExpandGlobsMemoization(t *testing.T) {
// }
//
// // Execute function
// commands, err := LoadCommandsFromCookFiles("")
// commands, _, err := LoadCommandsFromCookFiles("")
//
// // Assertions
// if err != nil {