Spurred on by Rob reporting Firefox 1.1 Alpha test results on the SVG test suite, I decided to do the same for Opera 8. Opera only claims to support SVG Tiny, so my tests were restricted to the SVG Tiny suite. I ended up being pleasantly surprised.

Without further ado, here are the test results: Opera 8.01 Build 7642 SVG Tiny 1.1 Test Result (Windows XP).

Not bad for a first implementation. So far one bug report has been filed as a result of this. I've put out an inquiry regarding the gamma correction thing too. I need someone else to vote on the rounded rectangle issue...

I noticed that Antoine Quint also scooped me by posting his own Opera 8.01 test results that are totally at odds with mine. I looked at the tests he marked as failures and re-ran those tests:

  • linking-a-04-t: Works exactly as expected: the top (yellow) arrow links out to an external SVG document which replaces the test SVG file when clicked. The middle (green) arrow does nothing. The lower (cyan) arrow links to the W3C page.

  • linking-uri-03-t
    : Works exactly as expected: the green arrow links to the external SVG document and correctly operates when clicked.
  • struct-cond-02-t: My system is a US language and I see english text.
  • animate-elem-20-t: I had to re-run this test several times to observe that the behavior was exactly as expected. I do not see text growing at all.
  • text-fonts-02-t: The bold text is properly bold, I do not see the reversal of font weights as Antoine reports.

I can only assume Antoine used a different operating system than I did. It's also curious that he passed the tests that I failed. I'm going to forward my results to him, I hope he gets a chance to look at them.

All in all, I'm quite pleased with Opera's foray into SVG. I know they added SVGT capabilities to their browser as it is an important strategic move for their mobile browser, but I hope they consider expanding their SVG support into the Basic and Full SVG profiles in upcoming releases. You can be sure I'll be pestering them to.

One thing to note is that, although they cover a good range of capabilities, the W3C SVG 1.1 test suites are a little notorious for being incomplete (heresay: [1],[2],[3]). Chris Lilley has mentioned that new test suites are being developed now and this link shows that he ain't lyin'. So we'll likely have to run user agents through the gauntlet again real soon. Anyway, this gives the average reader/user a good feel for SVG support out there with the best test suite that I know of today.

I would also agree with the heresay that the test suites are not comprehensive.

There isn't any test that checks for arbitrary rotation of text in system-supplied fonts (i.e. non-SVG fonts). Go look at this guy's post and compare it to animate-elem-24-t.svg (which has rotations and motion of text but only using a custom SVG font.

I also noticed yesterday that Opera does not support animations that are driven by mouse events and I'm not sure when looking at the SVG 1.1 spec whether this belongs to the Animate or the Events module (the spec seems to hint it is part of the Animate module since "begin" is an attribute of the <animate> and <set> elements). For instance, the following mouseover SVG code does not work in Opera 8:

<rect x="0" y="0" width="100" height="50" fill="blue">
  <set begin="mouseover" attributeName="fill" attributeType="CSS" dur="0s" to="red"/>
  <set begin="mouseout" attributeName="fill" attributeType="CSS" dur="0s" to="blue"/>

Maybe I did something wrong there? Is the above functionality covered by a Basic or Full test somewhere? I really feel that in a mammoth specification like SVG, each and every element, attribute and capability must be exercised via a single test case to get clear, unambiguous test results. Hopefully W3C's renewed efforts in this direction will yield a satisfactory suite.

§109 · June 21, 2005 · Opera, Software, SVG, Technology, Web · · [Print]

1 Comment to “Opera 8: SVG Tiny Test Results”

  1. Benjamin Denckla says:

    Although conformance tests are important, the one feature of Opera’s SVG implementation that, surprisingly, blows all others I’ve tried away is simply a non-braindead zoom. The ability to zoom is probably outside of the spec, i.e. you don’t have to support it at all, it is a feature of the viewer not a feature of the language, but to me it is important, as it allows you to harness one of the main distinguishing advantages of vector over raster graphics. It is surprising how terrible the zoom feature is in the Adobe, Firefox, and Emia viewers.