Files
openlayers/test
tschaub 4d97b583c6 Match the current Filter Effects spec
This commit is a cherry-pick of 19f7778.

The current draft of the [filter spec](https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html)
describes brightness, contrast, hue-rotate, and saturate functions that
roughly match our layer's setBrightness, setContrast, setHue, and
setSaturation methods.  These changes make the range of our methods match
the corresponding functions in the spec.  The one exception is the
brightness function.  The spec says it has a range of 0 to positive infinity.
The WebKit implementation accepts a range of -1 to 1 (as of
https://github.com/WebKit/webkit/commit/8f4765e569).  There's an open
(ticket)[https://www.w3.org/Bugs/Public/show_bug.cgi?id=15647] recommending
that the spec be changed to match.

I'm not stuck on having our methods match those of the filter spec, but the
parity would be nice.

These changes leave the WebGL map renderer "broken" (whacky colors).  It would
be straightforward to update the current fragment shader to handle the new
range of hue, but the brightness, contrast, and saturation handling will
need to be reworked.

For inspiration, here are the color transformation
matrix calculations the WebKit filters:
8f4765e569/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp (L64-80)

Conflicts:

	src/ol/renderer/dom/domlayerrenderer.js
2012-12-12 15:18:34 +01:00
..
2012-06-18 18:15:51 +02:00
2012-09-24 22:34:08 +02:00
2012-12-12 15:18:34 +01:00
2012-09-25 12:04:57 +02:00

Included in this directory

  • ol.html - the web page used to run the test suite.

  • spec - includes the OpenLayers test/spec files.

  • jasmine-1.2.0 - includes the Jasmine Testing Framework. https://github.com/pivotal/jasmine

  • jasmine-extensions.js - includes OpenLayers-specific extensions to Jasmine.

  • phantom-jasmine - a PhantomJS script and a console reporter to for headless testing. Comes from https://github.com/jcarver989/phantom-jasmine.

Run the test suite with PhantomJS

With PhantomJS installed, and assuming phantomjs is in the PATH:

$ phantomjs phantom-jasmine/run_jasmine_test.coffee ol.html

(Works with PhantomJS 1.6.1, untested with other versions.)

This command can also be run by doing make test at the root of ol3.

Tip for TDD'ers: to make PhantomJS run the test suite continuously each time a spec file is changed you can use nosier (http://pypi.python.org/pypi/nosier) and do nosier -p test -p src "make test".