This repository has been archived on 2024-02-27. You can view files and clone it, but cannot push or open issues or pull requests.
arf/parser/func_test.go

111 lines
1.7 KiB
Go
Raw Normal View History

2022-08-25 14:08:18 -06:00
package parser
import "testing"
2022-08-25 18:01:12 -06:00
func TestFunc (test *testing.T) {
2022-09-05 12:52:37 -06:00
checkTree ("../tests/parser/func", false,
2022-08-25 14:08:18 -06:00
`:arf
---
func ro aBasicExternal
> someInput:Int:mut
2022-09-17 10:07:39 -06:00
< someOutput:Int:<4>
2022-08-25 14:08:18 -06:00
---
external
func ro bMethod
@ bird:{Bird}
> someInput:Int:mut
2022-09-17 10:07:39 -06:00
< someOutput:Int:<4>
2022-08-25 14:08:18 -06:00
---
external
func ro cBasicPhrases
---
2022-09-03 18:07:25 -06:00
[fn 329 983 7]
[fn 329 983 7]
[fn 329 983 57]
[fn [gn 329 983 57] 123]
2022-08-25 14:08:18 -06:00
func ro dArgumentTypes
---
[bird tree butterfly.wing "hello world" grass:Int:8:mut]
2022-08-25 14:08:18 -06:00
func ro eMath
> x:Int
> y:Int
< z:Int
---
2022-08-25 14:08:18 -06:00
[++ x]
[-- y]
2022-09-03 18:32:27 -06:00
[= z [+ [* 250 0] 98 x [/ 9832 y] 930]]
[== 4 4]
2022-08-25 14:08:18 -06:00
[! true]
2022-09-03 18:07:25 -06:00
[~ 1]
[~= x]
2022-08-25 14:08:18 -06:00
[% 873 32]
[= 5 5]
2022-08-25 14:08:18 -06:00
[!= 4 4]
[<= 4 98]
[< 4 98]
2022-09-03 18:07:25 -06:00
[<< 15 4]
[<<= x 4]
[>= 98 4]
[> 98 4]
2022-09-03 18:07:25 -06:00
[>> 240 4]
[>>= x 4]
[| 1 2]
[|= x 2]
[& 6 3]
[&= x 3]
2022-08-25 14:08:18 -06:00
[&& true true]
[|| true false]
func ro fReturnDirection
< err:Error
---
[someFunc 498 2980 90] -> thing:Int err
[otherFunc] -> thing err:Error
2022-09-03 18:07:25 -06:00
[fn 329 983 57] -> thing:Int err
2022-08-25 14:08:18 -06:00
func ro gControlFlow
---
2022-09-03 18:07:25 -06:00
[defer]
[something]
[otherThing]
2022-08-25 14:08:18 -06:00
[if condition]
[something]
[if condition]
[something]
[elseif]
[otherThing]
[else]
[finalThing]
[while [< x 432]]
[something]
[switch value]
[: 324]
[something]
[: 93284]
2022-09-03 18:07:25 -06:00
[otherThing]
2022-08-25 14:08:18 -06:00
[: 9128 34738 7328]
2022-09-03 18:07:25 -06:00
[multipleCases]
2022-08-25 14:08:18 -06:00
[:]
[defaultThing]
[for index:Size element:Int someArray]
[something]
[someNextThing]
[justMakingSureBlockParsingWorks]
[if condition]
[if condition]
[nestedThing]
[else]
[otherThing]
[else]
[if condition]
[nestedThing]
[else]
[otherThing]
2022-09-03 18:07:25 -06:00
func ro hSetPhrase
2022-08-25 14:08:18 -06:00
---
2022-09-17 10:07:39 -06:00
let x:Int:<3>
let y:{Int}:<[loc x]>
let z:Int:8:<398 9 2309 983 -2387 478 555 123>
let bird:Bird:(.that:(.whenYou:<99999>) .this:<324>)
2022-08-25 14:08:18 -06:00
`, test)
}