diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_default.xml b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.xml
new file mode 100644
index 000000000..b6a176d01
--- /dev/null
+++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.xml
@@ -0,0 +1,20 @@
+
+
+
+ <!-- Managed by Jenkins Job Builder -->
+ false
+ false
+ false
+ false
+ true
+
+
+
+
+ echo {timer}
+
+
+
+
+
+
diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_default.yaml b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.yaml
new file mode 100644
index 000000000..f875c5752
--- /dev/null
+++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_default.yaml
@@ -0,0 +1,13 @@
+# Attempt to use same parameter name in it's value leads to value with format string.
+
+- job-template:
+ name: sample-job
+ timer: '{timer}'
+ builders:
+ - shell: |
+ echo {timer}
+
+- project:
+ name: sample-project
+ jobs:
+ - sample-job
diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.xml b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.xml
new file mode 100644
index 000000000..b1183307a
--- /dev/null
+++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.xml
@@ -0,0 +1,20 @@
+
+
+
+ <!-- Managed by Jenkins Job Builder -->
+ false
+ false
+ false
+ false
+ true
+
+
+
+
+ echo {param}-a-a
+
+
+
+
+
+
diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.yaml b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.yaml
new file mode 100644
index 000000000..e6b5f2574
--- /dev/null
+++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_group_override.yaml
@@ -0,0 +1,22 @@
+# Override parameter value while reusing it's name in value
+# This leads to incorrect parameter expansion:
+# Result is '{param}-a-a'.
+
+- job-template:
+ name: sample-job
+ param: '{param}-b'
+ builders:
+ - shell: |
+ echo {param}
+
+- job-group:
+ name: sample-group
+ jobs:
+ - sample-job:
+ param: '{param}-a'
+
+- project:
+ name: sample-project
+ param: value
+ jobs:
+ - sample-group
diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_override.xml b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.xml
new file mode 100644
index 000000000..809344511
--- /dev/null
+++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.xml
@@ -0,0 +1,20 @@
+
+
+
+ <!-- Managed by Jenkins Job Builder -->
+ false
+ false
+ false
+ false
+ true
+
+
+
+
+ echo value
+
+
+
+
+
+
diff --git a/tests/yamlparser/job_fixtures/parameter_name_reuse_override.yaml b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.yaml
new file mode 100644
index 000000000..fb614d06e
--- /dev/null
+++ b/tests/yamlparser/job_fixtures/parameter_name_reuse_override.yaml
@@ -0,0 +1,14 @@
+# Override parameter value while reusing it's name in value
+
+- job-template:
+ name: sample-job
+ param: '{param}-b'
+ builders:
+ - shell: |
+ echo {param}
+
+- project:
+ name: sample-project
+ param: value
+ jobs:
+ - sample-job