diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-02-04 23:28:50 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-02-04 23:28:50 -0800 |
commit | ee50fd157c110c9febdd7676ae3e615a7598579d (patch) | |
tree | c5ce808acf0f97af8f03793f81c65545bced6d66 /mu.arc.t | |
parent | 22a3a0073c0c8ebecf7607a6cbbb14729edb5c51 (diff) | |
download | mu-ee50fd157c110c9febdd7676ae3e615a7598579d.tar.gz |
706
Diffstat (limited to 'mu.arc.t')
-rw-r--r-- | mu.arc.t | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/mu.arc.t b/mu.arc.t index a1fd7b3f..f529f72e 100644 --- a/mu.arc.t +++ b/mu.arc.t @@ -4000,6 +4000,89 @@ (prn "F - 'new' initializes allocated memory to string literal")))) (reset) +(new-trace "string-equal") +(add-code + '((function main [ + (1:string-address <- new "hello") + (2:string-address <- new "hello") + (3:boolean <- string-equal 1:string-address 2:string-address) + ]))) +(run 'main) +(when (~iso memory*.3 t) + (prn "F - 'string-equal'")) + +(reset) +(new-trace "string-equal-empty") +(add-code + '((function main [ + (1:string-address <- new "") + (2:string-address <- new "") + (3:boolean <- string-equal 1:string-address 2:string-address) + ]))) +(run 'main) +(when (~iso memory*.3 t) + (prn "F - 'string-equal' works on empty strings")) + +(reset) +(new-trace "string-equal-compare-with-empty") +(add-code + '((function main [ + (1:string-address <- new "a") + (2:string-address <- new "") + (3:boolean <- string-equal 1:string-address 2:string-address) + ]))) +(run 'main) +(when (~iso memory*.3 nil) + (prn "F - 'string-equal' compares correctly with empty strings")) + +(reset) +(new-trace "string-equal-compares-length") +(add-code + '((function main [ + (1:string-address <- new "a") + (2:string-address <- new "ab") + (3:boolean <- string-equal 1:string-address 2:string-address) + ]))) +(run 'main) +(when (~iso memory*.3 nil) + (prn "F - 'string-equal' handles differing lengths")) + +(reset) +(new-trace "string-equal-compares-initial-element") +(add-code + '((function main [ + (1:string-address <- new "aa") + (2:string-address <- new "ba") + (3:boolean <- string-equal 1:string-address 2:string-address) + ]))) +(run 'main) +(when (~iso memory*.3 nil) + (prn "F - 'string-equal' handles inequal final byte")) + +(reset) +(new-trace "string-equal-compares-final-element") +(add-code + '((function main [ + (1:string-address <- new "ab") + (2:string-address <- new "aa") + (3:boolean <- string-equal 1:string-address 2:string-address) + ]))) +(run 'main) +(when (~iso memory*.3 nil) + (prn "F - 'string-equal' handles inequal final byte")) + +(reset) +(new-trace "string-equal-reflexive") +(add-code + '((function main [ + (1:string-address <- new "ab") + (3:boolean <- string-equal 1:string-address 1:string-address) + ]))) +(run 'main) +(when (~iso memory*.3 t) + (prn "F - 'string-equal' handles identical pointer")) + +(reset) (new-trace "strcat") (add-code '((function main [ |