Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(tests): Use import instead of goog.bootstrap to load Blockly in mocha tests #7406

Merged
merged 7 commits into from
Aug 18, 2023
33 changes: 6 additions & 27 deletions scripts/gulpfiles/build_tasks.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const closureCompiler = require('google-closure-compiler').gulp();
const argv = require('yargs').argv;
const {rimraf} = require('rimraf');

const {BUILD_DIR, DEPS_FILE, RELEASE_DIR, TEST_DEPS_FILE, TSC_OUTPUT_DIR, TYPINGS_BUILD_DIR} = require('./config');
const {BUILD_DIR, DEPS_FILE, RELEASE_DIR, TSC_OUTPUT_DIR, TYPINGS_BUILD_DIR} = require('./config');
const {getPackageJson} = require('./helper_tasks');

const {posixPath, quote} = require('../helpers');
Expand Down Expand Up @@ -305,36 +305,17 @@ function buildJavaScript(done) {
* This task updates DEPS_FILE (deps.js), used by the debug module
* loader (via bootstrap.js) when loading Blockly in uncompiled mode.
*
* Also updates TEST_DEPS_FILE (deps.mocha.js), used by the mocha test
* suite.
*
* Prerequisite: buildJavaScript.
*/
function buildDeps() {
const roots = [
path.join(TSC_OUTPUT_DIR, 'closure', 'goog', 'base.js'),
TSC_OUTPUT_DIR,
'tests/mocha',
];

/** Maximum buffer size, in bytes for child process stdout/stderr. */
const MAX_BUFFER_SIZE = 10 * 1024 * 1024;

/**
* Filter a string to extract lines containing (or not containing) the
* specified target string.
*
* @param {string} text Text to filter.
* @param {string} target String to search for.
* @param {boolean?} exclude If true, extract only non-matching lines.
* @returns {string} Filtered text.
*/
function filter(text, target, exclude) {
return text.split('\n')
.filter((line) => Boolean(line.match(target)) !== Boolean(exclude))
.join('\n');
}

/**
* Log unexpected diagnostics, after removing expected warnings.
*
Expand Down Expand Up @@ -374,9 +355,7 @@ error message above, try running:
} else {
log(stderr);
// Anything not about mocha goes in DEPS_FILE.
fs.writeFileSync(DEPS_FILE, filter(stdout, 'tests/mocha', true));
// Anything about mocha does in TEST_DEPS_FILE.
fs.writeFileSync(TEST_DEPS_FILE, filter(stdout, 'tests/mocha'));
fs.writeFileSync(DEPS_FILE, stdout);
resolve();
}
});
Expand Down Expand Up @@ -691,10 +670,8 @@ async function buildShims() {
// ESM, but fortunately we don't attempt to import or require this
// file from node.js - we only feed it to Closure Compiler, which
// uses the type information in deps.js rather than package.json.
await fsPromises.writeFile(
path.join(BUILD_DIR, 'package.json'),
'{"type": "module"}'
);
const TMP_PACKAGE_JSON = path.join(BUILD_DIR, 'package.json');
await fsPromises.writeFile(TMP_PACKAGE_JSON, '{"type": "module"}');

// Import each entrypoint module, enumerate its exports, and write
// a shim to load the chunk either by importing the entrypoint
Expand Down Expand Up @@ -723,6 +700,8 @@ ${Object.keys(exports).map((name) => ` ${name},`).join('\n')}
);
`);
}));

await fsPromises.rm(TMP_PACKAGE_JSON);
}


Expand Down
3 changes: 0 additions & 3 deletions scripts/gulpfiles/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ exports.BUILD_DIR = 'build';
// Dependencies file (used by bootstrap.js in uncompiled mode):
exports.DEPS_FILE = path.join(exports.BUILD_DIR, 'deps.js');

// Mocha test dependencies file (used by tests/mocha/index.html):
exports.TEST_DEPS_FILE = path.join(exports.BUILD_DIR, 'deps.mocha.js');

// Directory to write typings output to.
exports.TYPINGS_BUILD_DIR = path.join(exports.BUILD_DIR, 'declarations');

Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/astnode_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.astNode');

import {ASTNode} from '../../build/src/core/keyboard_nav/ast_node.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/block_json_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.blockJson');

import {Align} from '../../build/src/core/inputs/align.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/block_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.blocks');

import {ConnectionType} from '../../build/src/core/connection_type.js';
import {createDeprecationWarningStub} from './test_helpers/warnings.js';
import {createRenderedBlock} from './test_helpers/block_definitions.js';
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/blocks/lists_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.lists');

import {runSerializationTestSuite} from '../test_helpers/serialization.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/blocks/logic_ternary_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.logicTernary');

import * as eventUtils from '../../../build/src/core/events/utils.js';
import {runSerializationTestSuite} from '../test_helpers/serialization.js';
import {
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/blocks/procedures_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.procedures');

import * as Blockly from '../../../build/src/core/blockly.js';
import {
assertCallBlockStructure,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/blocks/variables_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.variables');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/clipboard_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.clipboard');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/comment_deserialization_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.commentDeserialization');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/comment_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.comments');

import {assertEventFired} from './test_helpers/events.js';
import * as eventUtils from '../../build/src/core/events/utils.js';
import {
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/connection_checker_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.connectionChecker');

import {ConnectionType} from '../../build/src/core/connection_type.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/connection_db_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.connectionDb');

import {ConnectionType} from '../../build/src/core/connection_type.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/connection_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.connection');

import {
createGenUidStubWithReturns,
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/contextmenu_items_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.contextMenuItem');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/cursor_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.cursor');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/dropdowndiv_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.dropdown');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_block_change_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventBlockChange');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_block_create_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventBlockCreate');

import {assertEventFired} from './test_helpers/events.js';
import * as eventUtils from '../../build/src/core/events/utils.js';
import {
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_block_delete_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventBlockDelete');

import {defineRowBlock} from './test_helpers/block_definitions.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_block_drag_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventBlockDrag');

import {defineRowBlock} from './test_helpers/block_definitions.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_block_field_intermediate_change_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventBlockFieldIntermediateChange');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_block_move_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventBlockMove');

import {defineRowBlock} from './test_helpers/block_definitions.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_bubble_open_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventBubbleOpen');

import {defineMutatorBlocks} from './test_helpers/block_definitions.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_click_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventClick');

import {defineRowBlock} from './test_helpers/block_definitions.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_comment_change_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventCommentChange');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_comment_create_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventCommentCreate');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_comment_delete_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventCommentDelete');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_comment_move_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventCommentMove');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_marker_move_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventMarkerMove');

import {defineRowBlock} from './test_helpers/block_definitions.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_selected_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventSelected');

import {defineRowBlock} from './test_helpers/block_definitions.js';
import {
sharedTestSetup,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.event');

import * as Blockly from '../../build/src/core/blockly.js';
import {ASTNode} from '../../build/src/core/keyboard_nav/ast_node.js';
import {
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_theme_change_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventThemeChange');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_toolbox_item_select_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventToolboxItemSelect');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
2 changes: 0 additions & 2 deletions tests/mocha/event_trashcan_open_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

goog.declareModuleId('Blockly.test.eventTrashcanOpen');

import {
sharedTestSetup,
sharedTestTeardown,
Expand Down
Loading
Loading