summaryrefslogtreecommitdiff
path: root/external/contributions/Google/sputnik_conformance_modified/09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T2.js
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputnik_conformance_modified/09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T2.js')
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T2.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/external/contributions/Google/sputnik_conformance_modified/09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T2.js b/external/contributions/Google/sputnik_conformance_modified/09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T2.js
new file mode 100644
index 000000000..3bc097a3b
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/09_Type_Conversion/9.5_ToInt32/S9.5_A2.3_T2.js
@@ -0,0 +1,39 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S9.5_A2.3_T2;
+ * @section: 9.5, 11.4.8;
+ * @assertion: If result is greater than or equal to 2^31, return result -2^32;
+ * @description: Use operator ~;
+*/
+
+// CHECK#1
+if (~2147483647 !== -2147483648) {
+ $ERROR('#1: ~2147483647 ==== -2147483648)');
+}
+
+// CHECK#2
+if (~2147483648 !== ~-2147483648) {
+ $ERROR('#2: ~2147483648 ==== ~-2147483648)');
+}
+
+// CHECK#3
+if (~2147483649 !== ~-2147483647) {
+ $ERROR('#3: ~2147483649 ==== ~-2147483647)');
+}
+
+// CHECK#4
+if (~4294967295 !== ~-1) {
+ $ERROR('#4: ~4294967295 ==== ~-1)');
+}
+
+// CHECK#5
+if (~4294967296 !== ~0) {
+ $ERROR('#5: ~4294967296 ==== ~0)');
+}
+
+// CHECK#6
+if (~4294967297 !== ~1) {
+ $ERROR('#6: ~4294967297 ==== ~1)');
+}