Files
blockly/tests/browser/test/extensive_test.js
dependabot[bot] 2546b01d70 chore(deps): Bump prettier from 2.8.8 to 3.0.0 (#7322)
* chore(deps): Bump prettier from 2.8.8 to 3.0.0

Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.0.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.8...3.0.0)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: Reformat using Prettier v3.0 defaults

The main change is to add trailing commas to the last line of
block-formatted function calls.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Christopher Allen <cpcallen+git@google.com>
2023-07-25 14:56:10 +00:00

204 lines
6.3 KiB
JavaScript

/**
* @license
* Copyright 2023 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @fileoverview Node.js script to run Automated tests in Chrome, via webdriver.
*/
const chai = require('chai');
const {
testSetup,
testFileLocations,
getBlockElementById,
} = require('./test_setup');
const {Key} = require('webdriverio');
let browser;
suite('This tests loading Large Configuration and Deletion', function (done) {
// Setting timeout to unlimited as the webdriver takes a longer time to run than most mocha test
this.timeout(0);
// Setup Selenium for all of the tests
suiteSetup(async function () {
browser = await testSetup(testFileLocations.PLAYGROUND);
});
test('This test loading from JSON results in the correct number of blocks', async function () {
const blockNum = await testingJSONLoad();
chai.assert.equal(blockNum, 13);
});
test('This test deleting block results in the correct number of blocks', async function () {
const fourthRepeatDo = await getBlockElementById(
browser,
'E8bF[-r:B~cabGLP#QYd',
);
await fourthRepeatDo.click({x: -100, y: -40});
await browser.keys([Key.Delete]);
await browser.pause(100);
const blockNum = await browser.execute(() => {
return Blockly.getMainWorkspace().getAllBlocks(false).length;
});
chai.assert.equal(blockNum, 10);
});
test('This test undoing delete block results in the correct number of blocks', async function () {
await browser.keys([Key.Ctrl, 'z']);
await browser.pause(100);
const blockNum = await browser.execute(() => {
return Blockly.getMainWorkspace().getAllBlocks(false).length;
});
chai.assert.equal(blockNum, 13);
});
// Teardown entire suite after test are done running
suiteTeardown(async function () {
await browser.deleteSession();
});
});
async function testingJSONLoad() {
return await browser.execute(() => {
const myWorkspace = Blockly.getMainWorkspace();
const state = {
'blocks': {
'languageVersion': 0,
'blocks': [
{
'type': 'controls_if',
'id': 'O]NpXoWXyz9okeD.PxV0',
'x': 112,
'y': 38,
'extraState': {
'elseIfCount': 1,
'hasElse': true,
},
'inputs': {
'DO0': {
'block': {
'type': 'controls_repeat_ext',
'id': ',8#9eTr9hCrD3nR|uW1L',
'inputs': {
'TIMES': {
'shadow': {
'type': 'math_number',
'id': '(6!seVzJ[5W=!M_s@s=I',
'fields': {
'NUM': 4,
},
},
},
},
},
},
'DO1': {
'block': {
'type': 'controls_repeat_ext',
'id': ']X9#sM4FJiVrRP;y0m6H',
'inputs': {
'TIMES': {
'shadow': {
'type': 'math_number',
'id': '%k#p|;f+Y*#.8DX].a6Y',
'fields': {
'NUM': -10,
},
},
},
},
},
},
'ELSE': {
'block': {
'type': 'controls_repeat_ext',
'id': '`ZOj01@KGMQ?+MMcLKZ:',
'inputs': {
'TIMES': {
'shadow': {
'type': 'math_number',
'id': 'IIK8IHzVCoUpTfx[j=^9',
'fields': {
'NUM': 10,
},
},
'block': {
'type': 'logic_ternary',
'id': '!$UboN.F)peh:!o]D48-',
'inputs': {
'IF': {
'block': {
'type': 'logic_boolean',
'id': '|?-zstzEVy,Ec%%dJZM{',
'fields': {
'BOOL': 'FALSE',
},
},
},
},
},
},
},
},
},
},
'next': {
'block': {
'type': 'controls_repeat_ext',
'id': 'E8bF[-r:B~cabGLP#QYd',
'inputs': {
'TIMES': {
'shadow': {
'type': 'math_number',
'id': 'vOb`Us7f.bIuXRGd(K.e',
'fields': {
'NUM': 10,
},
},
'block': {
'type': 'logic_ternary',
'id': 'AyS?@78RwAtQ$?aU[-$L',
'inputs': {
'IF': {
'block': {
'type': 'logic_boolean',
'id': 'K@$Ewnj*Y6JcKR`mycf8',
'fields': {
'BOOL': 'FALSE',
},
},
},
},
},
},
},
'next': {
'block': {
'type': 'controls_repeat_ext',
'id': 'XFO4v:Cf@2~rgH9CQZ]/',
'inputs': {
'TIMES': {
'shadow': {
'type': 'math_number',
'id': 'jf)XYgvoi!c.3V[u@h+-',
'fields': {
'NUM': 10,
},
},
},
},
},
},
},
},
},
],
},
};
Blockly.serialization.workspaces.load(state, myWorkspace);
return myWorkspace.getAllBlocks(false).length;
});
}