aboutsummaryrefslogtreecommitdiff
path: root/old-tests/variable/type/buildfile
diff options
context:
space:
mode:
Diffstat (limited to 'old-tests/variable/type/buildfile')
-rw-r--r--old-tests/variable/type/buildfile84
1 files changed, 84 insertions, 0 deletions
diff --git a/old-tests/variable/type/buildfile b/old-tests/variable/type/buildfile
new file mode 100644
index 0000000..a22cddd
--- /dev/null
+++ b/old-tests/variable/type/buildfile
@@ -0,0 +1,84 @@
+# Variable typing.
+#
+
+#[string] str3 = foo
+#[bool] str3 = false # error: changing str3 type from string to bool
+
+#[bool string] str3 = foo # error: multiple variable types: bool, string
+
+#[junk] jnk = foo # error: unknown variable attribute junk
+
+[string] str1 = bar
+str1 =+ foo
+str1 += baz
+print $str1
+
+str2 = bar
+[string] str2 =+ foo
+str2 += baz
+print $str2
+
+# Value typing.
+#
+
+#v = [bool string] true # error: multiple value types: string, bool
+#v = [string=junk] true # error: unexpected value for attribute string: junk
+
+#[string] var =
+#var = [bool] true # error: confliction variable var type string and value type bool
+
+#var = [string] false
+#var += [bool] true # error: confliction original value type string and append/prepend value type bool
+
+v1a = [uint64] 00
+v1b += [uint64] 00
+v1c =+ [uint64] 00
+print $v1a $v1b $v1c # 0 0 0
+
+v2 = [uint64] 00
+v2 = [string] 00
+print $v2 # 00
+
+#v3a = [uint64] 00
+#v3a += [string] 00 # error: confliction original value type uint64 and append/prepend value type string
+
+#v3b = [uint64] 00
+#v3b =+ [string] 00 # error: confliction original value type uint64 and append/prepend value type string
+
+v4a = 01
+v4a += [uint64] 01
+print $v4a # 2
+
+v4b = 01
+v4b =+ [uint64] 01
+print $v4b # 2
+
+v5a = 01
+sub/:
+{
+ v5a += [uint64] 01
+ print $v5a # 2
+}
+
+v5b = 01
+sub/:
+{
+ v5b =+ [uint64] 01
+ print $v5b # 2
+}
+
+v6 = [uint64 null]
+v6 += 00
+print $v6 # 0
+
+v7 = [string null]
+v7 += [uint64] 00
+print $v7 # 0
+
+print [uint64] 00 # 0
+
+v8 = [uint64] 01
+v8 = abc
+print $v8 # abc
+
+./: