mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 23:49:47 +00:00
3414b51675
Change-Id: I71947bc5726f168fc036a7fece8a3b6b7bf964f5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134224 Auto-Submit: Bob Nystrom <rnystrom@google.com> Commit-Queue: Erik Ernst <eernst@google.com> Reviewed-by: Erik Ernst <eernst@google.com>
97 lines
2 KiB
Dart
97 lines
2 KiB
Dart
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
// Dart test program for testing assign operators.
|
|
// VMOptions=--optimization-counter-threshold=10 --no-background-compilation
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
class AssignOpTest {
|
|
AssignOpTest() {}
|
|
|
|
static testMain() {
|
|
var b = 0;
|
|
b += 1;
|
|
Expect.equals(1, b);
|
|
b *= 5;
|
|
Expect.equals(5, b);
|
|
b -= 1;
|
|
Expect.equals(4, b);
|
|
b ~/= 2;
|
|
Expect.equals(2, b);
|
|
|
|
f = 0;
|
|
f += 1;
|
|
Expect.equals(1, f);
|
|
f *= 5;
|
|
Expect.equals(5, f);
|
|
f -= 1;
|
|
Expect.equals(4, f);
|
|
f ~/= 2;
|
|
Expect.equals(2, f);
|
|
f /= 4;
|
|
Expect.equals(.5, f);
|
|
|
|
AssignOpTest.f = 0;
|
|
AssignOpTest.f += 1;
|
|
Expect.equals(1, AssignOpTest.f);
|
|
AssignOpTest.f *= 5;
|
|
Expect.equals(5, AssignOpTest.f);
|
|
AssignOpTest.f -= 1;
|
|
Expect.equals(4, AssignOpTest.f);
|
|
AssignOpTest.f ~/= 2;
|
|
Expect.equals(2, AssignOpTest.f);
|
|
AssignOpTest.f /= 4;
|
|
Expect.equals(.5, f);
|
|
|
|
var o = new AssignOpTest();
|
|
o.instf = 0;
|
|
o.instf += 1;
|
|
Expect.equals(1, o.instf);
|
|
o.instf *= 5;
|
|
Expect.equals(5, o.instf);
|
|
o.instf -= 1;
|
|
Expect.equals(4, o.instf);
|
|
o.instf ~/= 2;
|
|
Expect.equals(2, o.instf);
|
|
o.instf /= 4;
|
|
Expect.equals(.5, o.instf);
|
|
|
|
var x = 0xFF;
|
|
x >>= 3;
|
|
Expect.equals(0x1F, x);
|
|
x <<= 3;
|
|
Expect.equals(0xF8, x);
|
|
x |= 0xF00;
|
|
Expect.equals(0xFF8, x);
|
|
x &= 0xF0;
|
|
Expect.equals(0xF0, x);
|
|
x ^= 0x11;
|
|
Expect.equals(0xE1, x);
|
|
|
|
var y = 100;
|
|
y += 1 << 3;
|
|
Expect.equals(108, y);
|
|
y *= 2 + 1;
|
|
Expect.equals(324, y);
|
|
y -= 3 - 2;
|
|
Expect.equals(323, y);
|
|
y += 3 * 4;
|
|
Expect.equals(335, y);
|
|
|
|
var a = [1, 2, 3];
|
|
var ix = 0;
|
|
a[ix] |= 12;
|
|
Expect.equals(13, a[ix]);
|
|
}
|
|
|
|
static var f;
|
|
var instf;
|
|
}
|
|
|
|
main() {
|
|
for (int i = 0; i < 20; i++) {
|
|
AssignOpTest.testMain();
|
|
}
|
|
}
|