42 lines
1.6 KiB
Plaintext
42 lines
1.6 KiB
Plaintext
# Redefine the %{global:greeting} parameter of %{global:echo} before using it.
|
|
# The necessary expansion order was established in the test suite config
|
|
# (%{global:echo} before %{global:greeting}), and redefining the parameter
|
|
# doesn't change that expansion order. That order would be reversed if
|
|
# %{global:greeting} were handled as a new substitution, preventing full
|
|
# expansion.
|
|
#
|
|
# REDEFINE: %{global:greeting}=Hello
|
|
# RUN: %{global:echo}
|
|
# CHECK: GLOBAL: Hello World
|
|
|
|
# We can redefine the test suite config's substitutions multiple times. Again,
|
|
# the expansion order remains the same (%{global:echo} before %{global:greeting}
|
|
# before %{global:what}) but would be reversed if these were handled as new
|
|
# substitutions, preventing full expansion.
|
|
#
|
|
# REDEFINE: %{global:greeting}=Goodbye %{global:what}
|
|
# REDEFINE: %{global:what}=Sleep
|
|
# RUN: %{global:echo}
|
|
# CHECK: GLOBAL: Goodbye Sleep Sleep
|
|
|
|
# A new local substitution is prepended to the substitution list so that it can
|
|
# depend on all substitutions that were defined previously, including those from
|
|
# the test suite config.
|
|
#
|
|
# DEFINE: %{local:greeting}=Hey %{global:what}
|
|
# DEFINE: %{local:echo}=echo "LOCAL: %{local:greeting} %{global:what}"
|
|
# RUN: %{local:echo}
|
|
# CHECK: LOCAL: Hey Sleep Sleep
|
|
|
|
# As for substitutions from the test suite config, redefining local
|
|
# substitutions should not change the expansion order. Again, the expansion
|
|
# order would be reversed if these were instead handled as new substitutions,
|
|
# preventing full expansion.
|
|
#
|
|
# REDEFINE: %{local:greeting}=So Long %{global:what}
|
|
# REDEFINE: %{global:what}=World
|
|
# RUN: %{local:echo}
|
|
# CHECK: LOCAL: So Long World World
|
|
|
|
# CHECK: Passed: 1
|