mirror of
https://github.com/facebookarchive/prepack.git
synced 2024-10-26 23:32:02 +03:00
5159b0d832
Summary: Currently we have a single giant file with all tests, and a giant snapshot. This is both slow, and hard to work with and iterate on. In this PR I will refactor our test setup. - [x] Split it up into multiple files (gets the test running from 45s to 27s) - [x] Run Prettier on test files - [x] Split tests further for better performance - [x] Make it possible to run one test file - [x] Fix the issue with double test re-runs in watch mode on changes in the test file - [x] Refactor error handling - [x] Run Prettier on fixtures - [x] Add a fast mode with `yarn test-react-fast <Filename>` - [x] Fix double reruns on failure Potential followups: - [x] Figure out why test interruption broke (need https://github.com/facebook/jest/issues/6599 and https://github.com/facebook/jest/issues/6598 fixed) - [x] Revisit weird things like `this['React']` assignment with a funny comment in every test Closes https://github.com/facebook/prepack/pull/2187 Differential Revision: D8713639 Pulled By: gaearon fbshipit-source-id: 5edbfa4e61610ecafff17c0e5e7f84d44cd51168
142 lines
2.9 KiB
JavaScript
142 lines
2.9 KiB
JavaScript
/**
|
|
* Copyright (c) 2017-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
/* @flow */
|
|
|
|
const fs = require("fs");
|
|
const setupReactTests = require("./setupReactTests");
|
|
const { runTest, stubReactRelay } = setupReactTests();
|
|
|
|
/* eslint-disable no-undef */
|
|
const { it } = global;
|
|
|
|
it("fb-www", () => {
|
|
stubReactRelay(() => {
|
|
runTest(__dirname + "/FBMocks/fb1.js");
|
|
});
|
|
});
|
|
|
|
it("fb-www 2", () => {
|
|
runTest(__dirname + "/FBMocks/fb2.js");
|
|
});
|
|
|
|
it("fb-www 3", () => {
|
|
stubReactRelay(() => {
|
|
runTest(__dirname + "/FBMocks/fb3.js");
|
|
});
|
|
});
|
|
|
|
it("fb-www 4", () => {
|
|
stubReactRelay(() => {
|
|
runTest(__dirname + "/FBMocks/fb4.js");
|
|
});
|
|
});
|
|
|
|
it("fb-www 5", () => {
|
|
runTest(__dirname + "/FBMocks/fb5.js");
|
|
});
|
|
|
|
it("fb-www 6", () => {
|
|
runTest(__dirname + "/FBMocks/fb6.js");
|
|
});
|
|
|
|
it("fb-www 7", () => {
|
|
runTest(__dirname + "/FBMocks/fb7.js");
|
|
});
|
|
|
|
it("fb-www 8", () => {
|
|
runTest(__dirname + "/FBMocks/fb8.js");
|
|
});
|
|
|
|
it("fb-www 9", () => {
|
|
runTest(__dirname + "/FBMocks/fb9.js");
|
|
});
|
|
|
|
it("fb-www 10", () => {
|
|
runTest(__dirname + "/FBMocks/fb10.js");
|
|
});
|
|
|
|
it("fb-www 11", () => {
|
|
runTest(__dirname + "/FBMocks/fb11.js");
|
|
});
|
|
|
|
it("fb-www 12", () => {
|
|
runTest(__dirname + "/FBMocks/fb12.js", {
|
|
expectReconcilerError: true,
|
|
});
|
|
});
|
|
|
|
it("fb-www 13", () => {
|
|
runTest(__dirname + "/FBMocks/fb13.js");
|
|
});
|
|
|
|
it("fb-www 14", () => {
|
|
runTest(__dirname + "/FBMocks/fb14.js");
|
|
});
|
|
|
|
it("fb-www 15", () => {
|
|
runTest(__dirname + "/FBMocks/fb15.js", {
|
|
expectReconcilerError: true,
|
|
});
|
|
});
|
|
|
|
it("fb-www 16", () => {
|
|
runTest(__dirname + "/FBMocks/fb16.js", {
|
|
expectReconcilerError: true,
|
|
});
|
|
});
|
|
|
|
it("fb-www 17", () => {
|
|
runTest(__dirname + "/FBMocks/fb17.js");
|
|
});
|
|
|
|
// Test fails for two reasons:
|
|
// - "uri.foo" on abstract string does not exist
|
|
// - unused.bar() does not exist (even if in try/catch)
|
|
it("fb-www 18", () => {
|
|
runTest(__dirname + "/FBMocks/fb18.js", {
|
|
expectReconcilerError: true,
|
|
});
|
|
});
|
|
|
|
it("fb-www 19", () => {
|
|
runTest(__dirname + "/FBMocks/fb19.js", {
|
|
expectReconcilerError: true,
|
|
});
|
|
});
|
|
|
|
it("fb-www 20", () => {
|
|
runTest(__dirname + "/FBMocks/fb20.js");
|
|
});
|
|
|
|
it("fb-www 21", () => {
|
|
runTest(__dirname + "/FBMocks/fb21.js");
|
|
});
|
|
|
|
it("fb-www 22", () => {
|
|
runTest(__dirname + "/FBMocks/fb22.js");
|
|
});
|
|
|
|
it("fb-www 23", () => {
|
|
runTest(__dirname + "/FBMocks/fb23.js");
|
|
});
|
|
|
|
it("repl example", () => {
|
|
runTest(__dirname + "/FBMocks/repl-example.js");
|
|
});
|
|
|
|
it("Hacker News app", () => {
|
|
let data = JSON.parse(fs.readFileSync(__dirname + "/FBMocks/hacker-news.json").toString());
|
|
runTest(__dirname + "/FBMocks/hacker-news.js", { data });
|
|
});
|
|
|
|
it("Function bind", () => {
|
|
runTest(__dirname + "/FBMocks/function-bind.js");
|
|
});
|