Commit graph

599 commits

Author SHA1 Message Date
Jürg Lehni
fe5916766a Implement various tests for Curve#isLinear()
Some are currently failing.
2015-09-06 13:20:29 +02:00
Jürg Lehni
8b67d8a1dc Remove #isStraight() in favor of #hasHandles() and implement #clearHandles()
Relates to #652
2015-09-06 12:47:35 +02:00
Jürg Lehni
bfbe0b3147 Fix PointText size test on new Safari... 2015-09-06 12:33:41 +02:00
Jürg Lehni
3137843831 Accomodate overlap handling in boolean tests. 2015-08-25 11:45:45 +02:00
Jürg Lehni
da82116501 Rework handling of weighted and normalized curve tangents and normals.
Relates to #563
2015-08-19 17:15:41 +02:00
Jürg Lehni
be603c7da8 Fix Item#pivot test. 2015-08-18 17:23:33 +02:00
Jürg Lehni
f8314f927e Various changes on #isLinear(), #hasHandles() & co
Relates to #652

- Implement #hasHandles() on Path, Segment and Curve
- Remove Path#isPolygon()
- Define #isLinear() consistently across Path, Segment and Curve.
- Introduce new Segment#isStraight()
2015-08-17 14:31:23 +02:00
Jürg Lehni
65f085cc98 Have option.matchShapes control conversion to SVG polygon elements as well.
Closes #753
2015-08-17 14:18:22 +02:00
Jürg Lehni
4ad8875a8c Install qunitjs module as a NPM dev dependency. 2015-07-27 12:25:45 +02:00
Jürg Lehni
3816407ee7 Clean up SVGExport tests. 2015-07-27 11:42:41 +02:00
Jürg Lehni
5604dd7a30 Clean up SVGImport tests. 2015-07-27 10:29:50 +02:00
Jürg Lehni
5f42020869 Increase tolerances in #getAverageColor() tests.
The phantomjs canvas appear to produce less precise results.
2015-07-27 10:03:11 +02:00
Jürg Lehni
26cdbb6805 Fix typo: #isColinear() -> #isCollinear()
Keeping misspelled version around for a while.
2015-06-16 18:39:52 +02:00
Jürg Lehni
07b58e928e Implement unit test for shape.toPath().toShape()
Currently failing for rect.
2015-06-16 18:38:57 +02:00
Jürg Lehni
496b8ecd0f Implement unit test for issue #708. 2015-06-16 12:56:53 +02:00
Jürg Lehni
ba092b316e Implement unit test for error behind issue #676 2015-06-15 19:01:21 +02:00
Jürg Lehni
33c0ef0e5c Rename custom emitter events in unit tests. 2015-05-13 20:24:08 +02:00
Jürg Lehni
75c6db6986 Merge pull request #674 from rumman23/670-custom-events
custom events
2015-05-13 18:14:08 +02:00
Jürg Lehni
593590d707 Start implementing unit tests for hit-testing options. 2015-04-12 15:14:03 +02:00
rumman
11f4fa49b0 emitter instances with base 2015-04-08 21:01:38 +02:00
rumman
33046fff47 emitter tests 2015-04-08 10:42:50 +02:00
Jürg Lehni
7749641e66 Handle out-of-bounds offsets/parameters correctly.
Closes #660
2015-04-04 17:05:39 +02:00
Jürg Lehni
c20b32f748 Implement unit test for #610 2015-01-04 22:10:30 +01:00
Jürg Lehni
f0d28d7529 Implement unit test for #609 2015-01-04 17:46:59 +01:00
Jürg Lehni
ac0663bdd9 Hard-code numerical tolerance in unit tests as it's used in all hard-coded values. 2015-01-04 14:07:43 +01:00
Jürg Lehni
a683493e59 Implement unit tests for path intersection.
Related: #565, #568, #570, #571
2015-01-04 14:01:32 +01:00
Jürg Lehni
5890de3a80 Some more clean-up in unit test helpers code. 2014-12-28 18:23:04 +01:00
Jürg Lehni
644fb71dc1 Implement unit test comparator for Item & co + Project, and further improve new comparator code. 2014-12-28 18:10:53 +01:00
Jürg Lehni
9adbc3774a Implement unit test comparators for many more types, and start refactoring compareItems() helper. 2014-12-28 16:41:23 +01:00
Jürg Lehni
c5a2a51f3e Implement unit test comparator for Color and improve new comparator code. 2014-12-28 15:21:38 +01:00
Jürg Lehni
b8674a3bc1 Implement unit test comparators for Point, Size and Rectangle. 2014-12-28 14:59:48 +01:00
Jürg Lehni
92521d0ac8 Check expected value first for class to be used to perform comparison, since actual value might be wrong. 2014-12-28 14:36:09 +01:00
Jürg Lehni
e95e17826e Start cleaning up unit tests by introducing new class/type-based comparators lookup table. 2014-12-28 14:33:22 +01:00
Jürg Lehni
318209e9e9 Replace compareNumbers() with equals() and improve numerical tolerance handling in test helpers. 2014-11-30 11:27:14 -08:00
Jürg Lehni
99ef521af4 Switch from inline @option tags to real doc tags. 2014-10-20 23:33:28 +02:00
Jürg Lehni
b1329f1db5 Implement unit test for getItems({ empty: true }). 2014-10-20 18:19:47 +02:00
Jürg Lehni
616e848376 Implement handling of empty and editable in #getItems(), and simplify code a bit. 2014-10-18 14:32:21 +02:00
Jürg Lehni
7462fe0b70 Fix Curve.getParameterAt() for negative values of offset, and implement unit test.
Closes #524.
2014-09-28 11:44:38 +02:00
Jürg Lehni
c87ce4de4c Implement Item#replaceWith(item)
Closes #454
2014-09-27 22:52:37 +02:00
Jürg Lehni
0eb96898a3 Clean up Item tests. 2014-09-27 22:50:22 +02:00
Jürg Lehni
8414607cee Define tests for Item#remove() 2014-09-27 22:49:32 +02:00
Jürg Lehni
6450430b68 Implement new strategy regarding Project#activeLayer:
- By default, no layer is created for any project.
- Project#activeLayer is a getter for the hidden #_activeLayer property. When it is called and no layer exists, one is created on the fly.
- Creating any other items creates a layer if none exists (was already the case).
2014-09-27 22:31:49 +02:00
Jürg Lehni
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +02:00
Jürg Lehni
42ab9bbda7 Improve unit tests for CompoundPath#contains() 2014-04-28 16:42:34 +02:00
Jonathan Puckey
c1dda3c2a3 Update Project#getItems test to reflect new functionality. 2014-04-27 23:06:07 +02:00
Jonathan Puckey
4aaf689c1e Add tests for Item#getItems, Item#match & Project#getItems. 2014-04-15 17:10:47 +02:00
Jürg Lehni
93a97c7446 Reflect recent change in Item#hitTest() options. 2014-04-13 18:12:40 +02:00
Jürg Lehni
1f7cb30fa5 Correctly transform Item#pivot when #matrix is applied to an item's contents.
Closes #452 and defines unit tests to cover this bug.
2014-04-11 13:18:27 +02:00
Jürg Lehni
1bede6f7ec Implement tests for hit-testing compound-paths. 2014-04-10 22:27:29 +02:00
Jürg Lehni
f002c633a7 Remove trailing white spaces and ensure newlines at the end. 2014-04-06 13:48:03 +02:00
Jürg Lehni
692535dd97 Fix CurveLocation#offset test to check for correct offsets. 2014-03-30 14:22:40 +02:00
Jürg Lehni
0f5e74a08e Implement failing test for #437. 2014-03-30 13:53:35 +02:00
Jürg Lehni
833d71f7ea Remove Item#type and replace it with Item#className, the non-hyphenated version of #type. 2014-03-18 11:42:38 +01:00
Jürg Lehni
a1c74b8fd3 Explicitly state raster resolution in unit tests.
Since #rasterize() uses the HiDPI resolution if present now.
2014-03-18 11:20:50 +01:00
Jürg Lehni
cf8a668383 Fix HitResult test for new handling of tolerance. 2014-03-04 09:56:46 +01:00
Jürg Lehni
b08cc68ffe Fix newly introduced issue in CompoundPath#moveTo() / #lineTo() 2014-03-04 09:48:41 +01:00
Jürg Lehni
af03f2ed0a Fix unit test for strokeBounds and add new one for corners with miter limit. 2014-02-28 18:01:08 +01:00
Jürg Lehni
78a107da65 Implement unit tests for Point#isOrthogonal() 2014-02-28 17:56:56 +01:00
Jürg Lehni
87d0dc9ead Implement unit tests for Point#isColinear() 2014-02-28 17:54:34 +01:00
hkrish
9e8dbc7c3e Fix false negative and positive in the PathItem_Contains test file. 2014-02-24 19:11:32 +01:00
Jürg Lehni
81137ce7fc Merge branch 'refs/heads/master' into bool-cleanup 2014-02-24 12:19:26 +01:00
Jürg Lehni
a6b1767b2b Apply Matrix test fix from ea0147fe85 in all tests. 2014-02-24 12:19:03 +01:00
Jürg Lehni
94090d144f Merge remote-tracking branch 'origin/master' into bool-cleanup
Conflicts:
	src/options.js
2014-02-24 12:15:38 +01:00
Jürg Lehni
ea0147fe85 Handle slight imprecisions in Matrix tests. 2014-02-22 13:09:26 +01:00
Jürg Lehni
f6061905be Streamline PathItem_Contains tests and add more tests. 2014-02-19 23:53:06 +01:00
Jürg Lehni
641514cbf3 Rename Item_Contains tests to PathItem_Contains and add more failing tests for #400. 2014-02-19 14:35:04 +01:00
Jürg Lehni
a912ed96f6 Define failing test for issue #400. 2014-02-19 14:28:57 +01:00
Jürg Lehni
2010fefcbe Include importSVG() fix for Opera browser. 2014-02-12 09:47:43 +01:00
Jürg Lehni
0dddd897ab Remove internal clamping of color values to facilitate proper mathematical calculations with colors.
Clamp only when producing CSS values. Closes #271.
2014-01-04 18:16:52 +01:00
Jürg Lehni
e22fa3a664 Update copyright notice. 2014-01-04 01:47:16 +01:00
Jürg Lehni
25d8b1f0d2 Clean up code and comments in various places. 2013-12-11 17:10:09 +01:00
Jürg Lehni
48c8946f9e Implement correct hit-testing tolerance using transformed 2D stroke padding rather than unscaled numerical tolerance.
But we still need to factor in the View zoom as well...
2013-12-10 12:52:42 +01:00
Jürg Lehni
e238d23194 Implement caching of internal, untransformed bounds. 2013-12-09 10:53:19 +01:00
Jürg Lehni
5197dd81c5 Fix #fontWeight examples and documentation. 2013-12-09 10:17:10 +01:00
Jürg Lehni
3cd141170a Implement Style#fontFamily and #fontWeight as a replacement for #font.
Closes #60.
2013-12-08 21:12:51 +01:00
Jürg Lehni
2896f14e43 Define test for hit-testing fill with tolerance. 2013-12-08 12:26:11 +01:00
Jürg Lehni
462256c14d Implement failing test for group.position after content changed. 2013-12-07 19:17:30 +01:00
Jürg Lehni
0d39c4377d Define test for issue #344 2013-12-07 16:30:40 +01:00
Jürg Lehni
a837bbb2f6 Better format Point#getDirectedAngle() tests. 2013-12-07 16:28:07 +01:00
Jürg Lehni
9bcfae8661 Use comparePoints() helper in Point tests. 2013-12-07 16:26:17 +01:00
Jürg Lehni
8f20dabf4d Implement test for strokeBounds of closed path with only one segment. 2013-12-07 16:16:26 +01:00
msand
e431154e0e Fix indent. 2013-12-07 16:09:50 +02:00
msand
73b1b9843a Wrote failing test for strokeBounds on paths with a single segment and strokeColor. Implemented fix for failing test. 2013-12-07 15:59:45 +02:00
Jürg Lehni
af4410953f Various clean-ups regarding the handling of activeLayer, JSON deserialization, DOM insertion and and layer reusing.
JSON deserialization does no longer insert items into DOM twice now, and should therefore be faster.
2013-11-24 16:25:13 +01:00
Jürg Lehni
829e878243 Add failing test for creating colors from RGBA. 2013-11-24 00:02:13 +01:00
Jürg Lehni
f8106ae18f Improve code handling special winding cases. 2013-10-18 15:20:32 +02:00
Jürg Lehni
75a209c002 Handle more special cases in winding algorithm. 2013-10-18 15:15:54 +02:00
Jürg Lehni
4f27be8f12 Include new, improved point in path algorithm based on winding number.
It's also possible to switch to using the canvas's native isPointInPath() through options.nativeContains
2013-10-18 14:22:59 +02:00
Jürg Lehni
2a3ede67bb Define more tests for Path#contains(). 2013-10-17 20:18:56 +02:00
Jürg Lehni
8852cad04f Fix SVGExport tests to work with new Shape code. 2013-10-17 13:12:51 +02:00
Jürg Lehni
83be3cb023 Fix SVGImport tests to work with new Shape import. 2013-10-17 13:02:35 +02:00
Jürg Lehni
3958d35f28 Change behavior of Path#fullySelected.
Setting it on empty paths does the same as Path#selected.
2013-10-17 12:03:46 +02:00
Jürg Lehni
7a3448712b Remove duplicate test and clean up code. 2013-10-17 11:32:11 +02:00
Jürg Lehni
1ee6bb7e79 Use isZero() when checking for straight curves in Curve.getLength() 2013-09-23 08:13:32 -07:00
Jürg Lehni
cc565b3fe2 Rename Raster#getSubImage() to #getSubCanvas(), and use insert: false combined with #insertAbove() to correctly insert newly created rasters. 2013-08-14 12:21:47 -07:00
Jürg Lehni
98697eb003 Fix Layer#insertAbove / insertBelow test. 2013-07-21 16:44:30 -07:00
Jürg Lehni
3ee3262f7a Use non-deprecated versions. 2013-07-21 16:13:27 -07:00
Jürg Lehni
092ea182dc Improve tests for moveAbove() / moveBelow(). 2013-07-21 16:11:09 -07:00
Jürg Lehni
cfbd356247 Fix active layer test when calling Layer#clone(). 2013-07-19 18:29:21 -07:00
Jürg Lehni
20a17f2939 Implement insert parameter in Item#clone() to control DOM insertion.
Defaults to true. Also insert in the right place now, above the original.
2013-07-19 18:27:00 -07:00
Jürg Lehni
14888bca50 Define failing test about Item cloning hierarchy.
Cloned items should be inserted right above their originals.
2013-07-19 18:10:58 -07:00
Jürg Lehni
29bdf49a0f Fix tests for deprecated Color constructors. 2013-07-02 07:53:58 -07:00
Jürg Lehni
d369984196 Allow math operands larger than 1 when multiplying and dividing colors. 2013-06-28 07:59:33 -07:00
Jürg Lehni
2c578d0558 Start implementing math operators for Color. 2013-06-28 07:19:53 -07:00
Jürg Lehni
214db84b84 Improve src/load.js to directly load the library through PrePro's load.js 2013-06-26 19:14:54 -07:00
Jürg Lehni
4e173a7d35 Switch to the NPM version of PrePro's load.js 2013-06-26 18:57:46 -07:00
Jürg Lehni
8c9ac92a59 Define failing test for hit-testing bounds on raster items.
Linked to issue #247.
2013-06-23 19:48:46 -07:00
Jürg Lehni
e59ae78285 Improve hit-testing tests for guides. 2013-06-23 19:00:57 -07:00
Jürg Lehni
dca049c6ab Implement failing test for hit-testing guides. 2013-06-23 18:18:49 -07:00
Jürg Lehni
f45fa853e7 Improve new hit-testing test. 2013-06-23 17:54:24 -07:00
Jürg Lehni
3b782f6338 Implement failing test for #243. 2013-06-23 17:52:31 -07:00
Jürg Lehni
1e81176cf1 Merge branch 'master' of github.com:paperjs/paper.js 2013-06-23 17:22:30 -07:00
Jürg Lehni
4b62949318 Fix tests for #246.
This is actually the right behavior: Setting length to negative values should flip around defined vectors.
2013-06-23 17:22:13 -07:00
Jürg Lehni
cf1b5a5df8 Define failing test for #246 2013-06-23 16:55:14 -07:00
Chris Barmonde
68626ca62b Fix project.clear() so it removes all layers properly. 2013-06-20 20:14:47 -06:00
Jürg Lehni
258c404b98 Move curvature calculations into Curve.evaluate(), and define unit tests for it. 2013-06-18 19:00:05 -07:00
Jürg Lehni
dc076efd0c Implement unit tests for Curve#getCurvatureAt(). 2013-06-18 18:29:32 -07:00
Jürg Lehni
663a7e0369 Implement unit tests for Curve#getTangentAt() and #getNormalAt(). 2013-06-18 18:23:48 -07:00
Jürg Lehni
2770a80a00 Fix unit tests for CSS values after white-space removal. 2013-06-18 15:59:28 -07:00
Jürg Lehni
d761c6c25f Implement tests for Curve#getPointAt().
More to come.
2013-06-17 08:54:42 -07:00
Jürg Lehni
5d48513f8a Define failing test for hit-testing miter strokes. 2013-06-13 11:07:43 -07:00
Jürg Lehni
fe10c99d1b Implement standard behavior of #_hitTest() for items without children, based on #_contains().
This should cover the minimum of what's needed for PointText.
2013-06-12 19:30:23 -07:00
Jürg Lehni
4a8469b740 Define Base.isPlainValue() and use it to implement more flexible #equals() for Color and Rectangle. 2013-06-12 18:55:14 -07:00
Jürg Lehni
13d97796aa Start implementing unit tests for TextItem / PointText.
One failing already.
2013-06-12 16:50:24 -07:00
Jürg Lehni
e6721cdbd6 Clean up rectangle test. 2013-06-12 15:16:45 -07:00
Jürg Lehni
507520f79d Improve equals() test helper. 2013-06-12 14:56:36 -07:00
Jürg Lehni
716cf1acb8 Add more failing tests for new Rectangle(object) constructors. 2013-06-12 14:56:21 -07:00
Jürg Lehni
9977ec5c28 Rename #toCss() to #toCSS() 2013-06-12 14:04:59 -07:00
Jürg Lehni
ac1908878e Define failing test for Path#contains() and open paths. 2013-06-12 00:28:57 -07:00
Jürg Lehni
cb1f9e5b7c Define failing test for #227 2013-06-12 00:00:42 -07:00
Jürg Lehni
3db6e103c2 Implement failing tests for Point#equals().
As needed to fix #235
2013-06-11 19:52:42 -07:00
Jürg Lehni
530dfda4ba Fix old group style test that was faulty but remain undetected because of other bug. 2013-06-11 13:58:04 -07:00
Jürg Lehni
b512532d23 Improve compareColors() helper. 2013-06-11 13:53:48 -07:00
Jürg Lehni
0b42d594de Simplify failing test. 2013-06-11 13:44:42 -07:00
Jürg Lehni
7bd96716ee Define failing test for wrongly merged group fillColor. 2013-06-11 13:44:00 -07:00
Jürg Lehni
90d4834c01 Clean up jsDump modifications a bit. 2013-06-11 13:43:29 -07:00
Jürg Lehni
3a043e0023 Fix empty tests. 2013-06-11 13:40:50 -07:00
Jürg Lehni
763ce7f4b1 Update to latest version of QUnit and install jsDump parser for Base objects. 2013-06-11 13:38:08 -07:00
Jürg Lehni
7c2e57e105 Remove Item#applyMatrix boolean, go back to previous way of directly applying transformations to children in Group and Layer, and introduce new Clip class for non-transformed nested matrices. 2013-05-13 18:57:17 -07:00
Jürg Lehni
618e19cc96 Add failing test for #215. 2013-05-07 22:48:53 -07:00
Jürg Lehni
06ffd8089d Fix issue in Path#removeSegments() where curves are removed wrongly when start index is 0.
Closes #200.
2013-04-26 08:46:57 -07:00
Jürg Lehni
24443c548a Define failing test for issue #200. 2013-04-26 08:41:18 -07:00
Jürg Lehni
d7e075d316 Handle contour edge cases in Path#contains().
Closes #208.
2013-04-25 11:03:49 -07:00
Jürg Lehni
c70b9e7d7d Fix issue with Path#strokeBounds with #strokeJoin == 'miter' and clockwise orientation.
Closes #206.
2013-04-24 19:27:31 -07:00
Jürg Lehni
77292892ca Define failing test for #206. 2013-04-24 18:55:00 -07:00
Jürg Lehni
62ffa8749c Define failing tests for #208. 2013-04-24 18:35:44 -07:00
Jürg Lehni
6029f59494 More uppercase changes. 2013-04-23 07:29:30 -07:00
Jürg Lehni
96d9b6730f Rename Svg acronyms in API to SVG. 2013-04-23 07:19:08 -07:00
Jürg Lehni
cebeb11301 Rename Json acronyms in API to JSON. 2013-04-23 07:13:51 -07:00
Jürg Lehni
86e77e12bc Use new Project#clear() instead of activeLayer.remove(). 2013-04-23 07:11:23 -07:00