summary refs log tree commit diff stats
path: root/tests/stdlib/tstrutils2.nim
blob: 881817f9043418fbd1d05ddd583db80bbb5d4e17 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import "$lib/.." / compiler/strutils2

block: # setLen
  var a = "abc"
  a.setLen 0
  a.setLen 3, isInit = false
  doAssert a[1] == 'b'
  a.setLen 0
  a.setLen 3, isInit = true
  doAssert a[1] == '\0'

block: # forceCopy
  var a: string
  a = "foo"
  shallow(a)
  var b: string
  b = a
  doAssert b[0].addr == a[0].addr
  var c: string
  c.forceCopy a
  doAssert c == a
  doAssert c[0].addr != a[0].addr

block: # toLowerAscii
  var a = "fooBAr"
  a.toLowerAscii
  doAssert a == "foobar"

block: # dataPointer
  var a: string
  discard a.dataPointer
  # doAssert a.dataPointer == nil # not guaranteed