') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); request service should be removed before changing his definition by Druid33 · Pull Request #7 · Codeception/module-phalcon4 · GitHub
Skip to content

request service should be removed before changing his definition - #7

Merged
Jeckerson merged 3 commits into
Codeception:masterfrom
Druid33:mock_request_service
Apr 13, 2021
Merged

request service should be removed before changing his definition#7
Jeckerson merged 3 commits into
Codeception:masterfrom
Druid33:mock_request_service

Conversation

@Druid33

@Druid33Druid33 commented Jun 3, 2020

Copy link
Copy Markdown
Contributor

Without this change its not possible fill content to request body using _request() method.

I add some more info:

I had problem set json content to _request() method. After some research, diging into code i realize, it is not possible replace shared service with other shared service. One can replace shared service only with non-shared service.

$di->set('service', {some_definition}, true);
// this line does not change service.$di->set('service', {some_other_definition}, true);
// this line change service$di->set('service', {some_other_definition}, false);

Its not possible change shared service with "array' notation like this:

$di->set('service', {some_definition}, true);
// this line does not change service.$di['service'] = {some_other_definition};

Using "array" notation you only change service definition. but if shared service is resolved before, changing definition has not effect on next geting service

@Druid33Druid33 changed the title request server should be removed before changing his definitionrequest service should be removed before changing his definitionJun 3, 2020
@ruudboon

Copy link
Copy Markdown
Collaborator

Thnx @Druid33
Can you add a few tests for this as well?

Related to: phalcon/cphalcon#14834

@Druid33

Copy link
Copy Markdown
ContributorAuthor

ok, I try to find some time :)

@Druid33

Copy link
Copy Markdown
ContributorAuthor

Thnx @Druid33
Can you add a few tests for this as well?

Related to: phalcon/cphalcon#14834

Hi, finally i write test i promise a year ago...hope it will be enough.

@Jeckerson

Copy link
Copy Markdown
Collaborator

@Druid33 Thanks!

@Jeckerson
Jeckerson merged commit bd1d991 into Codeception:masterApr 13, 2021
@Jeckerson

Copy link
Copy Markdown
Collaborator

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Druid33@ruudboon@Jeckerson