QA/Firefox3.5/HTML 5 Drag and drop API

From MozillaWiki
Jump to: navigation, search

« QA/Firefox3.1/TestPlan

Feature HTML 5 Drag and Drop API Test Plan
  • First draft created 9-12-08



HTML Drag and Drop is a new feature for firefox (IE & Safari already have this) which allows you to drag data from one location in a web page to another location. You can move or copy the data. Normally this will be done with a mouse where the mouse down event would signal the Drag and Drop code, the mouse move events would be handled, and the mouse up event would signal the Drop code.

Test Strategy

  • General Testing
    • Data types
      • Selected text
      • image (draggable by default)
      • href (draggable by default)
      • Unicode text
      • Table
      • Audio/Video
      • No Data
      • Div
    • Data source locations / destinations
      • Move from http to http
      • Move from https to https
      • Move from http to https
      • Move from https to http
      • Move from one tab to another tab
      • Move from one window to another window
    • Types of Drag and Drop
      • Copy
      • Move
      • Link
      • Cancel / None
    • Other tests
      • Cancel during a move
      • restricting permissions (drag data into a non editable area)
      • using other keys such as CTRL/ALT/SHIFT to create
      • Screen refresh while moving data
      • Large amounts of data (10M of data from one element to another)
      • drag data which is updating, drop and you should get old data dropped
  • Negative Testing
    • moving an invalid data type
    • TODO: investigate internal errors that can occur
  • Interop with other Firefox features
    • print
    • cut and paste
    • clipboard
    • bookmarks
  • Application Compatibility
    • cut and paste

The majority of the tests will be done with mochitests, but some will be in litmus (since we need to test interaction with other programs)

Schedule Scoping

  • ready to test as of Sept 10
  • will take about 2 days to develop litmus/mochitests


  • Open Bugs
    • none

Testcases already added to Litmus

  • none