summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/defalias.asm52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/defalias.asm b/test/defalias.asm
new file mode 100644
index 00000000..1641a1f1
--- /dev/null
+++ b/test/defalias.asm
@@ -0,0 +1,52 @@
+%defalias foo bar
+%ifdef foo
+ %error "foo should not be defined here!"
+%endif
+
+%define foo 33
+%ifndef foo
+ %error "foo should be defined here!"
+%endif
+%ifndef bar
+ %error "bar should be defined here!"
+%endif
+%if bar != 33
+ %error "bar should have the value 33 here"
+%endif
+
+%define bar 34
+%if foo != 34
+ %error "foo should have the value 34 here"
+%endif
+
+%undef foo
+%ifdef foo
+ %error "foo should not be defined here!"
+%endif
+%ifdef bar
+ %error "bar should not be defined here!"
+%endif
+
+%ifndefalias foo
+ %error "foo was removed as an alias!"
+%endif
+
+%define bar 35
+%if foo != 35
+ %error "foo should have the value 35 here"
+%endif
+
+%define foo 36
+%if bar != 36
+ %error "bar should have the value 36 here"
+%endif
+
+%undefalias foo
+%ifdef foo
+ %error "foo is still defined after %undefalias"
+%elifdefalias foo
+ %error "foo is undefined, but still an alias"
+%endif
+%ifndef bar
+ %error "bar disappeared after %undefalias foo"
+%endif