master
yaml 76 lines 1.52 KB
Raw
1 pattern: "(?P<level>\\w+)\\s+(?P<message>.*)"
2
3 # Test variable substitution edge cases
4
5 inject:
6 - key: SIMPLE_VAR
7 value: "${LINE}"
8
9 - key: MULTIPLE_VARS
10 value: "Level: ${LEVEL}, Message: ${MESSAGE}"
11
12 - key: NESTED_VARS
13 value: "${${LEVEL}_PREFIX}_${MESSAGE}"
14
15 - key: UNDEFINED_VAR
16 value: "This ${UNDEFINED_VARIABLE} does not exist"
17
18 - key: ESCAPED_VAR
19 value: "\\${NOT_A_VARIABLE}"
20
21 # Commented out - causes parse error as expected
22 # - key: MALFORMED_VAR1
23 # value: "Start ${UNCLOSED end" # Missing closing brace
24
25 - key: MALFORMED_VAR2
26 value: "$NO_BRACES"
27
28 - key: EMPTY_VAR_NAME
29 value: "${}"
30
31 - key: NUMERIC_VAR
32 value: "${123}"
33
34 - key: SPECIAL_VAR_NAME
35 value: "${VAR-WITH-DASHES}"
36
37 - key: WHITESPACE_VAR
38 value: "${ PADDED }"
39
40 rewrite:
41 - key: VAR_IN_MATCH
42 match: "${LEVEL}" # Variable in match pattern
43 value: "Matched level"
44
45 - key: RECURSIVE_VAR
46 value: "${VAR_IN_MATCH}"
47 inject: yes
48
49 - key: CONDITIONAL_VAR
50 match: "ERROR"
51 value: "Error: ${MESSAGE}"
52
53 - key: DEFAULT_VALUE
54 value: "${MISSING:-default value}"
55 inject: yes
56
57 - key: CHAINED_VARS
58 value: "${A}${B}${C}${D}${E}"
59 inject: yes
60
61 rename:
62 - old_key: "${LEVEL}_KEY" # Variable in key name
63 new_key: "LEVEL_KEY"
64
65 - old_key: "OLD_${UNDEFINED}"
66 new_key: "NEW_KEY"
67
68 filter:
69 include: ".*" # Include all keys to actually test variable substitution
70 exclude: "^$"
71
72 unmatched:
73 key: "UNMATCHED_${LEVEL}"
74 inject:
75 - key: "ERROR_${LEVEL}"
76 value: "Failed to parse ${LINE}"