* fix specs
* use debugger protocol for cookie handling in electron
* use latest gulp
* use rimraf instead of gulp-clean
* use electron 3.1.8 and node 10.2.1
* use gulp 4 in packages/static
* fix sendCommandAsync, log Schema.getDomains on CDP connect
* autofill e2e test name [skip ci]
* electron@5.0.7, see what new failures exist
* --no-sandbox for launching Electron
* update cookies logic for electron
* node 12
* update snapshot for new node
* update error message for new node
* stub sendCommandAsync
* only connect to socket if path has been replaced, fixes#4776
* update node-sass to support node 12
* skip wacky socket tests for now
* snapshot
* fix run_plugins_spec snapshot, don't include stack trace
* use --no-sandbox on linux to run as root
* allow sendCommandAsync to resolve
* use euid for root check
* log domains even if undefined
* don't worry about ending 1xx responses immediately anymore
* use --max-http-header-size, change max size from 8kb to 1mb, fix#76
* do not send 502 on failed websocket, just send back ECONNRESET
* update websocket spec port to not collide with other test
* update outdated expect
* Revert "only connect to socket if path has been replaced, fixes#4776"
This reverts commit f179eda5ca.
* update gulp in root
* update https-proxy unit tests
* update network spec to properly close server
* update reporter spec
* update https-proxy-agent to fix node 10.10.0 change
discussion: https://github.com/nodejs/node/issues/24474\#issuecomment-511963799
* only pass --max-http-header-size on node >=12
* use own server-destroy implementation that supports secureConnect events
* oops
* update socket_spec
* electron 6.0.0
* console.table introduced in node 10
* change browserify entry to init.js
* handle edge case when no response body
* console.table added in node 10
* do not exit app when all BrowserWindows are closed
* update e2e snapshots
* value may not be null
* update plugins spec
* correct cookie expiry, use browser.getversion for CDP version check
* fix snapshotting for require stacks
* reorder cookies in spec
* warn when depreated electron callback apis are used
* only report 1 plugin error per process
* cleanup
* node 12.4.0, cypress/browsers:node12.4.0-chrome76 docker image
* update shell.openExternal to promisified
* update dialog.showOpenDialog to promisified
* update webContents.session.setProxy to promisified
* updating native dependencies since we don't need ancient node ABI support anymore
* WIP: switch cookies to simpler, jar-less approach
* WIP: switch cookies to simpler, jar-less approach
* making tests pass
* improve cookie filtering logic
* Remove unneeded Promise.try
* filter what makes it to the extension
* properly re-set superdomain cookies on cross-origin cy.visit
* allow comma-separated list of e2e tests
* sort cookies in order of expiration date, ascending
* updating tests, cleanup
* update tests
* version electron as a devDependency, electron@6.0.1
* cleanup, remove old automation
* cleanup, remove old automation
* bump chokidar to fix win10 + node12 issue
was seeing this on windows:
https://github.com/nuxt/nuxt.js/issues/6035
fixed with version bump
* enable now-supported quit role, re-enable old tests
* don't need that arg there
* remove last deprecated callback electron invocations
* Delete cypress.json
* responding to PR feedback
* cleanup
* invoke
* use 'quit' role
* Use new appMenu role for Cypress menu on mac
* electron@6.0.2
* electron@6.0.3
* remove domain: cookie.domain and see what happens
* remove setErrorHandler
* Revert "remove domain: cookie.domain and see what happens"
This reverts commit 49e916896d.
* add unit tests for cookies
* ci
* fix project-content css
* electron@6.0.4
* fix specs_list test
* electron@6.0.7
* some cleanup
* electron@6.0.9
* Update 8_reporters_spec.coffee.js
* electron@5.0.10 - Chromium 73, Node 12
* cli: fix the STDIN pipe on Windows (#5045)
* cli: pipe stdin
* uggh, here is the actual change
* update cli unit tests
* add unit test
* more permissive check for json to include application/vnd.api+j… (#5166)
* more permissive check for json to include
* add json test for content-type application/vnd.api+json
* cruder solution passes e2e tests locally, so let's go with that
* Remove 'charset' from content-type before checking if JSON
* fix eslint for fixture specs (#5176)
* update eslint to lint files within 'fixtures' in support files
- ignore some edge cases like jquery, jsx and obvious js files we wrote
with broken code
* Fixes from eslint to 'fixtures' files
* Catch env variable with reserved name CYPRESS_ENV 1621 (#1626)
* server: check CYPRESS_ENV variable when merging configs
* catch invalid CYPRESS_ENV value in CLI, close#1621
* linting
* sanitize platform in test snapshot
* linting
* update error message text
* add missing comma
* fix finally merge in JS code
* pass CLI linter
* fix log reference, should be debug
* use correct sinon reference
* update message, show first part in red
* update error message text
* Addresses #2953 (#5174)
* Addresses #2953
* Added proper test for new error message
* Didn't realize it ran this test as well, whoops
* Implementing changes as suggested by @jennifer-shehane
* Fixing tests and error output. Moved the checks to the start of the get command to ensure we always catch improper options
* Removing issue test since the querying spec covers it
* Using coffescript isArray check
* depromisify things that were promisified b/t electron 5 <=> 6
Revert "update shell.openExternal to promisified"
This reverts commit 8b6460d015.
Revert "update dialog.showOpenDialog to promisified"
This reverts commit 5f178b075b.
Revert "update webContents.session.setProxy to promisified"
This reverts commit 727df3a4e5.
* node12.4.0-chrome76 => node12.0.0-chrome75
* fix tests for electron downgrade
* node12.0.0-chrome75 => node12.0.0-chrome73
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* add e2e test for submitting forms over https on localhost
* add multipart/form-data test
* add multiparty to parse multipart/form-data streams
* test form submission with attachments
* add repro for #4253
* stream_buffer failing on large body size
* wip: stream buffer fixes
* add eslint + require spec helper
* always cleanup on error and on response
* WIP: continue refactoring stream buffer
- utilize ‘finish’ and ‘chunk’ events to know when to push into
internal readable buffer instead of using `readable.push(‘’)`
- recursively call readable.push(…) until it returns false
- add tests for recursive push calls
- add tests for ensuring readables don’t end until writeable buffer does
* fix remaining tests after stream buffer refactor
* use path.resolve not path.join for handling cy.readFile + cy.writeFile
* consolidate e2e form multipart tests with existing ones
- use env var for passing around path to large earth image
- dynamically fetch large earth.jpg img and gitignore it prior to
running tests
- finish tests + passing implementation
* reader() -> createReadStream()
* guard against reqBodyBuffer being null
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* wip: move lodash types to dev dependencies
* move blob-util types
* move types for minimatch
* do not lint types from minimatch
* move types sinon to dev dependencies
* move sinon-chai types to dev dependencies
* update tslint
* move types bluebird to dev dependencies
* move mocha types
* move jquery types to dev dependencies
* rename moment local wrapper
* move chai and chai-jquery
* refactor code for building CLI and dealing with folders
* linting
* include types subfolders
* replace types with relative paths
* transform sinon path to relative
* linting
* do not delete d.ts files
* linting
* chore: build npm package from this branch
* add minimatch relative reference
* work around minimatch
* set sinon to be relative load
* add readme to CLI
* linting readme
* Add 'use-fake' flags to chrome
* Update README to properly link to files and packages mentioned.
* skip tests that actually do not run
* Add reference to where unit tests are
* Try to add a e2e webcam test
* Started writing tests for driver for webcams
- push args to Electron also
* remove cypress/videos from commit
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* No not require user gesture for audio and video that has autoplay set
- There is outdated documentation that claims only
`—no-user-gesture-required` is sufficient, but as of Chrome 66, the
autoplay policy requires flag
`--autoplay-policy=no-user-gesture-required`.
- Should avoid instances of errors “failed because the user didn't
interact with the document first”
- Close#2376
- Addresses #2188
* git ignore cypress/videos folder in driver
* Add test cases for video to ensure play doesn't throw in autoplay with new flags
* replace larger video with smaller mp4 (180kb)
- remove unecessary .then and .catch from within .then cypress command
* fix autoplay being commented out in electron
add comment to github issue in test
* Make it clearer when search returns no results, add a button to clear search
* Add yarn.lock to gitignore
* it.doesn't.only
* Fix failing test
* Add times icon
* use latest ci and commit objects in runs schema
* update runs tab to handle commit & ci data as object || null
- update tests to reflects changes
* desktop-gui schema commit
* update instance data to match schema
- group os and browser info into platform
- update osIcon lookup to ‘win32’ instead of ‘windows’
- add dep schema-tools
- write test for displaying platform info of a run
- rename ‘api_schemas’ test to ‘fixtures’
* remove unused util methods
* bump schema tests
* fixed err where length could be wrongly checked on type number
* bump schema / add osCpus + other missing keys
* bump schema - update assertSchema require statement.
* update desktop-gui runs to schema 2.0.0
* git ignore .history files (from local history plugin)
* update timers so they tick independently from each other timer
- add test to ensure timers are not singleton
* just check duration in order to display duration.
* ignore jsconfig.json within desktop-gui [skip ci]
* update runs to had duration / createdAt / completedAt
* add duration keys to runs.json
* bump schema
* remove calculated duration from model / this is now returned directly from API
* Fix env so that it is vertically centered in runs row
* Fix failing tests / fix cy chain formatting of project_nav_spec
* try installing on Windows
* Handle windows setup
- no browser detection on windows yet, just placeholder code
- symlink types
* add appveyor file
* add appveyor windows build
* use execa to run server unit tests
* run server unit tests on appveyor
* ignore root install errors
* upgrade rebuild-node-sass
and work on Json unit test that fails on Windows
* print npm version
before installing, commented out caching node modules in the root
* a few small tweaks for windows support
* fix bin-up in launcher project
use bin-up@1.1.0 for windows support, close#491
* cli: build script on Windows, close#492
* cli: build errors are fatal
* use cross-env in extension
Fixes environment variables on Windows in #490
* extension: fix 3 tests on Windows
1 more broken test remaining
* extension: use EOL before comparing text
* example: update test for Windows
* example: replace build.sh with build.js
Close#488
* remove trailing whitespace
* cli: build script again
* server: work on unit tests for windows
* binary: add windows as build platform
* windows: try building binary
started work on building on CI for windows
* cli: set engines node > 0.12
* cli: trying to transpile using babel-register on the fly
* downgrading fs-extras to 1.0.0 to let it work on Node 0.12
* lint and enforce single quote on strings
* remove individual plugins
* cli: include dist folder in the npm package
* cli: add build step on prepublish, add readme
* cli: use default options, because code is transpiled
* cli: output into es5
* cli: see published size, a few missing requires
* cli: replace const with var in node 0.12
* cli: cache node_modules on CircleCI
* cli: back to use const that is not changed to let by eslint
* cli: build separate package for npm publishing
* remove postinstall step
* cli: remove npm vs dev install check