diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-12-01 12:07:18 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-12-01 12:07:18 +0200 |
commit | 0ed86c76239d4f2904ea4ae1a77902a9e0db2a6d (patch) | |
tree | 5e8e1d43a0140f5739b21be7cbe120ebb9360d4f /old-tests/variable/type | |
parent | 12fc75188cc1f0a8c4c443c04e7a022131198c36 (diff) |
Move old tests to old-tests/
Diffstat (limited to 'old-tests/variable/type')
-rw-r--r-- | old-tests/variable/type/buildfile | 84 | ||||
-rw-r--r-- | old-tests/variable/type/test.out | 12 | ||||
-rwxr-xr-x | old-tests/variable/type/test.sh | 3 |
3 files changed, 99 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 + +./: diff --git a/old-tests/variable/type/test.out b/old-tests/variable/type/test.out new file mode 100644 index 0000000..5218221 --- /dev/null +++ b/old-tests/variable/type/test.out @@ -0,0 +1,12 @@ +foobarbaz +foobarbaz +0 0 0 +00 +2 +2 +2 +2 +0 +0 +0 +abc diff --git a/old-tests/variable/type/test.sh b/old-tests/variable/type/test.sh new file mode 100755 index 0000000..c745b76 --- /dev/null +++ b/old-tests/variable/type/test.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +b -q | diff --strip-trailing-cr -u test.out - |