summaryrefslogtreecommitdiffstats
path: root/tests/value/reverse.testscript
blob: ee4022decdd7066c165355fcaa13584c867fc072 (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# file      : tests/value/reverse.testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

# Test reversal to canonical/original representation.
#

.include ../common.testscript

: name
:
{
  : dir
  :
  $* <<EOI >>EOO
  x = s/foo/bar/
  print ([string] $x)
  print "$x"
  print -e=$x
  EOI
  s/foo/bar/
  s/foo/bar/
  -e=s/foo/bar/
  EOO

  : proj
  :
  $* <<EOI >>EOO
  print ([strings] foo%bar foo% %bar)
  EOI
  foo%bar foo% %bar
  EOO

  : pair
  :
  $* <<EOI >>EOO
  print ([strings] foo@bar foo/@bar/ foo@ @bar @ "@@")
  EOI
  foo@bar foo/@bar/ foo@ @bar @ @@
  EOO

  : proj-pair
  :
  $* <<EOI >>EOO
  print ([strings] xx%foo@yy%bar xx%foo/@yy%bar/)
  EOI
  xx%foo@yy%bar xx%foo/@yy%bar/
  EOO

  : invalid
  :
  : We should be able to represent an invalid name provided it is quoted.
  :
  $* <<EOI >>EOO
  print ([strings] "pkcs11:object=SIGN%20key")
  EOI
  pkcs11:object=SIGN%20key
  EOO
}

: dir-path
:
{
  : rel
  :
  $* <<EOI >>"EOO"
  x = [dir_path] foo/bar/
  print ([string] $x)
  print "$x"
  print "-I$x"
  EOI
  foo/bar/
  foo/bar
  -Ifoo/bar
  EOO

  : root
  :
  if ($cxx.target.class != 'windows')
  {
    $* <<EOI >>EOO
    x = [dir_path] /
    print ([string] $x)
    print "$x"
    print "-I$x"
    EOI
    /
    /
    -I/
    EOO
  }
}