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

Unified Diff: test/codegen/expect/lib/convert/json_chunk_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/lib/convert/json_chunk_test.js
diff --git a/test/codegen/expect/lib/convert/json_chunk_test.js b/test/codegen/expect/lib/convert/json_chunk_test.js
new file mode 100644
index 0000000000000000000000000000000000000000..778e7b27fa240994292cbe22feab0f27c6630ad0
--- /dev/null
+++ b/test/codegen/expect/lib/convert/json_chunk_test.js
@@ -0,0 +1,190 @@
+dart_library.library('lib/convert/json_chunk_test', null, /* Imports */[
+ 'dart_sdk',
+ 'expect'
+], function load__json_chunk_test(exports, dart_sdk, expect) {
+ 'use strict';
+ const core = dart_sdk.core;
+ const convert = dart_sdk.convert;
+ const _interceptors = dart_sdk._interceptors;
+ const dart = dart_sdk.dart;
+ const dartx = dart_sdk.dartx;
+ const expect$ = expect.expect;
+ const json_chunk_test = Object.create(null);
+ let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.functionType(dart.dynamic, [dart.dynamic])))();
+ let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))();
+ let JSArrayOfbool = () => (JSArrayOfbool = dart.constFn(_interceptors.JSArray$(core.bool)))();
+ let dynamicTobool = () => (dynamicTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))();
+ let ListTovoid = () => (ListTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.List])))();
+ let dynamicAnddynamicAndFnTodynamic = () => (dynamicAnddynamicAndFnTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic, dynamicTodynamic()])))();
+ let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
+ let dynamicAndFnTodynamic = () => (dynamicAndFnTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dynamicTodynamic()])))();
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
+ let dynamicTodynamic$ = () => (dynamicTodynamic$ = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
+ let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic])))();
+ json_chunk_test.badFormat = function(e) {
+ return core.FormatException.is(e);
+ };
+ dart.fn(json_chunk_test.badFormat, dynamicTobool());
+ json_chunk_test.jsonTest = function(testName, expect, action) {
+ let sink = convert.ChunkedConversionSink.withCallback(dart.fn(values => {
+ let value = values[dartx.get](0);
+ expect$.Expect.equals(expect, value, dart.str`${testName}:${value}`);
+ }, ListTovoid()));
+ let decoderSink = convert.JSON.decoder.startChunkedConversion(sink);
+ dart.dcall(action, decoderSink);
+ };
+ dart.fn(json_chunk_test.jsonTest, dynamicAnddynamicAndFnTodynamic());
+ json_chunk_test.jsonThrowsTest = function(testName, action) {
+ let sink = convert.ChunkedConversionSink.withCallback(dart.fn(values => {
+ expect$.Expect.fail(dart.str`Should have thrown: ${testName}`);
+ }, ListTovoid()));
+ let decoderSink = convert.JSON.decoder.startChunkedConversion(sink);
+ expect$.Expect.throws(dart.fn(() => {
+ dart.dcall(action, decoderSink);
+ }, VoidTovoid()), dart.fn(e => core.FormatException.is(e), dynamicTobool()), core.String._check(testName));
+ };
+ dart.fn(json_chunk_test.jsonThrowsTest, dynamicAndFnTodynamic());
+ json_chunk_test.main = function() {
+ json_chunk_test.testNumbers();
+ json_chunk_test.testStrings();
+ json_chunk_test.testKeywords();
+ };
+ dart.fn(json_chunk_test.main, VoidTodynamic());
+ json_chunk_test.testStrings = function() {
+ let s = '"abc\\f\\n\\r\\t\\b\\"\\/\\\\\\u0001\\u9999\\uffff"';
+ let expected = "abc\f\n\r\t\b\"/\\香￿";
+ for (let i = 1; i < dart.notNull(s[dartx.length]) - 1; i++) {
+ let s1 = s[dartx.substring](0, i);
+ let s2 = s[dartx.substring](i);
+ json_chunk_test.jsonTest(dart.str`${s1}|${s2}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'add', s1);
+ dart.dsend(sink, 'add', s2);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ json_chunk_test.jsonTest(dart.str`${s1}|${s2}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'addSlice', s, 0, i, false);
+ dart.dsend(sink, 'addSlice', s, i, s[dartx.length], true);
+ }, dynamicTodynamic$()));
+ for (let j = i; j < dart.notNull(s[dartx.length]) - 1; j++) {
+ let s2a = s[dartx.substring](i, j);
+ let s2b = s[dartx.substring](j);
+ json_chunk_test.jsonTest(dart.str`${s1}|${s2a}|${s2b}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'add', s1);
+ dart.dsend(sink, 'add', s2a);
+ dart.dsend(sink, 'add', s2b);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ }
+ }
+ };
+ dart.fn(json_chunk_test.testStrings, VoidTovoid());
+ json_chunk_test.testNumbers = function() {
+ function testNumber(number) {
+ let expected = core.num.parse(core.String._check(number));
+ for (let i = 1; i < dart.notNull(core.num._check(dart.dsend(dart.dload(number, 'length'), '-', 1))); i++) {
+ let p1 = dart.dsend(number, 'substring', 0, i);
+ let p2 = dart.dsend(number, 'substring', i);
+ json_chunk_test.jsonTest(dart.str`${p1}|${p2}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'add', p1);
+ dart.dsend(sink, 'add', p2);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ json_chunk_test.jsonTest(dart.str`${p1}|${p2}/slice`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'addSlice', number, 0, i, false);
+ dart.dsend(sink, 'addSlice', number, i, dart.dload(number, 'length'), true);
+ }, dynamicTodynamic$()));
+ for (let j = i; j < dart.notNull(core.num._check(dart.dsend(dart.dload(number, 'length'), '-', 1))); j++) {
+ let p2a = dart.dsend(number, 'substring', i, j);
+ let p2b = dart.dsend(number, 'substring', j);
+ json_chunk_test.jsonTest(dart.str`${p1}|${p2a}|${p2b}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'add', p1);
+ dart.dsend(sink, 'add', p2a);
+ dart.dsend(sink, 'add', p2b);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ }
+ }
+ }
+ dart.fn(testNumber, dynamicTovoid());
+ for (let sign of JSArrayOfString().of(["-", ""])) {
+ for (let intPart of JSArrayOfString().of(["0", "1", "99"])) {
+ for (let decimalPoint of JSArrayOfString().of([".", ""])) {
+ for (let decimals of dart.test(decimalPoint[dartx.isEmpty]) ? JSArrayOfString().of([""]) : JSArrayOfString().of(["0", "99"])) {
+ for (let e of JSArrayOfString().of(["e", "e-", "e+", ""])) {
+ for (let exp of dart.test(e[dartx.isEmpty]) ? JSArrayOfString().of([""]) : JSArrayOfString().of(["0", "2", "22", "34"])) {
+ testNumber(dart.str`${sign}${intPart}${decimalPoint}${decimals}${e}${exp}`);
+ }
+ }
+ }
+ }
+ }
+ }
+ function negativeTest(number) {
+ for (let i = 1; i < dart.notNull(core.num._check(dart.dsend(dart.dload(number, 'length'), '-', 1))); i++) {
+ let p1 = dart.dsend(number, 'substring', 0, i);
+ let p2 = dart.dsend(number, 'substring', i);
+ json_chunk_test.jsonThrowsTest(dart.str`${p1}|${p2}`, dart.fn(sink => {
+ dart.dsend(sink, 'add', p1);
+ dart.dsend(sink, 'add', p2);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ json_chunk_test.jsonThrowsTest(dart.str`${p1}|${p2}/slice`, dart.fn(sink => {
+ dart.dsend(sink, 'addSlice', number, 0, i, false);
+ dart.dsend(sink, 'addSlice', number, i, dart.dload(number, 'length'), true);
+ }, dynamicTodynamic$()));
+ for (let j = i; j < dart.notNull(core.num._check(dart.dsend(dart.dload(number, 'length'), '-', 1))); j++) {
+ let p2a = dart.dsend(number, 'substring', i, j);
+ let p2b = dart.dsend(number, 'substring', j);
+ json_chunk_test.jsonThrowsTest(dart.str`${p1}|${p2a}|${p2b}`, dart.fn(sink => {
+ dart.dsend(sink, 'add', p1);
+ dart.dsend(sink, 'add', p2a);
+ dart.dsend(sink, 'add', p2b);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ }
+ }
+ }
+ dart.fn(negativeTest, dynamicTovoid());
+ negativeTest("+1e");
+ negativeTest("-00");
+ negativeTest("01");
+ negativeTest(".1");
+ negativeTest("0.");
+ negativeTest("0.e1");
+ negativeTest("1e");
+ negativeTest("1e+");
+ negativeTest("1e-");
+ };
+ dart.fn(json_chunk_test.testNumbers, VoidTovoid());
+ json_chunk_test.testKeywords = function() {
+ for (let expected of JSArrayOfbool().of([null, true, false])) {
+ let s = dart.str`${expected}`;
+ for (let i = 1; i < dart.notNull(s[dartx.length]) - 1; i++) {
+ let s1 = s[dartx.substring](0, i);
+ let s2 = s[dartx.substring](i);
+ json_chunk_test.jsonTest(dart.str`${s1}|${s2}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'add', s1);
+ dart.dsend(sink, 'add', s2);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ json_chunk_test.jsonTest(dart.str`${s1}|${s2}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'addSlice', s, 0, i, false);
+ dart.dsend(sink, 'addSlice', s, i, s[dartx.length], true);
+ }, dynamicTodynamic$()));
+ for (let j = i; j < dart.notNull(s[dartx.length]) - 1; j++) {
+ let s2a = s[dartx.substring](i, j);
+ let s2b = s[dartx.substring](j);
+ json_chunk_test.jsonTest(dart.str`${s1}|${s2a}|${s2b}`, expected, dart.fn(sink => {
+ dart.dsend(sink, 'add', s1);
+ dart.dsend(sink, 'add', s2a);
+ dart.dsend(sink, 'add', s2b);
+ dart.dsend(sink, 'close');
+ }, dynamicTodynamic$()));
+ }
+ }
+ }
+ };
+ dart.fn(json_chunk_test.testKeywords, VoidTovoid());
+ // Exports:
+ exports.json_chunk_test = json_chunk_test;
+});
« no previous file with comments | « test/codegen/expect/lib/convert/html_escape_test.js ('k') | test/codegen/expect/lib/convert/json_lib_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698