Behaviour of SVGLengthList.replaceItem() in existing UAs

For ACTION-2068, here are the results of some brief testing of
SVGLengthList.replaceItem() when the item to be insert is already in
the list.

http://www.w3.org/SVG/Graphics/Group/repository/testing/1.1/replaceItem.svg

The file does the following call:

  list.replaceItem(list.getItem(n), m)

with four sets of values for n and m:

  ▪ n = m, n < length - 1
  ▪ n = m, n = length - 1
  ▪ n < m
  ▪ n > m

Results (no interop here):

Batik nightly

  For all cases it behaves like:

    list.removeItem(m)
    list.replaceItem(list.getItem(n), m)

  For the n = m = length - 1 case, a (non-DOM) exception is thrown.

  So the index is of the item to replace after the removal of the first
  argument.

Opera 9.5

  For n = m, same behaviour as Batik.  (But for n = m = length - 1, an
  actual DOMException INDEX_SIZE_ERR is thrown.)

  For the other cases, the index is of the item to replace before the
  removal takes place.

WebKit nightly

  Seems to replace the actual value of a given item in the list.  So the
  number of items stays the same, but the value of the item at index m
  is set to the value of the item at index n.
  
Firefox 3

  replaceItem() isn’t implemented.

Renesis 1.1
 
  SVGTextElement.x isn’t implemented.

-- 
Cameron McCormack ≝ http://mcc.id.au/

Received on Thursday, 19 June 2008 07:52:13 UTC