UNPKG

@wordpress/e2e-test-utils-playwright

Version:
8 lines (7 loc) 2.62 kB
{ "version": 3, "sources": ["../../src/request-utils/gutenberg-experiments.ts"], "sourcesContent": ["/**\n * Internal dependencies\n */\nimport type { RequestUtils } from './index';\n\n/**\n * Sets the Gutenberg experiments.\n *\n * @param this\n * @param experiments Array of experimental flags to enable. Pass in an empty array to disable all experiments.\n * Use 'active_templates' for the template activation feature.\n */\nasync function setGutenbergExperiments(\n\tthis: RequestUtils,\n\texperiments: string[]\n) {\n\tconst response = await this.request.get(\n\t\t'/wp-admin/admin.php?page=gutenberg-experiments'\n\t);\n\tconst html = await response.text();\n\tconst nonce = html.match( /name=\"_wpnonce\" value=\"([^\"]+)\"/ )![ 1 ];\n\n\tconst formData: Record< string, string | number > = {\n\t\toption_page: 'gutenberg-experiments',\n\t\taction: 'update',\n\t\t_wpnonce: nonce,\n\t\t_wp_http_referer: '/wp-admin/admin.php?page=gutenberg-experiments',\n\t\tsubmit: 'Save Changes',\n\t};\n\n\t// Separate regular experiments from active_templates.\n\tconst regularExperiments = experiments.filter(\n\t\t( exp ) => exp !== 'active_templates'\n\t);\n\tconst hasActiveTemplates = experiments.includes( 'active_templates' );\n\n\t// Add regular experiments to the gutenberg-experiments array.\n\tif ( regularExperiments.length > 0 ) {\n\t\tObject.assign(\n\t\t\tformData,\n\t\t\tObject.fromEntries(\n\t\t\t\tregularExperiments.map( ( experiment ) => [\n\t\t\t\t\t`gutenberg-experiments[${ experiment }]`,\n\t\t\t\t\t1,\n\t\t\t\t] )\n\t\t\t)\n\t\t);\n\t}\n\n\t// Template activation uses the active_templates checkbox field.\n\tif ( hasActiveTemplates ) {\n\t\tformData.active_templates = 1;\n\t}\n\n\tawait this.request.post( '/wp-admin/options.php', {\n\t\tform: formData,\n\t\tfailOnStatusCode: true,\n\t} );\n}\n\nexport { setGutenbergExperiments };\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,eAAe,wBAEd,aACC;AACD,QAAM,WAAW,MAAM,KAAK,QAAQ;AAAA,IACnC;AAAA,EACD;AACA,QAAM,OAAO,MAAM,SAAS,KAAK;AACjC,QAAM,QAAQ,KAAK,MAAO,iCAAkC,EAAI,CAAE;AAElE,QAAM,WAA8C;AAAA,IACnD,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,kBAAkB;AAAA,IAClB,QAAQ;AAAA,EACT;AAGA,QAAM,qBAAqB,YAAY;AAAA,IACtC,CAAE,QAAS,QAAQ;AAAA,EACpB;AACA,QAAM,qBAAqB,YAAY,SAAU,kBAAmB;AAGpE,MAAK,mBAAmB,SAAS,GAAI;AACpC,WAAO;AAAA,MACN;AAAA,MACA,OAAO;AAAA,QACN,mBAAmB,IAAK,CAAE,eAAgB;AAAA,UACzC,yBAA0B,UAAW;AAAA,UACrC;AAAA,QACD,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AAGA,MAAK,oBAAqB;AACzB,aAAS,mBAAmB;AAAA,EAC7B;AAEA,QAAM,KAAK,QAAQ,KAAM,yBAAyB;AAAA,IACjD,MAAM;AAAA,IACN,kBAAkB;AAAA,EACnB,CAAE;AACH;", "names": [] }