src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/edit/vars_test.elvts (about)

     1  ///////////
     2  # add-var #
     3  ///////////
     4  
     5  //each:add-var-in-global
     6  
     7  ~> add-var foo bar
     8  ~> put $foo
     9  ▶ bar
    10  
    11  ## name must be unqualified ##
    12  ~> add-var a:b ''
    13  Exception: bad value: name argument to edit:add-var must be unqualified variable name, but is a:b
    14    [tty]:1:1-14: add-var a:b ''
    15  
    16  ## bad type ##
    17  ~> add-var a~ ''
    18  Exception: wrong type: need !!eval.Callable, got string
    19    [tty]:1:1-13: add-var a~ ''
    20  
    21  ///////////
    22  # del-var #
    23  ///////////
    24  
    25  //each:del-var-in-global
    26  
    27  ~> var foo = bar
    28  ~> del-var foo
    29  ~> put $foo
    30  Compilation error: variable $foo not found
    31    [tty]:1:5-8: put $foo
    32  
    33  ## deleting a non-existent variable is not an error ##
    34  ~> del-var foo
    35  
    36  ## name must be unqualified ##
    37  ~> del-var a:b
    38  Exception: bad value: name argument to edit:del-var must be unqualified variable name, but is a:b
    39    [tty]:1:1-11: del-var a:b
    40  
    41  ////////////
    42  # add-vars #
    43  ////////////
    44  
    45  //each:add-vars-in-global
    46  
    47  ~> add-vars [&foo=bar]
    48  ~> put $foo
    49  ▶ bar
    50  ~> add-vars [&a=A &b=B]
    51  ~> put $a $b
    52  ▶ A
    53  ▶ B
    54  
    55  ## key must be string ##
    56  ~> add-vars [&[]='']
    57  Exception: bad value: key of argument to edit:add-vars must be string, but is list
    58    [tty]:1:1-17: add-vars [&[]='']
    59  
    60  ## name must be unqualified ##
    61  ~> add-vars [&a:b='']
    62  Exception: bad value: key of argument to edit:add-vars must be unqualified variable name, but is a:b
    63    [tty]:1:1-18: add-vars [&a:b='']
    64  
    65  ## bad type ##
    66  ~> add-vars [&a~='']
    67  Exception: wrong type: need !!eval.Callable, got string
    68    [tty]:1:1-17: add-vars [&a~='']
    69  
    70  ///////////
    71  # del-var #
    72  ///////////
    73  
    74  //each:del-vars-in-global
    75  
    76  ## ? ##
    77  ~> var a b c
    78  ~> del-vars [a b]
    79  ~> put $a
    80  Compilation error: variable $a not found
    81    [tty]:1:5-6: put $a
    82  ~> put $b
    83  Compilation error: variable $b not found
    84    [tty]:1:5-6: put $b
    85  ~> put $c
    86  ▶ $nil
    87  
    88  ## key must be string ##
    89  ~> del-vars [[]]
    90  Exception: bad value: element of argument to edit:del-vars must be string, but is list
    91    [tty]:1:1-13: del-vars [[]]
    92  
    93  ## name must be unqualified ##
    94  ~> del-vars [a:b]
    95  Exception: bad value: element of argument to edit:del-vars must be unqualified variable name, but is a:b
    96    [tty]:1:1-14: del-vars [a:b]