Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(469)

Unified Diff: test/codegen/expect/language/equality_test.js

Issue 2128353002: Check in codegen test expectations. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/codegen/expect/language/enum_test.js ('k') | test/codegen/expect/language/error_stacktrace_test.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/codegen/expect/language/equality_test.js
diff --git a/test/codegen/expect/language/equality_test.js b/test/codegen/expect/language/equality_test.js
new file mode 100644
index 0000000000000000000000000000000000000000..9e07450799d9ec25e1ea1991ad03514994a49c98
--- /dev/null
+++ b/test/codegen/expect/language/equality_test.js
@@ -0,0 +1,108 @@
+dart_library.library('language/equality_test', null, /* Imports */[
+ 'dart_sdk',
+ 'expect'
+], function load__equality_test(exports, dart_sdk, expect) {
+ 'use strict';
+ const core = dart_sdk.core;
+ const dart = dart_sdk.dart;
+ const dartx = dart_sdk.dartx;
+ const expect$ = expect.expect;
+ const equality_test = Object.create(null);
+ let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
+ let VoidTobool = () => (VoidTobool = dart.constFn(dart.definiteFunctionType(core.bool, [])))();
+ const _result = Symbol('_result');
+ equality_test.A = class A extends core.Object {
+ new(result) {
+ this[_result] = result;
+ }
+ ['=='](x) {
+ return this[_result];
+ }
+ };
+ dart.setSignature(equality_test.A, {
+ constructors: () => ({new: dart.definiteFunctionType(equality_test.A, [core.bool])})
+ });
+ equality_test.opaque = function(x) {
+ return [x, 1, 'y'][dartx.get](0);
+ };
+ dart.fn(equality_test.opaque, dynamicTodynamic());
+ equality_test.Death = class Death extends core.Object {
+ ['=='](x) {
+ dart.throw('Dead!');
+ }
+ };
+ equality_test.death = function() {
+ return equality_test.opaque(new equality_test.Death());
+ };
+ dart.fn(equality_test.death, VoidTodynamic());
+ equality_test.nullFn = function() {
+ return equality_test.opaque(null);
+ };
+ dart.fn(equality_test.nullFn, VoidTodynamic());
+ equality_test.tests = function() {
+ let alwaysTrue = new equality_test.A(true);
+ let alwaysFalse = new equality_test.A(false);
+ expect$.Expect.isFalse(dart.equals(alwaysFalse, alwaysFalse));
+ expect$.Expect.isTrue(!dart.equals(alwaysFalse, alwaysFalse));
+ expect$.Expect.isTrue(dart.equals(alwaysTrue, alwaysTrue));
+ expect$.Expect.isTrue(dart.equals(alwaysTrue, 5));
+ expect$.Expect.isFalse(alwaysTrue == null);
+ expect$.Expect.isFalse(null == alwaysTrue);
+ expect$.Expect.isTrue(alwaysTrue != null);
+ expect$.Expect.isTrue(null != alwaysTrue);
+ expect$.Expect.isTrue(null == null);
+ expect$.Expect.isFalse(null != null);
+ expect$.Expect.throws(dart.fn(() => dart.equals(equality_test.death(), 5), VoidTobool()));
+ expect$.Expect.isFalse(dart.equals(equality_test.death(), equality_test.nullFn()));
+ expect$.Expect.isFalse(dart.equals(equality_test.nullFn(), equality_test.death()));
+ expect$.Expect.isTrue(dart.equals(equality_test.nullFn(), equality_test.nullFn()));
+ expect$.Expect.isTrue(!dart.equals(equality_test.death(), equality_test.nullFn()));
+ expect$.Expect.isTrue(!dart.equals(equality_test.nullFn(), equality_test.death()));
+ expect$.Expect.isFalse(!dart.equals(equality_test.nullFn(), equality_test.nullFn()));
+ if (dart.equals(equality_test.death(), equality_test.nullFn())) {
+ dart.throw("failed");
+ }
+ if (!dart.equals(equality_test.death(), equality_test.nullFn())) {
+ } else {
+ dart.throw("failed");
+ }
+ };
+ dart.fn(equality_test.tests, VoidTodynamic());
+ equality_test.boolEqualityPositiveA = function(a) {
+ return dart.equals(a, true);
+ };
+ dart.fn(equality_test.boolEqualityPositiveA, dynamicTodynamic());
+ equality_test.boolEqualityNegativeA = function(a) {
+ return !dart.equals(a, true);
+ };
+ dart.fn(equality_test.boolEqualityNegativeA, dynamicTodynamic());
+ equality_test.boolEqualityPositiveB = function(a) {
+ return dart.equals(true, a);
+ };
+ dart.fn(equality_test.boolEqualityPositiveB, dynamicTodynamic());
+ equality_test.boolEqualityNegativeB = function(a) {
+ return !dart.equals(true, a);
+ };
+ dart.fn(equality_test.boolEqualityNegativeB, dynamicTodynamic());
+ equality_test.main = function() {
+ for (let i = 0; i < 20; i++) {
+ equality_test.tests();
+ expect$.Expect.isTrue(equality_test.boolEqualityPositiveA(true));
+ expect$.Expect.isFalse(equality_test.boolEqualityPositiveA(false));
+ expect$.Expect.isFalse(equality_test.boolEqualityNegativeA(true));
+ expect$.Expect.isTrue(equality_test.boolEqualityNegativeA(false));
+ expect$.Expect.isTrue(equality_test.boolEqualityPositiveB(true));
+ expect$.Expect.isFalse(equality_test.boolEqualityPositiveB(false));
+ expect$.Expect.isFalse(equality_test.boolEqualityNegativeB(true));
+ expect$.Expect.isTrue(equality_test.boolEqualityNegativeB(false));
+ }
+ expect$.Expect.isFalse(equality_test.boolEqualityPositiveA(1));
+ expect$.Expect.isTrue(equality_test.boolEqualityNegativeA("hi"));
+ expect$.Expect.isFalse(equality_test.boolEqualityPositiveB(2.0));
+ expect$.Expect.isTrue(equality_test.boolEqualityNegativeB([]));
+ };
+ dart.fn(equality_test.main, VoidTodynamic());
+ // Exports:
+ exports.equality_test = equality_test;
+});
« no previous file with comments | « test/codegen/expect/language/enum_test.js ('k') | test/codegen/expect/language/error_stacktrace_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698