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

Unified Diff: test/codegen/expect/language/osr_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
Index: test/codegen/expect/language/osr_test.js
diff --git a/test/codegen/expect/language/osr_test.js b/test/codegen/expect/language/osr_test.js
new file mode 100644
index 0000000000000000000000000000000000000000..3de8efd2d79937e33efb0dc206a30b4467a4d707
--- /dev/null
+++ b/test/codegen/expect/language/osr_test.js
@@ -0,0 +1,118 @@
+dart_library.library('language/osr_test', null, /* Imports */[
+ 'dart_sdk'
+], function load__osr_test(exports, dart_sdk) {
+ 'use strict';
+ const core = dart_sdk.core;
+ const collection = dart_sdk.collection;
+ const dart = dart_sdk.dart;
+ const dartx = dart_sdk.dartx;
+ const osr_test = Object.create(null);
+ let MyList = () => (MyList = dart.constFn(osr_test.MyList$()))();
+ let __ToList = () => (__ToList = dart.constFn(dart.functionType(core.List, [], [core.int])))();
+ let __ToList$ = () => (__ToList$ = dart.constFn(dart.definiteFunctionType(core.List, [], [core.int])))();
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
+ let FnTodynamic = () => (FnTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [__ToList()])))();
+ let dynamicAnddynamicToint = () => (dynamicAnddynamicToint = dart.constFn(dart.definiteFunctionType(core.int, [dart.dynamic, dart.dynamic])))();
+ let intAndintTovoid = () => (intAndintTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.int, core.int])))();
+ let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
+ let intTovoid = () => (intTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.int])))();
+ osr_test.create = function(length) {
+ if (length === void 0) length = null;
+ return new osr_test.MyList(length);
+ };
+ dart.fn(osr_test.create, __ToList$());
+ osr_test.main = function() {
+ osr_test.test(osr_test.create);
+ };
+ dart.fn(osr_test.main, VoidTodynamic());
+ const _list = Symbol('_list');
+ osr_test.MyList$ = dart.generic(E => {
+ let ListOfE = () => (ListOfE = dart.constFn(core.List$(E)))();
+ class MyList extends collection.ListBase$(E) {
+ new(length) {
+ if (length === void 0) length = null;
+ this[_list] = length == null ? ListOfE().new() : ListOfE().new(length);
+ }
+ get(index) {
+ return this[_list][dartx.get](index);
+ }
+ set(index, value) {
+ E._check(value);
+ this[_list][dartx.set](index, value);
+ return value;
+ }
+ get length() {
+ return this[_list][dartx.length];
+ }
+ set length(newLength) {
+ this[_list][dartx.length] = newLength;
+ }
+ }
+ dart.setSignature(MyList, {
+ constructors: () => ({new: dart.definiteFunctionType(osr_test.MyList$(E), [], [core.int])}),
+ methods: () => ({
+ get: dart.definiteFunctionType(E, [core.int]),
+ set: dart.definiteFunctionType(dart.void, [core.int, E])
+ })
+ });
+ dart.defineExtensionMembers(MyList, ['get', 'set', 'length', 'length']);
+ return MyList;
+ });
+ osr_test.MyList = MyList();
+ osr_test.test = function(create) {
+ osr_test.sort_A01_t02_test(create);
+ };
+ dart.fn(osr_test.test, FnTodynamic());
+ osr_test.sort_A01_t02_test = function(create) {
+ function c(a, b) {
+ return dart.test(dart.dsend(a, '<', b)) ? -1 : dart.equals(a, b) ? 0 : 1;
+ }
+ dart.fn(c, dynamicAnddynamicToint());
+ let maxlen = 7;
+ let prevLength = 0;
+ for (let length = 1; length < maxlen; ++length) {
+ if (prevLength == length) {
+ dart.throw("No progress made");
+ }
+ prevLength = length;
+ let a = create(length);
+ let expected = create(length);
+ for (let i = 0; i < length; ++i) {
+ expected[dartx.set](i, i);
+ a[dartx.set](i, i);
+ }
+ function swap(i, j) {
+ let t = a[dartx.get](i);
+ a[dartx.set](i, a[dartx.get](j));
+ a[dartx.set](j, t);
+ }
+ dart.fn(swap, intAndintTovoid());
+ function check() {
+ return;
+ let a_copy = core.List.new(length);
+ a_copy[dartx.setRange](0, length, a);
+ a_copy[dartx.sort](c);
+ }
+ dart.fn(check, VoidTovoid());
+ function permute(n) {
+ if (n == 1) {
+ check();
+ } else {
+ for (let i = 0; i < dart.notNull(n); i++) {
+ permute(dart.notNull(n) - 1);
+ if (n[dartx['%']](2) == 1) {
+ swap(0, dart.notNull(n) - 1);
+ } else {
+ swap(i, dart.notNull(n) - 1);
+ }
+ }
+ }
+ }
+ dart.fn(permute, intTovoid());
+ permute(length);
+ }
+ };
+ dart.fn(osr_test.sort_A01_t02_test, FnTodynamic());
+ // Exports:
+ exports.osr_test = osr_test;
+});
« no previous file with comments | « test/codegen/expect/language/ordered_maps_test.js ('k') | test/codegen/expect/language/overridden_no_such_method_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698