Git Product home page Git Product logo

web's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

web's Issues

[test-runner-mocha] tree shake and ship bundle

mocha/mocha.js is pretty big and it has a lot of comments etc. we should look into whether we can shake off some kbs and bundle it with the package. This way it is just one request, and we strip off all the comments etc.

[test-runner-core] handle adding/removing test files

It would be great if you don't need to restart the test runner if you add/remove test files.

We would need to watch the file system based on the globs provided, and carefully add/remove tests from the test runner.

[test-runner-cli] test rerun flicker

When rerunning tests we clear the terminal and then quickly fill it again. This causes a brief flicker, we're basically a bit too fast. We should look into whether adding an artificial delay can help.

[test-runner] distribute bundled package

The test runner has a lot of dependencies. To make the package lighter to install and use, we should bundle it for publishing. We will need to review if there are some packages which we don't want to bundle.

A lot of rollup packages take this approach as well.

[test-runner] closing browser in puppeteer takes a long time

When using puppeteer to close a browser it takes around 30sec for it to unwind and exhaust the event loop. We don't notice this in the CLI, as we kill the process in manually. But this is noticeable in the tests for the puppeteer and chrome launcher.

[test-runner-cli] improve logging in non-interactive terminal

In a non interactive terminal (such as a CI or in lerna) we still keep logging progress. We should log less to the terminal.

Chrome: |███████████████████████████▏  | 104/114 test files | 1312 passed, 20 failed

Running tests...
 
Chrome: |███████████████████████████▎  | 105/114 test files | 1341 passed, 21 failed
 
Running tests...
 
Chrome: |███████████████████████████▍  | 106/114 test files | 1391 passed, 21 failed
 
Running tests...
  
Chrome: |████████████████████████████▏ | 107/114 test files | 1392 passed, 21 failed
 
Running tests...
  
Chrome: |████████████████████████████▎ | 108/114 test files | 1394 passed, 21 failed

Running tests...
 
Chrome: |████████████████████████████▎ | 109/114 test files | 1395 passed, 21 failed
  
Running tests...
  
Chrome: |████████████████████████████▍ | 110/114 test files | 1396 passed, 21 failed
 
Running tests...
  
Chrome: |█████████████████████████████▏| 111/114 test files | 1397 passed, 21 failed
  
Running tests...
  
Chrome: |█████████████████████████████▎| 112/114 test files | 1403 passed, 21 failed
  
Running tests...
  
Chrome: |█████████████████████████████▎| 113/114 test files | 1411 passed, 21 failed
 
Running tests...
  
Chrome: |██████████████████████████████| 114/114 test files | 1426 passed, 21 failed
  
Finished running tests in 15s with 21 tests failed.

Fix extra dependency

I had to add @types/parse5 because it is missing on a package from open-wc:

node_modules/polyfills-loader/index.d.ts:20:49 - error TS7016: Could not find a declaration file for module 'parse5'. '/Users/ri04pi/Workspace/code/mine/web/node_modules/parse5/lib/index.js' implicitly has an 'any' type.
  Try `npm install @types/parse5` if it exists or add a new declaration (.d.ts) file containing `declare module 'parse5';`

20 export const getScriptFileType: (script: import("parse5").Node) => import("./src/types").FileType;
                                                   ~~~~~~~~


Found 1 error.

[test-runner-framework] object serialization

When logging objects to the console we just do a JSON.stringify which loses a lot of information. We should look into a better way of serialization things like DOM elements, because right now they just turn into {}.

Preferably using an existing library. We may be able to take some inspiration from how storybook does this to send data between iframes.

[test-runner-cli] decouple coverage boolean and config

Right now when you set the test coverage configuration, it always runs test coverage. We should allow setting the coverage thresholds without actually doing test coverage. We can do this by splitting the options between coverage: true and coverageThreshold or something like that.

[test-runner-core] allow HTML tests

We should allow setting an html file as input file. This will just open that HTML file in the browser, and expect it to ping back the results.

This is useful for being in control of everything that happens in the browser, and for special tests that require the page to be set up in a specific way (for example polyfills).

[test-runner] add --help command

We need to add support for the help command. It's tricky because both test-runner and test-running-cli do things with the command line args. We need to make sure to handle both.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.