diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2020-11-02 19:23:18 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2020-11-03 21:05:20 +0200 |
commit | 9d1e747d17c75a288d0b58a8ac973dab1712afbf (patch) | |
tree | 15dedfab78da4ad20ce272e65d7a7876ae717181 /test cases/common/85 plusassign | |
parent | ff50f724bbf49739abbee9cbb4c8e6200849738f (diff) | |
download | meson-9d1e747d17c75a288d0b58a8ac973dab1712afbf.zip meson-9d1e747d17c75a288d0b58a8ac973dab1712afbf.tar.gz meson-9d1e747d17c75a288d0b58a8ac973dab1712afbf.tar.bz2 |
Condense test directory names again.
Diffstat (limited to 'test cases/common/85 plusassign')
-rw-r--r-- | test cases/common/85 plusassign/meson.build | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/test cases/common/85 plusassign/meson.build b/test cases/common/85 plusassign/meson.build new file mode 100644 index 0000000..ac477e7 --- /dev/null +++ b/test cases/common/85 plusassign/meson.build @@ -0,0 +1,70 @@ +project('plusassign', 'c') + +x = [] + +x += 'a' + +if x.length() != 1 + error('Incorrect append') +endif + +if x[0] != 'a' + error('Incorrect append 2.') +endif + +y = x + +x += 'b' + +if y.length() != 1 + error('Immutability broken.') +endif + +if y[0] != 'a' + error('Immutability broken 2.') +endif + +if x.length() != 2 + error('Incorrect append 3') +endif + +if x[0] != 'a' + error('Incorrect append 4.') +endif + +if x[1] != 'b' + error('Incorrect append 5.') +endif + +# Now with evil added: append yourself. + +x += x + +if x.length() != 4 + error('Incorrect selfappend.') +endif + +# += on strings + +bra = 'bra' +foo = 'A' +foo += bra +foo += 'cada' +foo += bra +assert (foo == 'Abracadabra', 'string += failure [@0@]'.format(foo)) +assert (bra == 'bra', 'string += modified right argument!') +foo += ' ' + foo +assert (foo == 'Abracadabra Abracadabra', 'string += failure [@0@]'.format(foo)) + +# += on ints + +foo = 5 +foo += 6 +assert (foo == 11, 'int += failure [@0@]'.format(foo)) +bar = 99 +foo += bar +assert (foo == 110, 'int += failure [@0@]'.format(foo)) +assert (bar == 99, 'int += modified right argument"') +bar += foo + 1 +assert (bar == 210, 'int += failure [@0@]'.format(bar)) +assert (foo == 110, 'int += modified right argument"') |