GithubHelp home page GithubHelp logo

areweplayingyet's Introduction

Are We Playing Yet?

A pragmatic HTML5 Audio test suite

This is an open and public initiative to bring more harmony into HTML5 Audio implementations. The specifications are missing some features and sometime leaves room for interpretation. We want to un-mute the Web and make Audio rock! If you feel the same, you can report browsers bugs, write tests, fill issues and join our conversation.

ToC

  • Running AWPY
  • Write tests
    • Intro
    • Test structure
    • Terminating tests
  • Submitting issues
    • To browser vendors
    • To AWPY

Running AWPY

You need nodejs and npm.

brew install node
curl http://npmjs.org/install.sh | sh

To prepare the dependencies for the project run the following command in the root of the repository:

npm install

To run the http server invoke the following command:

node server.js

Now you should be able to load http://localhost:3000.

Write tests

Intro

Create a new file in /public/tests
The name should be prefixed by the test type and separated by a hyphen-minus and look like this: type-name
e.g.: event-seeking.js

Miscellaneous tests should be prefixed by "support"

Test structure

A test consists of this basic JSON structure:

({
  name: '', // required (identical to your filename)
  description: '', // required (used as title on the website)
  spec: 'http://…', // optional
  longdesc: 'lorem ipsum…', // optional
  reports: { // optional
    chrome: {
      desc: 'lorem ipsum…',
      link: 'http://…'
    }
  },
  assert: function(finish) { // required
    var audio = this.audio;
  }
})

We encourage you to document it as much as possible by linking to specifications, describing it precisely & including known browser bugs.

Valid values for reports are:

  • firefox
  • opera
  • chrome
  • safari
  • ie
  • firefoxMobile
  • operaMobile
  • android
  • ieMobile
  • safariMobile

Terminating tests

There a 3 ways to terminate a test:

  • passing
  • failing
  • failing by timeout, 15 seconds after loadedmetadata event was triggered

To make a test pass you need to call

finish(true);

To make a test fail call

finish(false);

Submitting issues

To browser vendors

We encourage you to submit issues to browser vendors, here is a list of sites where you can do so for different browsers:

To AWPY

You're very welcome to make suggestions, report issues and open pull requests for changes and new tests.

Before opening a new issue take a second to verify if it doesn't already exist.

If you open a new one, please label it correctly.

Feel free to propose changes to this document.
Happy audio hacking.

areweplayingyet's People

Contributors

foolip avatar jussi-kalliokoski avatar kinetiknz avatar mathiasbynens avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.