* add packages/server experiments
* show experiments in desktop GUI
* add intro experiments text
* conditional message
* add experiments record to start of the headless run
* keep experiments in the config, remove duplicate logic
* small tweaks
* remove experimentalComponentTesting for now, separate PR
* rearrange settings spec into sections per panel
* do not crash if there are no experiments
* return component testing experiment
* work on styling of experiments panel + adding basic tests
* update settings spec text
* add unit tests for experimental features in cypress run output
* Add styling for 'non-enabled' status sign.
* add more experiments and key whitelist in experiments GUI
* add message when there are no experiments
* fix coffeelint
* fix merge in settings spec
* trailing whitespace
* make experiments info all live in one place
* add ts lint exception
* update unit test
* update run spec
* do not show experiments panel at all without experiments
* add more comments
* Update style of ON/OFF status for experimental features.
* remove empty messaging from experiments panel (since panel is no longer shown when empty)
* remove check for 'isEmpty' when showing list
* update lock file
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* add check within getFirstStickyPositionParent for $el[0] to exist
- pull out check for undefined or html/body/doc element into a shared
elements method.
* prevent more checks on undefined parents & els causing getComputedStyle to throw
* yarn-lock
* Expand isUndefinedOrHTMLBodyDoc to Cypress.dom + add types
* Add unit tests for isUndefinedOrHTMLBodyDoc method
* yarn-lock
* move 'el[0]' existence check to below other checks (right when it's needed)
* yarn-lock
* feat: show collapsed icon on specs list title
* fix: fix conflicts and add tests
* remove duplicated test case - have one test for icon and collapse behavior
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* don't like 'first time' message if verification is running from 'cypress verify'
* updates snapshots to remove 'first time message' from verify specs
* electron@8.1.0
* set app.allowRendererProcessReuse to true
https://github.com/electron/electron/issues/18397
* Fix taking screenshots in Electron with debug logs enabled
* explicitly use png format for Page.captureScreenshot
* don't need to do Network.enable
i believe this was done because we thought it was needed for Network.getCookies, etc, but it does not seem to be used
* yarn.lock
* remove dead code
* start and stop screencast around electron screenshots
* update debug logging
* cypress/browsers:node12.13.0-chrome80-ff73
* fix unit tests
* debug e2e tests
* detect first available servernum
* electron@8.1.1
* no reuse
* Revert " cypress/browsers:node12.13.0-chrome80-ff73"
This reverts commit 404803a169.
* cypress/browsers:node12.13.0-chrome80-ff74
* Revert "debug e2e tests"
This reverts commit 7a09e3630e.
* Revert "detect first available servernum"
This reverts commit 7ac95072b2.
* use 2x chrome total time as benchmark
* set TLS minVersion to v1 only if connection already failed with TLS version mismatch
* correct percentile function
* assert at least 1000 requests were made
* setNoDelay on HTTPS-over-HTTPS requests
* allow for tests with HTTPS upstreams to be slightly slower
* try 3x
* add note for add'l multiplier on httpsUpstreamProxy
* get last access timestamps and print with cache versions
* remove done TODO
* start trying to save HTML but only after snapshot text is confirmed
* store cli test output HTML as static pages
* set our color for table heading
* make code readable
* lock file again
* update saved HTML file
* refactor cache spec
* add test with no access time:
* Add warning when setting CYPRESS_ENV to non-production value
* Add warning and update error when setting CYPRESS_ENV in config to non-production value
* Update config test/to throw
* we want warning, not throw
* Rename env var to CYPRESS_INTERNAL_ENV + fix warning to actually warn when staging
* update cli snapshot to include new 'info' command
* yarn.lock
* removed the warning from config, is overboard on our own tests 😓
* cleanup from review
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
* Turn exception message into something human readable
* Pass ipc as parameter to invoke function
* Creating file to validate event name and handler
* Creating tests to validate_event
* Remove ipc from invoke parameter
* Removing ipc parameter being passed to validateEvent
* convert spec to js
* increase line-height for plugins error message
* refactor error messages and implementation
* fix race condition where async error in plugins file could hang run
a quick async error at the root of the plugins file had the potential to hang the run because the ‘exitEarlyWithErr’ listener was registered later than that error was emitted
this enables that error to be tracked so we can properly exit at the appropriate time
it also refactors run.js to not rely on an event emitted on the project and instead passes through an onError handler, which makes more sense since the event was only used in run.js (except for one case). it also makes for easier unit testing
* fix missing reference
* fix duplicate reference
* fix args being passed in incorrectly
* fix way args were handled in server.open
* fix exit early implementation
* fix duplicate logging
* fix unit test
* update snapshot
* fix missing reference
* add e2e test to cover plugin registration validation
* clean up after merge
* add back snapshot
* fix e2e tests
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
* Allow %, & in file name.
* Extract escapeFilenameInUrl
* Fix tests.
* Add test for ? (non-Windows).
* Remove platform condition. And handle when special chars are in the dir.
* Fix failure.
* Fix failure.
* add e2e test for specs with special characters
* minor refactor
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* fix race condition when there's an async error in root of plugins file
* return the promise
* fix routes creation
* fix tests
* fix error throwing and add tests
* update snapshots
* revert changes to server.open signatures in tests
* fix test
* properly wrap error so it doesn't log twice
* slow down test to ensure plugins error occurs before run is over
* wait to log early exit error until after run start
* update docker image to chrome 80 and firefox 72 image
* Use image with compatible 12.8.1 Node version
* update docker script
* improve debug logging of launched browser
* run tests with correct color depth
* force run with new cache version
* revert docker image
* Revert "revert docker image"
This reverts commit 93d03446cc.
* update gitignore
* generate 2048-bit keys
* add script to regenerate certs, if we need to do this again
* update certs (ran regenerate-certs.sh)
* copy, don't symlink - won't work on win anyways
* reregen
* cleanup
* don't use https-pem, it's too smol
see https://github.com/watson/https-pem/issues/3
* decaffeinate: Rename ca.coffee and 11 other files from .coffee to .js
* decaffeinate: Convert ca.coffee and 11 other files to JS
* decaffeinate: Run post-processing cleanups on ca.coffee and 11 other files
* https-proxy decaf cleanup
* wip: ca_version
* add versioning for CA store
* add regenerate:certs script
* add timings to ca_spec
* unneeded patch-package
* fix yarn.lock
Co-authored-by: Zach Bloomquist <github@chary.us>
* Use CDP to record video for Electron
* Enable video recording in Electron headed
* Test video in headed + headless for all browsers
* Update e2e tests
* add isDetached to type declaration
* add rest of dom function declarations
* remove any type union
* remove duplicate declaration
* add docstrings for documented types
* .js => .ts
* update types + tests
fix ts lint
* add Cypress.dom type tests
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
* fix patch-package
- don't hoist dependencies that are patched, this way we can be assured the path is always correct
- put all patches in root postinstall so postinstall-postinstall is guaranteed to work
* wip
* Revert "fix patch-package"
This reverts commit 5583f21478.
* use per package patches
* don't ignor engines or silence
* try: make sinon patch devonly
* fix socketspec
* run full ci on this branch
* bump xcode tools to bump mac node version
* also run appveyor
* Revert "run full ci on this branch"
This reverts commit c3e52d09ec.
* Revert "also run appveyor"
This reverts commit bfe7b0499a.