Commit graph

584 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