#397 ✓ staged
Bobby Richter

List Butter's Popcorn Dependencies

Reported by Bobby Richter | March 11th, 2011 @ 03:23 PM | in 0.5

We need a list of butter's popcorn dependencies so we can write tests that will prevent changes in popcorn from negatively affecting butter.

These should include everything from butter's expectations of popcorn's object format to popcorn's API.

Comments and changes to this ticket

  • Bobby Richter

    Bobby Richter March 14th, 2011 @ 03:27 PM

    js/butter.application.js

    Popcorn Namespace

    • Popcorn.registry must be present to provide list of 'Commands'
    • must have the following properties/functions
      • getTrackEvents(popcorn)

    Plugins

    • plugin.type must be a string (to provide id's to html elements)
      • also used for finding appropriate image (using regex)
    • must be addressable as dictionary items through popcorn object. i.e. p[pluginName].foo();
    • plugin manifests:
      • must be registered in Popcorn.manifest as dictionary items
      • are read as Popcorn.manifest[type]
      • must have options object, which, for posterity, should contain a target

    Popcorn Object (p = new Popcorn(...))

    • p.video must exist and must have these properties: currentTime, play, pause, volume, duration, readyState
    • p.data must exist
      • absence may cause applicationError
      • for serialization, p.data must have trackEvents object with these properties/functions:
        • byStart
      • must contain the following properties/functions:
        • history (list)
    • p.getLastTrackEventId(), p.getTrackEvents(), p.removeTrackEvent(id) must be present
    • plugins must be addressable as dictionary items through object. i.e. p[pluginName].foo();
    • listen() must be present and respond to the following event strings:
      • timeupdate

    Should be easy enough to create a small script that tests for all of these.

  • Bobby Richter

    Bobby Richter March 17th, 2011 @ 10:27 AM

    Wrote this script: https://github.com/secretrobotron/popcorn-js/commit/6024aab279f3ceb...

    Only tests for existence of functions/properties and their type so far. Need to implement some semantic checks.

    Thought it would be cleanest to separate this out into its own test file instead of pushing into popcorn unit tests.

  • Bobby Richter

    Bobby Richter March 17th, 2011 @ 01:22 PM

    • State changed from “new” to “peer-review-requested”

    Updated script: https://github.com/secretrobotron/popcorn-js/commit/a5f78dbeb2c393f...

    Script should test all of the found characteristics in the list above for functionality and existence (where possible).

  • Rick

    Rick March 17th, 2011 @ 02:35 PM

    • State changed from “peer-review-requested” to “review-needs-work”
    • Milestone set to 0.5

    Can you move the new file and changes to a branch called "397", thanks! :)

  • Rick

    Rick March 17th, 2011 @ 02:39 PM

    I pulled your master into a local branch to review the new test file. Can you convert your test over to a qunit test suite? I think it's important to have a consistent set of test suites throughout the project. Thanks!

    Also - great work compiling these dependencies!

  • Bobby Richter

    Bobby Richter March 17th, 2011 @ 03:35 PM

    • State changed from “review-needs-work” to “peer-review-requested”
    • Milestone cleared.

    @Rick: not a problem. qunit test suite coming up and will move to 397.

  • Bobby Richter

    Bobby Richter March 17th, 2011 @ 03:36 PM

    • State changed from “peer-review-requested” to “review-needs-work”
  • Bobby Richter
  • Bobby Richter

    Bobby Richter March 17th, 2011 @ 04:40 PM

    • State changed from “review-needs-work” to “peer-review-requested”
  • Rick

    Rick March 17th, 2011 @ 05:28 PM

    • Tag changed from butter, dependency, popcorn to butter, dependency, popcorn
    • State changed from “peer-review-requested” to “super-review-requested”

    This is tremendously helpful, SR+

    (if you haven't had a chance, go ahead and get caught up with this: https://webmademovies.lighthouseapp.com/projects/63272/styleguide )

  • Rick

    Rick March 28th, 2011 @ 08:17 PM

    • Tag changed from butter, dependency, popcorn to butter, dependency, popcorn
    • Assigned user changed from “Bobby Richter” to “annasob”
  • annasob

    annasob March 31st, 2011 @ 10:26 PM

    • State changed from “super-review-requested” to “staged”
    • Milestone set to 0.5
    • Milestone order changed from “1” to “0”

    SR+ These tests look good and pass on Chrome, FF 3.6 and FF 4.0 one question: don't you have to look threw all of the plugins to check stuff like is there a manifests? I am staging this but lets take a closer look here. Adding Scott since hes diving into butter.

    Staged in annasob/popcorn-js commit

  • Rick

    Rick March 31st, 2011 @ 10:45 PM

    These tests are very specifically to ensure popcorn.js core maintains support for Butter dependacies. Plugin verification can and should be separate

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Popcorn.js is an HTML5 video framework that lets you bring elements of the web into your videos.

Popcorn.js is a project of Web Made Movies, Mozilla's Open Video Lab.

Shared Ticket Bins

Referenced by

Pages