Commit graph

834 commits

Author SHA1 Message Date
Jürg Lehni
80c8aae5bc Implement unit tests for Item#getItems() with overlapping / inside properties.
Relates to #961
2016-02-12 20:09:41 +01:00
Jürg Lehni
6d5d1ce077 Introduce Base.filter(), to copy and filter object properties. 2016-02-12 19:58:32 +01:00
Jürg Lehni
55c5f42716 Part 1 of large refactoring of bounds handling. 2016-02-12 17:59:37 +01:00
Jürg Lehni
cb79232e12 Travis CI: Use Arial in all tests. 2016-02-11 12:58:06 +01:00
Jürg Lehni
c0b39c4b8f Tests: Implement additional tests for SvgImport. 2016-02-11 12:51:48 +01:00
Jürg Lehni
df57c4adb9 SVGImport: Improve consistency of style handling. 2016-02-11 11:06:09 +01:00
Jürg Lehni
8542eb62b4 Gulp: Add test:browser task, to solve CORS issues on Chrome. 2016-02-11 10:05:21 +01:00
Jürg Lehni
9e8fcee8cd Change implementation of PathItem#flatten(flatness)
- flatness parameter specifies maximum allowed error instead of maximum allowed distance between point
- Parts that are already flat are not further flattened
- Corners are preserved

Closes #618
2016-02-10 14:58:40 +01:00
Jürg Lehni
ed4347714b Remove duplicate unit tests. 2016-02-10 13:26:40 +01:00
Jürg Lehni
0ae232e4ab Implement support for clip-masks in hit-testing.
Closes #671
2016-02-09 17:02:03 +01:00
Jürg Lehni
0371f66bda Do not snap curve points to t = 0 / 1 with epsilon
Closes #936. Also:
- Reduce CLIPPING_EPSILON to 1e-9 to fix errors that were masked by the snapping
- Implement unit tests for edge cases in #936
2016-02-06 15:12:35 +01:00
Jürg Lehni
a59a5354fb Clean-up unit test for #943 and add edge case from #944
See https://github.com/paperjs/paper.js/pull/944#issuecomment-180370569
2016-02-05 21:18:16 +01:00
Jürg Lehni
5a46620768 Merge branch 'winding-fix' into develop
; Conflicts:
;	src/path/PathItem.Boolean.js
2016-02-05 20:25:25 +01:00
iconexperience
e03c8cd198 Replace the "straight curves with zero-winding" test with a more comprehensive one containing more special cases. Also, this test requires that all points on a curve of a path must be counted as inside the path. 2016-02-05 12:45:33 +01:00
Jürg Lehni
336460b51f Define unit test for #internalBounds regression. 2016-02-03 17:38:30 +01:00
Jürg Lehni
922a502ee2 Add #interpolate() method to Segment, Path and CompoundPath
Closes #624
2016-02-02 22:11:06 +01:00
Jürg Lehni
5e53939006 Do not include text-styles in items that don't relate to text.
Closes #934
2016-02-02 21:43:44 +01:00
Jürg Lehni
a02d7248c0 Move Path_Bounds tests to Item_Bounds.
And add a test for shape.strokeBounds without strokeScaling.
2016-02-02 13:55:36 +01:00
Jürg Lehni
21dce1a655 Implement tests for #697
One currently failing due to caching issues.
2016-02-02 13:28:06 +01:00
Jürg Lehni
340a1e2a5f Rename curve-time in API from 'parameter' to 'time'
And create separate versions of methods that receive curve-time arguments instead of offsets.

Curve#getNormalAt(time, true) -> #getNormalAtTime(true)
Curve#divide() -> #divideAt(offset) / #divideAtTime(time)
Curve#split() -> #splitAt(offset) / #splitAtTime(time)
Curve#getParameterAt(offset) -> #getTimeAt(offset)
Curve#getParameterOf(point) -> getTimeOf(point)
Curve#getPointAt(time, true) -> #getPointAtTime(time)
Curve#getTangentAt(time, true) -> #getTangenttTime(time)
Curve#getNormalAt(time, true) -> #getNormalAtTime(time)
Curve#getCurvatureAt(time, true) -> #getCurvatureAtTime(time)
CurveLocation#parameter -> #time
Path#split(offset/location) -> #splitAt(offset/location)

Closes #563
2016-02-02 11:59:53 +01:00
Jürg Lehni
45595b2b1d Fix unit test error on Node.js 2016-02-01 20:20:38 +01:00
Jürg Lehni
a12e99e387 Implement unit tests for SVG Importing, based on visual comparison.
For now, one test for #932
2016-02-01 20:15:37 +01:00
Jürg Lehni
af5984747f SVG: Rename 'SVG' prefix to 'Svg'
- To make it clear it's not browser-provided functionality
- To reflect how DomElement / DomEvent are already named, for the same reason
2016-02-01 12:50:22 +01:00
Jürg Lehni
d68239a541 SVG: Introduce SVGNode object to handle SVG Elements. 2016-02-01 12:31:18 +01:00
Jürg Lehni
bc2729683c Core: Renamed Symbol and PlacedSymbol classes and properties.
- Symbol -> SymbolDefinition
- PlacedSymbol -> SymbolItem
- Symbol#definition -> SymbolDefinition#item
- PlacedSymbol#symbol -> SymbolItem#definition
- Deprecate Project#symbols

Closes #770
2016-01-31 16:52:51 +01:00
Jürg Lehni
567f286774 Tests: Switch to our own gulp-qunits module.
Since it handles PhantomJS as well as Node.js execution, and formats errors identically and quickly.
2016-01-31 12:43:38 +01:00
Jürg Lehni
e0429f44df Tests: Improve QUnit test logging and various cleanup on helpers. 2016-01-31 12:43:38 +01:00
Jürg Lehni
c22911f43b Travis CI: Try installing msttcorefonts to solve the font-size issue in tests. 2016-01-31 12:43:32 +01:00
Jürg Lehni
1c1ff8c808 Travis CI: Try to fix failing test on Travis by specifying font. 2016-01-31 12:43:26 +01:00
Jürg Lehni
639bf07a47 Tests: Clean up Emitter tests. 2016-01-31 12:43:20 +01:00
Jürg Lehni
4c84c3dad5 Tests: Start getting QUnit tests to work on Node.js
Work in progress…
2016-01-31 12:43:20 +01:00
Jürg Lehni
0b991cefdd Only mark an image as loaded if it actually has src set and is complete. 2016-01-27 10:45:39 +01:00
Jürg Lehni
4dd0099094 Fix some linting errors. 2016-01-26 20:33:42 +01:00
Jürg Lehni
fb9bdb4b39 Fetch all dev-dependencies NPM instead of Bower. 2016-01-23 19:01:38 +01:00
Jürg Lehni
ab68c5b272 Implement unit tests for #899. 2016-01-12 12:02:27 +01:00
Jürg Lehni
9a148700b7 Implement unit test for edge case from #799. 2016-01-09 12:16:50 +01:00
Jürg Lehni
c064cb6c43 Implement additional unit tests for dealing with sibling items with the same name. 2016-01-08 16:41:33 +01:00
Jürg Lehni
9eb3e8777e Define unit tests for curve unlinking. 2016-01-08 15:17:40 +01:00
Jürg Lehni
61f5f9bcfa Implement unit test for #757
Currently failing.
2016-01-08 12:28:43 +01:00
Jürg Lehni
3c66c013d1 Implement correct behavior for intersection, subtraction and intersection of fully overlapping paths. 2016-01-08 01:25:35 +01:00
Jürg Lehni
9c1aa47162 Implement unit test for 2nd edge case in #890 2016-01-07 23:19:47 +01:00
Jürg Lehni
1078e1f8a9 Implement winding fix suggested by @iconexperience.
Along with a unit test for the issue.

Closes #890
2016-01-07 10:02:43 +01:00
Jürg Lehni
7152942719 Replace links to issues with short references. 2016-01-06 14:13:02 +01:00
Jürg Lehni
45a8a69d67 Implement unit tests for #885 and #889 2016-01-06 13:20:45 +01:00
Jürg Lehni
dd082de70a Implement unit tests for PathItem#resolveCrossings() 2016-01-06 13:13:59 +01:00
Jürg Lehni
5b98fea3fc Reactivate the previously failing boolean edge case test. 2016-01-06 11:03:53 +01:00
Jürg Lehni
a6e1a1a76d Deactivate one failing edge case unit test for now.
Relates to #887
2016-01-05 11:14:26 +01:00
Jürg Lehni
7bb102e218 Update boolean tests to correct intersection results. 2016-01-04 22:36:57 +01:00
Jürg Lehni
472972ed0c Implement unit tests for #870. 2016-01-04 13:20:20 +01:00
Jürg Lehni
e79fefce96 Implement remaining unit tests from #784. 2016-01-04 12:52:22 +01:00
Jürg Lehni
3e3f32329b Implement unit-tests for all of @iconexperience's isolated edge cases.
Relates to #784
2016-01-04 12:20:00 +01:00
Jürg Lehni
1543d056a7 Add more boolean unit tests from known edge cases. 2016-01-04 11:01:42 +01:00
Jürg Lehni
4e1b26f4e0 Include stroke in boolean operation unit tests.
To compare more than just the filled results, catching additional errors.
2016-01-04 10:47:18 +01:00
Jürg Lehni
b9ee066610 Various fixes in the resemble.js QUnit extension. 2016-01-03 00:29:28 +01:00
Jürg Lehni
b33777274d More work on unit tests for boolean operation. 2016-01-02 18:21:53 +01:00
Jürg Lehni
d832a1ffcb Define unit test for #784. 2015-12-31 14:17:38 +01:00
Jürg Lehni
a4fd2ef3a3 Implement a ton of unit tests for boolean operation. 2015-12-31 14:05:58 +01:00
Jürg Lehni
3035e1d445 Define additional boolean tests and improve resemble.js based image diffing. 2015-12-30 21:55:21 +01:00
Jürg Lehni
a1fcaabed6 Implement item comparison through rasterization and resemble.js diffing, directly integrated into QUnit.
And start using it for boolean operation unit tests.
2015-12-30 21:55:21 +01:00
Jürg Lehni
e9d575e8b1 Switch to QUnit 1.20 (bower), and implement a workaround for hidepassed issues. 2015-12-30 21:55:21 +01:00
Jürg Lehni
0e427c16a2 Fix some white-spaces in comments and HTML. 2015-12-30 21:55:20 +01:00
Jürg Lehni
9d4066da1c Implement unit tests for getWinding() and zero-winding curves.
Closes #819
2015-12-30 21:55:20 +01:00
Jürg Lehni
f34afbc19a Clean up code from #856 a bit. 2015-12-30 21:55:19 +01:00
Jürg Lehni
a7a07fb6d5 Update JSDoc and do some documentation spring-cleaning.
- Convert from {@code ...} to shorter `...`
- Reformat some documentation comment blocks
- Update copyright notices
2015-12-30 21:55:19 +01:00
Jürg Lehni
12dbd3eb26 Add unit tests for isCrossing() and define a new, currently failing test. 2015-12-30 21:55:19 +01:00
Jürg Lehni
f2f34c3b75 Some minor fixes in new #getItems() code. 2015-12-30 21:55:18 +01:00
Jürg Lehni
2fea40f86f Introduce new Item#copyAttributes() & #copyContent(), and revamp #clone() handling. 2015-12-30 21:55:17 +01:00
Jürg Lehni
1d80c13b73 Clean up path intersection tests. 2015-12-30 21:55:17 +01:00
sapics
81a4d142f0 Fix shape.strokeBounds with strokeScaling is false 2015-12-30 21:52:34 +01:00
Jürg Lehni
9a772678a8 Clean up #816 a bit.
Closes #815 also.
2015-10-28 22:17:44 +01:00
Tomas Junnonen
09d4de6a1b Issue 815: Cannot add segment to Path after removing last segment
Fixed an issue where after removing the last segment of a path,
new segments cannot be re-added.

Added new Path Curve test cases to test the difference between
a path with one and no segments (zero curves in both cases), which
catches the bug.
2015-10-28 12:15:07 -04:00
Johan Sundström
1b129feebf Handle exportSVG({ precision: 0 }) correctly 2015-10-27 15:33:09 -07:00
Jürg Lehni
648985fcd2 Fix yet another issue with Path#curves and Path#_add()
Including a unit test to prevent regression.
2015-10-24 18:11:30 +02:00
Jürg Lehni
30e6835745 One more test for correctly linked curves after segment insertion.
Currently failing.
2015-10-24 17:42:36 +02:00
Jürg Lehni
ae2bed9cf0 Fix issue of faulty curves list after inserting segments at the end of open paths. 2015-10-24 17:00:37 +02:00
Jürg Lehni
5afcca928e Define failing test for issue with Path#split() and Path#curves array. 2015-10-24 16:38:13 +02:00
Jürg Lehni
30f1441c26 Various boolean code clean-ups. 2015-09-16 18:34:35 +02:00
Jürg Lehni
d0332f843f Renamed Curve#reverse() and Segment#reverse() to #reversed()
Since they don't modify the object. Also introduce new Segment#reverse(), which does.
2015-09-16 18:16:48 +02:00
Jürg Lehni
56da70c030 No need to pass TOLERANCE.
We're comparing with a default tolerance of 1e-5.
2015-09-13 13:43:50 +02:00
Jürg Lehni
52c0e3e225 Fix boolean test to adress shifted segment sequence.
We really need a circular check for closed path geometry.
2015-09-13 13:26:08 +02:00
Jürg Lehni
d62caf6faa Introduce CURVETIME_EPSILON, to be used when handling curve time parameters.
Relates to #777
2015-09-12 22:55:58 +02:00
Jürg Lehni
31d9e1cd6e Implement Curve#isLinear() to check for parametrical linearity.
Along with some unit tests for it.
2015-09-06 17:56:12 +02:00
Jürg Lehni
9d12a0a82c Rename Curve#isLinear() to #isStraight()
Relates to #652
2015-09-06 17:35:27 +02:00
Jürg Lehni
3f509ed51b Merge remote-tracking branch 'origin/develop' into boolean-fix 2015-09-06 15:37:25 +02:00
Jürg Lehni
d02f29e2f1 Remove legacy Color constructor tests. 2015-09-06 15:37:03 +02:00
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
Jürg Lehni
e428074f46 Define some failing tests for Rectangle(object) constructors. 2013-04-21 08:45:07 -07:00
Jürg Lehni
13276b7134 Define more unit tests for Shape#contains(). 2013-04-21 07:44:50 -07:00
Jürg Lehni
4b24690207 Implement Shape#contains() and define unit tests for it. 2013-04-20 20:54:06 -07:00
Jürg Lehni
163036ec72 Define unit tests for Path#contains, some are currently failing. 2013-04-20 17:25:37 -07:00
Jürg Lehni
9efbc288a1 Merge Path.Rectangle and Path.RoundRectangle. 2013-04-19 12:36:49 -07:00
Jürg Lehni
d1c6b7134f Fix Raster#getAverageColor() to work with new transforms history code. 2013-04-18 16:50:18 -07:00
Jürg Lehni
fbe8a558bd Refactor Format literal to Formatter class that keeps precision stored. 2013-04-09 17:32:19 -07:00
Jürg Lehni
b4a99415d0 Merge PathStyle, CharacterStyle and ParagraphStyle into Style.
Closes #130.
2013-04-09 16:46:20 -07:00
Jürg Lehni
495eef2ee4 Fix issue with precision and PathItem#getAverageColor() tests. 2013-04-09 08:40:41 -07:00
Jürg Lehni
da7b32a18e Clean up code references to GradientColor. 2013-04-09 08:36:17 -07:00
Jürg Lehni
49cf3201f8 Clean up GradientColor tests. 2013-04-09 01:30:42 -07:00
Jürg Lehni
5209e97c8d Merge GradientColor into Color.
Work in progress.
2013-04-09 01:21:36 -07:00
Jürg Lehni
a03363a6d1 Define tests for deprecated Color constructors. 2013-04-08 20:57:17 -07:00
Jürg Lehni
9cdc4b9372 Switch back to only one Gradient constructor for both linear and radial Gradients. 2013-04-08 20:52:21 -07:00
Jürg Lehni
ca1a395dbd Invert Color#gray component. 2013-04-08 20:20:47 -07:00
Jürg Lehni
dbec03432d Adjust Path Length tests tolerance so they don't fail. 2013-04-08 19:52:09 -07:00
Jürg Lehni
e6fa0085b6 Update all tests that depend on old Adobe Illustrator data to either use better data or more tolerance. 2013-04-08 19:51:14 -07:00
Jürg Lehni
e7c6bf3d9b Fix more Color tests. 2013-04-08 07:27:30 -07:00
Jürg Lehni
8292112ecd More work on Color and testing. 2013-04-08 07:07:41 -07:00
Jürg Lehni
0aa6c66681 Start refactoring Color tests. 2013-04-08 00:19:47 -07:00
Jürg Lehni
37566694da Fix Item#type tests. 2013-04-07 22:45:30 -07:00
Jürg Lehni
232ea221b4 First batch of large Color refactoring and simplification.
Work in progress.
2013-04-07 10:03:51 -07:00
Jürg Lehni
9d2fd2f675 Improve test description. 2013-03-23 17:08:17 -07:00
Jürg Lehni
56bec41877 Fix issues with JSON symbol test code.
Export was working, but testing code was faulty.
2013-03-19 18:52:10 -07:00
Jürg Lehni
2064f28d2d Export JSON with higher precision in tests, so comparisons of bounds do not fail. 2013-03-19 18:48:19 -07:00
Jürg Lehni
30b7891a1d Clean up JSON tests a bit. 2013-03-19 17:53:03 -07:00
Jürg Lehni
3613086a64 Move JSON test helpers to JSON file since they are only used there. 2013-03-19 16:23:05 -07:00
Jonathan Puckey
b22dc173ed Fix comparing of Raster#ppi in compareItems test helper. 2013-03-18 00:17:57 +01:00
Jonathan Puckey
a87c9e9a7f Add test for Raster#getAverageColor(compoundPath). 2013-03-17 22:27:44 +01:00
Jonathan Puckey
d7546c0c8d Add failing test for Raster#getAverageColor(path). 2013-03-17 19:24:08 +01:00
Jonathan Puckey
58247ea232 Fix bug in Raster#getSubImage and add test. 2013-03-17 18:57:16 +01:00
Jonathan Puckey
2058bf3438 Add tests for creating a raster from a data url, Raster#getPixel & Raster#setPixel. 2013-03-17 18:41:07 +01:00
Jonathan Puckey
15cdca2a92 Cleanup whitespace in Raster tests. 2013-03-17 18:16:59 +01:00
Jonathan Puckey
9865d7bdd5 Add raster constructor tests, add async test helper function and test image. 2013-03-17 18:13:55 +01:00
Jonathan Puckey
0d3f746c10 Have Raster constructor set Raster#_size to [0, 0] if it was not set. 2013-03-17 17:04:56 +01:00
Jonathan Puckey
15dab4c2db Add failing raster test where creating a raster without a source and then setting its size throws an error. 2013-03-17 16:52:54 +01:00
Jonathan Puckey
6bcb393232 Improve Raster comparison in compareItems test helper. 2013-03-17 16:34:05 +01:00
Jonathan Puckey
a535c106a8 Also compare Item#data in compareItems test helper. 2013-03-17 16:15:58 +01:00
Jonathan Puckey
1732c2cbb2 Use Format.number in compareNumbers test helper with same precision as before. 2013-03-17 15:46:42 +01:00
Jonathan Puckey
4719c05403 Fix comparing of PlacedSymbols in compareItems test helper. 2013-03-17 15:39:00 +01:00
Jonathan Puckey
a2e3759fb8 Tests: fix comparing of GradientColor#hilite. 2013-03-17 15:23:01 +01:00
Jonathan Puckey
35d71e9e33 Improve comparePathStyles test helper. 2013-03-17 15:20:14 +01:00
Jonathan Puckey
8e58084d93 Add initial set of JSON tests. 2013-03-17 14:50:51 +01:00
Jonathan Puckey
69ea1bf3fb Add helper for testing JSON exporting and re-importing of projects. 2013-03-17 14:42:20 +01:00
Jonathan Puckey
2fa9e7cf5c Add failing test for Path#split, where splitting a straight path should produce linear segments. 2013-03-16 18:08:31 +01:00
Jonathan Puckey
7eda782cfe Clean up item tests. 2013-03-16 16:27:28 +01:00
Jonathan Puckey
a3cb9862a3 Improve expected outcome description of failing test. 2013-03-16 15:46:10 +01:00
Jonathan Puckey
3f2fdbc710 Add failing test for setting a blend mode on an item in a transformed group. 2013-03-16 15:44:04 +01:00
Jonathan Puckey
83afd05d9e Fix Path.Star tests. 2013-03-10 19:06:08 +01:00
Jonathan Puckey
097a9c958f Rename Path.RegularPolygon parameter from numSides to sides. 2013-03-10 18:02:16 +01:00
Jonathan Puckey
785e017085 Add tests for Path.Line constructors. 2013-03-10 17:26:41 +01:00
Jonathan Puckey
b63d468bf2 Fix Item#parent test. 2013-03-10 17:25:25 +01:00
Jonathan Puckey
fd3fc7f2d7 Implement Item#setParent, making Item#parent writeable. Closes #186. 2013-03-10 15:35:33 +01:00
Jonathan Puckey
25d34be59b Implement Item#data. Closes #188. 2013-03-10 14:59:53 +01:00
Jürg Lehni
7a30de4784 Add one more Rectangle test. 2013-03-03 15:23:58 -08:00
Jürg Lehni
1cb1da0b26 Fix wrong assumptions in Path.Constructor tests. 2013-03-03 15:23:33 -08:00
Jürg Lehni
9c5c7997d4 Fix test for Rectangle({from:, to: }) constructor. 2013-03-03 15:07:15 -08:00
Jürg Lehni
3856302282 Fix Item#type tests, by adapting to new camel-cased version. 2013-03-03 14:22:31 -08:00
Jonathan Puckey
ace98d689f Fix Item#type test. 2013-03-03 20:14:13 +01:00
Jonathan Puckey
343dac35b1 Add tests for Item#sendToBack & Item#bringToFront. 2013-03-03 20:08:49 +01:00
Jonathan Puckey
1170c14a9a Add tests for Item#isInserted. 2013-03-03 16:59:27 +01:00
Jonathan Puckey
2c9846bf09 Add failing tests for Item#type. 2013-03-03 14:40:37 +01:00
Jonathan Puckey
c6602d4fcf Add named arguments tests for Group & Rectangle. 2013-03-03 14:20:45 +01:00
Jonathan Puckey
48708e03c1 Add tests for Path.Constructor functions using new notation. 2013-03-03 14:08:25 +01:00
Jürg Lehni
881f624575 Add failing test when inserting multiple children into the same parent. 2013-03-01 22:41:58 -08:00