diff --git a/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme b/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme index 94cec15d..998fd245 100644 --- a/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme +++ b/Macaw.xcodeproj/xcshareddata/xcschemes/MacawTests.xcscheme @@ -5,6 +5,22 @@ + + + + + + - - - - + + + + diff --git a/MacawTests/MacawSVGTests.swift b/MacawTests/MacawSVGTests.swift index fb22ef30..78756407 100644 --- a/MacawTests/MacawSVGTests.swift +++ b/MacawTests/MacawSVGTests.swift @@ -20,13 +20,13 @@ class MacawSVGTests: XCTestCase { private let testFolderName = "MacawTestOutputData" private let shouldComparePNGImages = true private let multipleTestsWillRun = false - private let shouldSaveFaildedTestImage = false + private let shouldSaveFailedTestImage = false override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. super.setUp() - if shouldSaveFaildedTestImage { + if shouldSaveFailedTestImage { setupTestFolderDirectory() } } @@ -36,6 +36,21 @@ class MacawSVGTests: XCTestCase { super.tearDown() } + func compareResults(nodeContent: String?, referenceContent: String?) { + guard let nodeContent = nodeContent else { + XCTFail("nodeContent is empty") + return + } + guard let referenceContent = referenceContent else { + XCTFail("referenceContent is empty") + return + } + + if nodeContent != referenceContent { + XCTFail("nodeContent is not equal to referenceContent" + TestUtils.prettyFirstDifferenceBetweenStrings(s1: nodeContent, s2: referenceContent)) + } + } + func validate(node: Node, referenceFile: String) { let bundle = Bundle(for: type(of: TestUtils())) @@ -43,7 +58,7 @@ class MacawSVGTests: XCTestCase { if let path = bundle.path(forResource: referenceFile, ofType: "reference") { let clipReferenceContent = try String.init(contentsOfFile: path).trimmingCharacters(in: .newlines) let result = SVGSerializer.serialize(node: node) - XCTAssertEqual(result, clipReferenceContent) + compareResults(nodeContent: result, referenceContent: clipReferenceContent) } else { XCTFail("No file \(referenceFile)") } @@ -192,13 +207,10 @@ class MacawSVGTests: XCTestCase { let bundle = Bundle(for: type(of: TestUtils())) do { if let path = bundle.path(forResource: referenceFile, ofType: "reference") { + let referenceContent = try String(contentsOfFile: path) - let nodeContent = String(data: getJSONData(node: node), encoding: String.Encoding.utf8) - - if nodeContent != referenceContent { - XCTFail("nodeContent is not equal to referenceContent") - } + compareResults(nodeContent: nodeContent, referenceContent: referenceContent) let nativeImage = getImage(from: referenceFile) @@ -261,9 +273,9 @@ class MacawSVGTests: XCTestCase { if referenceContentData != nodeContentData { - var failInfo = "referenceContentData is not equal to nodeContentData" + var failInfo = "referenceImageData is not equal to nodeImageData" - if shouldSaveFaildedTestImage { + if shouldSaveFailedTestImage { let _ = saveImage(image: referenceImage, fileName: referenceFile + "_reference") let _ = saveImage(image: nodeImage, fileName: referenceFile + "_incorrect") @@ -314,7 +326,7 @@ class MacawSVGTests: XCTestCase { } func writeToFile(string: String, fileName: String) -> URL? { - guard let directory = try? FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false) as NSURL else { + guard let directory = try? FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) as NSURL else { return .none } do { diff --git a/MacawTests/TestUtils.swift b/MacawTests/TestUtils.swift index 5fedc62f..71ca68b7 100644 --- a/MacawTests/TestUtils.swift +++ b/MacawTests/TestUtils.swift @@ -25,4 +25,133 @@ class TestUtils { return result } + class func prettyFirstDifferenceBetweenStrings(s1: String, s2: String) -> String { + return prettyFirstDifferenceBetweenNSStrings(s1: s1 as NSString, s2: s2 as NSString) as String + } + +} + +/// Find first differing character between two strings +/// +/// :param: s1 First String +/// :param: s2 Second String +/// +/// :returns: .DifferenceAtIndex(i) or .NoDifference +fileprivate func firstDifferenceBetweenStrings(s1: NSString, s2: NSString) -> FirstDifferenceResult { + let len1 = s1.length + let len2 = s2.length + + let lenMin = min(len1, len2) + + for i in 0.. NSString { + let firstDifferenceResult = firstDifferenceBetweenStrings(s1: s1, s2: s2) + return prettyDescriptionOfFirstDifferenceResult(firstDifferenceResult: firstDifferenceResult, s1: s1, s2: s2) +} + + +/// Create a formatted String representation of a FirstDifferenceResult for two strings +/// +/// :param: firstDifferenceResult FirstDifferenceResult +/// :param: s1 First string used in generation of firstDifferenceResult +/// :param: s2 Second string used in generation of firstDifferenceResult +/// +/// :returns: a printable string, possibly containing significant whitespace and newlines +fileprivate func prettyDescriptionOfFirstDifferenceResult(firstDifferenceResult: FirstDifferenceResult, s1: NSString, s2: NSString) -> NSString { + + func diffString(index: Int, s1: NSString, s2: NSString) -> NSString { + let markerArrow = "\u{2b06}" // "⬆" + let ellipsis = "\u{2026}" // "…" + /// Given a string and a range, return a string representing that substring. + /// + /// If the range starts at a position other than 0, an ellipsis + /// will be included at the beginning. + /// + /// If the range ends before the actual end of the string, + /// an ellipsis is added at the end. + func windowSubstring(s: NSString, range: NSRange) -> String { + let validRange = NSMakeRange(range.location, min(range.length, s.length - range.location)) + let substring = s.substring(with: validRange) + + let prefix = range.location > 0 ? ellipsis : "" + let suffix = (s.length - range.location > range.length) ? ellipsis : "" + + return "\(prefix)\(substring)\(suffix)" + } + + // Show this many characters before and after the first difference + let windowPrefixLength = 10 + let windowSuffixLength = 10 + let windowLength = windowPrefixLength + 1 + windowSuffixLength + + let windowIndex = max(index - windowPrefixLength, 0) + let windowRange = NSMakeRange(windowIndex, windowLength) + + let sub1 = windowSubstring(s: s1, range: windowRange) + let sub2 = windowSubstring(s: s2, range: windowRange) + + let markerPosition = min(windowSuffixLength, index) + (windowIndex > 0 ? 1 : 0) + + let markerPrefix = String(repeating: " ", count: markerPosition) + let markerLine = "\(markerPrefix)\(markerArrow)" + + return "Difference at index \(index):\n\(sub1)\n\(sub2)\n\(markerLine)" as NSString + } + + switch firstDifferenceResult { + case .NoDifference: return "No difference" + case .DifferenceAtIndex(let index): return diffString(index: index, s1: s1, s2: s2) + } +} + +/// Result type for firstDifferenceBetweenStrings() +public enum FirstDifferenceResult { + /// Strings are identical + case NoDifference + + /// Strings differ at the specified index. + /// + /// This could mean that characters at the specified index are different, + /// or that one string is longer than the other + case DifferenceAtIndex(Int) +} + +extension FirstDifferenceResult: CustomStringConvertible { + /// Textual representation of a FirstDifferenceResult + public var description: String { + switch self { + case .NoDifference: + return "NoDifference" + case .DifferenceAtIndex(let index): + return "DifferenceAtIndex(\(index))" + } + } + + /// Textual representation of a FirstDifferenceResult for debugging purposes + public var debugDescription: String { + return self.description + } } diff --git a/MacawTests/png/color-prop-01-b-manual.png b/MacawTests/png/color-prop-01-b-manual.png index 18a3bea5..ddc2e9c1 100644 Binary files a/MacawTests/png/color-prop-01-b-manual.png and b/MacawTests/png/color-prop-01-b-manual.png differ diff --git a/MacawTests/png/color-prop-03-t-manual.png b/MacawTests/png/color-prop-03-t-manual.png index 1a392e67..abd0daf5 100644 Binary files a/MacawTests/png/color-prop-03-t-manual.png and b/MacawTests/png/color-prop-03-t-manual.png differ diff --git a/MacawTests/png/color-prop-04-t-manual-osx.png b/MacawTests/png/color-prop-04-t-manual-osx.png index 78172e79..36820a9d 100644 Binary files a/MacawTests/png/color-prop-04-t-manual-osx.png and b/MacawTests/png/color-prop-04-t-manual-osx.png differ diff --git a/MacawTests/png/color-prop-05-t-manual.png b/MacawTests/png/color-prop-05-t-manual.png index 9776596f..01af3756 100644 Binary files a/MacawTests/png/color-prop-05-t-manual.png and b/MacawTests/png/color-prop-05-t-manual.png differ diff --git a/MacawTests/png/coords-coord-01-t-manual.png b/MacawTests/png/coords-coord-01-t-manual.png index 746438f1..a8d7ea9d 100644 Binary files a/MacawTests/png/coords-coord-01-t-manual.png and b/MacawTests/png/coords-coord-01-t-manual.png differ diff --git a/MacawTests/png/coords-coord-02-t-manual.png b/MacawTests/png/coords-coord-02-t-manual.png index 915d9eaa..00f7cad7 100644 Binary files a/MacawTests/png/coords-coord-02-t-manual.png and b/MacawTests/png/coords-coord-02-t-manual.png differ diff --git a/MacawTests/png/coords-trans-01-b-manual.png b/MacawTests/png/coords-trans-01-b-manual.png index 4b9a607a..a0ab8d97 100644 Binary files a/MacawTests/png/coords-trans-01-b-manual.png and b/MacawTests/png/coords-trans-01-b-manual.png differ diff --git a/MacawTests/png/coords-trans-02-t-manual.png b/MacawTests/png/coords-trans-02-t-manual.png index c97ab20f..974af5ff 100644 Binary files a/MacawTests/png/coords-trans-02-t-manual.png and b/MacawTests/png/coords-trans-02-t-manual.png differ diff --git a/MacawTests/png/coords-trans-03-t-manual.png b/MacawTests/png/coords-trans-03-t-manual.png index 3d271622..552630a3 100644 Binary files a/MacawTests/png/coords-trans-03-t-manual.png and b/MacawTests/png/coords-trans-03-t-manual.png differ diff --git a/MacawTests/png/coords-trans-04-t-manual.png b/MacawTests/png/coords-trans-04-t-manual.png index 6eff7be7..c3af41b2 100644 Binary files a/MacawTests/png/coords-trans-04-t-manual.png and b/MacawTests/png/coords-trans-04-t-manual.png differ diff --git a/MacawTests/png/coords-trans-05-t-manual.png b/MacawTests/png/coords-trans-05-t-manual.png index 03e06d9e..1a57aac2 100644 Binary files a/MacawTests/png/coords-trans-05-t-manual.png and b/MacawTests/png/coords-trans-05-t-manual.png differ diff --git a/MacawTests/png/coords-trans-06-t-manual.png b/MacawTests/png/coords-trans-06-t-manual.png index d3eb1a7f..1970f147 100644 Binary files a/MacawTests/png/coords-trans-06-t-manual.png and b/MacawTests/png/coords-trans-06-t-manual.png differ diff --git a/MacawTests/png/coords-trans-07-t-manual.png b/MacawTests/png/coords-trans-07-t-manual.png index e831309e..855b5a6b 100644 Binary files a/MacawTests/png/coords-trans-07-t-manual.png and b/MacawTests/png/coords-trans-07-t-manual.png differ diff --git a/MacawTests/png/coords-trans-08-t-manual.png b/MacawTests/png/coords-trans-08-t-manual.png index a923c516..dd205d85 100644 Binary files a/MacawTests/png/coords-trans-08-t-manual.png and b/MacawTests/png/coords-trans-08-t-manual.png differ diff --git a/MacawTests/png/coords-trans-09-t-manual.png b/MacawTests/png/coords-trans-09-t-manual.png index d06857e8..157deb53 100644 Binary files a/MacawTests/png/coords-trans-09-t-manual.png and b/MacawTests/png/coords-trans-09-t-manual.png differ diff --git a/MacawTests/png/coords-trans-10-f-manual.png b/MacawTests/png/coords-trans-10-f-manual.png index 182b4977..e1dcd8bf 100644 Binary files a/MacawTests/png/coords-trans-10-f-manual.png and b/MacawTests/png/coords-trans-10-f-manual.png differ diff --git a/MacawTests/png/coords-trans-11-f-manual.png b/MacawTests/png/coords-trans-11-f-manual.png index 6081e00f..15b53707 100644 Binary files a/MacawTests/png/coords-trans-11-f-manual.png and b/MacawTests/png/coords-trans-11-f-manual.png differ diff --git a/MacawTests/png/coords-trans-12-f-manual.png b/MacawTests/png/coords-trans-12-f-manual.png index 74ab8aac..b030a3b8 100644 Binary files a/MacawTests/png/coords-trans-12-f-manual.png and b/MacawTests/png/coords-trans-12-f-manual.png differ diff --git a/MacawTests/png/coords-trans-13-f-manual.png b/MacawTests/png/coords-trans-13-f-manual.png index 656f1534..f80c052a 100644 Binary files a/MacawTests/png/coords-trans-13-f-manual.png and b/MacawTests/png/coords-trans-13-f-manual.png differ diff --git a/MacawTests/png/coords-trans-14-f-manual.png b/MacawTests/png/coords-trans-14-f-manual.png index a8e1e62d..5a805890 100644 Binary files a/MacawTests/png/coords-trans-14-f-manual.png and b/MacawTests/png/coords-trans-14-f-manual.png differ diff --git a/MacawTests/png/coords-transformattr-01-f-manual.png b/MacawTests/png/coords-transformattr-01-f-manual.png index 8585ff7b..7abc321d 100644 Binary files a/MacawTests/png/coords-transformattr-01-f-manual.png and b/MacawTests/png/coords-transformattr-01-f-manual.png differ diff --git a/MacawTests/png/coords-transformattr-02-f-manual.png b/MacawTests/png/coords-transformattr-02-f-manual.png index f20af4b3..451d9307 100644 Binary files a/MacawTests/png/coords-transformattr-02-f-manual.png and b/MacawTests/png/coords-transformattr-02-f-manual.png differ diff --git a/MacawTests/png/coords-transformattr-03-f-manual.png b/MacawTests/png/coords-transformattr-03-f-manual.png index 6346bbd8..d2f89540 100644 Binary files a/MacawTests/png/coords-transformattr-03-f-manual.png and b/MacawTests/png/coords-transformattr-03-f-manual.png differ diff --git a/MacawTests/png/coords-transformattr-04-f-manual.png b/MacawTests/png/coords-transformattr-04-f-manual.png index 91f65991..2c5ba78e 100644 Binary files a/MacawTests/png/coords-transformattr-04-f-manual.png and b/MacawTests/png/coords-transformattr-04-f-manual.png differ diff --git a/MacawTests/png/coords-transformattr-05-f-manual.png b/MacawTests/png/coords-transformattr-05-f-manual.png index 516264cb..7c952c80 100644 Binary files a/MacawTests/png/coords-transformattr-05-f-manual.png and b/MacawTests/png/coords-transformattr-05-f-manual.png differ diff --git a/MacawTests/png/masking-filter-01-f-manual.png b/MacawTests/png/masking-filter-01-f-manual.png index 95d986a5..859ee50b 100644 Binary files a/MacawTests/png/masking-filter-01-f-manual.png and b/MacawTests/png/masking-filter-01-f-manual.png differ diff --git a/MacawTests/png/masking-intro-01-f-manual.png b/MacawTests/png/masking-intro-01-f-manual.png index 914d8c3c..902f1e95 100644 Binary files a/MacawTests/png/masking-intro-01-f-manual.png and b/MacawTests/png/masking-intro-01-f-manual.png differ diff --git a/MacawTests/png/masking-mask-02-f-manual.png b/MacawTests/png/masking-mask-02-f-manual.png index c32fb1f3..f280bfd6 100644 Binary files a/MacawTests/png/masking-mask-02-f-manual.png and b/MacawTests/png/masking-mask-02-f-manual.png differ diff --git a/MacawTests/png/masking-path-02-b-manual.png b/MacawTests/png/masking-path-02-b-manual.png index 6d9fc8cc..28fd9caf 100644 Binary files a/MacawTests/png/masking-path-02-b-manual.png and b/MacawTests/png/masking-path-02-b-manual.png differ diff --git a/MacawTests/png/masking-path-13-f-manual.png b/MacawTests/png/masking-path-13-f-manual.png index e8b84a82..cb284ea1 100644 Binary files a/MacawTests/png/masking-path-13-f-manual.png and b/MacawTests/png/masking-path-13-f-manual.png differ diff --git a/MacawTests/png/metadata-example-01-t-manual.png b/MacawTests/png/metadata-example-01-t-manual.png index c883e4bb..e00f35aa 100644 Binary files a/MacawTests/png/metadata-example-01-t-manual.png and b/MacawTests/png/metadata-example-01-t-manual.png differ diff --git a/MacawTests/png/painting-control-01-f-manual.png b/MacawTests/png/painting-control-01-f-manual.png index a6753fb6..26089211 100644 Binary files a/MacawTests/png/painting-control-01-f-manual.png and b/MacawTests/png/painting-control-01-f-manual.png differ diff --git a/MacawTests/png/painting-control-02-f-manual.png b/MacawTests/png/painting-control-02-f-manual.png index 88af569a..9a7a816f 100644 Binary files a/MacawTests/png/painting-control-02-f-manual.png and b/MacawTests/png/painting-control-02-f-manual.png differ diff --git a/MacawTests/png/painting-control-03-f-manual.png b/MacawTests/png/painting-control-03-f-manual.png index 40dcd0f6..e8774fd1 100644 Binary files a/MacawTests/png/painting-control-03-f-manual.png and b/MacawTests/png/painting-control-03-f-manual.png differ diff --git a/MacawTests/png/painting-control-06-f-manual.png b/MacawTests/png/painting-control-06-f-manual.png index 219170cc..547b1434 100644 Binary files a/MacawTests/png/painting-control-06-f-manual.png and b/MacawTests/png/painting-control-06-f-manual.png differ diff --git a/MacawTests/png/painting-fill-01-t-manual.png b/MacawTests/png/painting-fill-01-t-manual.png index 6fdee5aa..37d49dd8 100644 Binary files a/MacawTests/png/painting-fill-01-t-manual.png and b/MacawTests/png/painting-fill-01-t-manual.png differ diff --git a/MacawTests/png/painting-fill-02-t-manual.png b/MacawTests/png/painting-fill-02-t-manual.png index 33fbbd35..30ba74e5 100644 Binary files a/MacawTests/png/painting-fill-02-t-manual.png and b/MacawTests/png/painting-fill-02-t-manual.png differ diff --git a/MacawTests/png/painting-fill-03-t-manual.png b/MacawTests/png/painting-fill-03-t-manual.png index 7898d5ee..5436f66e 100644 Binary files a/MacawTests/png/painting-fill-03-t-manual.png and b/MacawTests/png/painting-fill-03-t-manual.png differ diff --git a/MacawTests/png/painting-fill-04-t-manual.png b/MacawTests/png/painting-fill-04-t-manual.png index e62a0fae..baa6f9c2 100644 Binary files a/MacawTests/png/painting-fill-04-t-manual.png and b/MacawTests/png/painting-fill-04-t-manual.png differ diff --git a/MacawTests/png/painting-fill-05-b-manual.png b/MacawTests/png/painting-fill-05-b-manual.png index a42c7f98..9a464b02 100644 Binary files a/MacawTests/png/painting-fill-05-b-manual.png and b/MacawTests/png/painting-fill-05-b-manual.png differ diff --git a/MacawTests/png/painting-stroke-01-t-manual.png b/MacawTests/png/painting-stroke-01-t-manual.png index 031cdec6..2785ed53 100644 Binary files a/MacawTests/png/painting-stroke-01-t-manual.png and b/MacawTests/png/painting-stroke-01-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-02-t-manual.png b/MacawTests/png/painting-stroke-02-t-manual.png index 83c23998..9428b4ac 100644 Binary files a/MacawTests/png/painting-stroke-02-t-manual.png and b/MacawTests/png/painting-stroke-02-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-03-t-manual.png b/MacawTests/png/painting-stroke-03-t-manual.png index 22e17166..e2c18f4a 100644 Binary files a/MacawTests/png/painting-stroke-03-t-manual.png and b/MacawTests/png/painting-stroke-03-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-04-t-manual.png b/MacawTests/png/painting-stroke-04-t-manual.png index 94703bd7..631b548f 100644 Binary files a/MacawTests/png/painting-stroke-04-t-manual.png and b/MacawTests/png/painting-stroke-04-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-05-t-manual.png b/MacawTests/png/painting-stroke-05-t-manual.png index fd9f37d5..4f233669 100644 Binary files a/MacawTests/png/painting-stroke-05-t-manual.png and b/MacawTests/png/painting-stroke-05-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-06-t-manual.png b/MacawTests/png/painting-stroke-06-t-manual.png index 679fec11..99bab928 100644 Binary files a/MacawTests/png/painting-stroke-06-t-manual.png and b/MacawTests/png/painting-stroke-06-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-07-t-manual.png b/MacawTests/png/painting-stroke-07-t-manual.png index 48b5faa6..fa9d194a 100644 Binary files a/MacawTests/png/painting-stroke-07-t-manual.png and b/MacawTests/png/painting-stroke-07-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-08-t-manual.png b/MacawTests/png/painting-stroke-08-t-manual.png index 1fd52f57..bc901e4d 100644 Binary files a/MacawTests/png/painting-stroke-08-t-manual.png and b/MacawTests/png/painting-stroke-08-t-manual.png differ diff --git a/MacawTests/png/painting-stroke-09-t-manual.png b/MacawTests/png/painting-stroke-09-t-manual.png index 1d8b13c7..c09a4fbb 100644 Binary files a/MacawTests/png/painting-stroke-09-t-manual.png and b/MacawTests/png/painting-stroke-09-t-manual.png differ diff --git a/MacawTests/png/paths-data-01-t-manual.png b/MacawTests/png/paths-data-01-t-manual.png index aa24bd62..6e54bbd6 100644 Binary files a/MacawTests/png/paths-data-01-t-manual.png and b/MacawTests/png/paths-data-01-t-manual.png differ diff --git a/MacawTests/png/paths-data-02-t-manual.png b/MacawTests/png/paths-data-02-t-manual.png index 8063f7c1..5962766b 100644 Binary files a/MacawTests/png/paths-data-02-t-manual.png and b/MacawTests/png/paths-data-02-t-manual.png differ diff --git a/MacawTests/png/paths-data-03-f-manual.png b/MacawTests/png/paths-data-03-f-manual.png index df532e00..8a4c81c4 100644 Binary files a/MacawTests/png/paths-data-03-f-manual.png and b/MacawTests/png/paths-data-03-f-manual.png differ diff --git a/MacawTests/png/paths-data-04-t-manual.png b/MacawTests/png/paths-data-04-t-manual.png index c1b711ed..0a369f58 100644 Binary files a/MacawTests/png/paths-data-04-t-manual.png and b/MacawTests/png/paths-data-04-t-manual.png differ diff --git a/MacawTests/png/paths-data-05-t-manual.png b/MacawTests/png/paths-data-05-t-manual.png index aab64b38..90cdd129 100644 Binary files a/MacawTests/png/paths-data-05-t-manual.png and b/MacawTests/png/paths-data-05-t-manual.png differ diff --git a/MacawTests/png/paths-data-06-t-manual.png b/MacawTests/png/paths-data-06-t-manual.png index f4e064ca..338005e0 100644 Binary files a/MacawTests/png/paths-data-06-t-manual.png and b/MacawTests/png/paths-data-06-t-manual.png differ diff --git a/MacawTests/png/paths-data-07-t-manual.png b/MacawTests/png/paths-data-07-t-manual.png index 5fa93528..07829cd6 100644 Binary files a/MacawTests/png/paths-data-07-t-manual.png and b/MacawTests/png/paths-data-07-t-manual.png differ diff --git a/MacawTests/png/paths-data-08-t-manual.png b/MacawTests/png/paths-data-08-t-manual.png index fa565060..e11717d0 100644 Binary files a/MacawTests/png/paths-data-08-t-manual.png and b/MacawTests/png/paths-data-08-t-manual.png differ diff --git a/MacawTests/png/paths-data-09-t-manual.png b/MacawTests/png/paths-data-09-t-manual.png index c34db20e..345f5d98 100644 Binary files a/MacawTests/png/paths-data-09-t-manual.png and b/MacawTests/png/paths-data-09-t-manual.png differ diff --git a/MacawTests/png/paths-data-10-t-manual.png b/MacawTests/png/paths-data-10-t-manual.png index 98f493e7..192bbbb1 100644 Binary files a/MacawTests/png/paths-data-10-t-manual.png and b/MacawTests/png/paths-data-10-t-manual.png differ diff --git a/MacawTests/png/paths-data-12-t-manual.png b/MacawTests/png/paths-data-12-t-manual.png index 56f1576d..39a9396f 100644 Binary files a/MacawTests/png/paths-data-12-t-manual.png and b/MacawTests/png/paths-data-12-t-manual.png differ diff --git a/MacawTests/png/paths-data-13-t-manual.png b/MacawTests/png/paths-data-13-t-manual.png index 26e12c20..bc7f9844 100644 Binary files a/MacawTests/png/paths-data-13-t-manual.png and b/MacawTests/png/paths-data-13-t-manual.png differ diff --git a/MacawTests/png/paths-data-14-t-manual.png b/MacawTests/png/paths-data-14-t-manual.png index 8a09fd63..63c7c493 100644 Binary files a/MacawTests/png/paths-data-14-t-manual.png and b/MacawTests/png/paths-data-14-t-manual.png differ diff --git a/MacawTests/png/paths-data-15-t-manual.png b/MacawTests/png/paths-data-15-t-manual.png index fa320096..d6b4a4d1 100644 Binary files a/MacawTests/png/paths-data-15-t-manual.png and b/MacawTests/png/paths-data-15-t-manual.png differ diff --git a/MacawTests/png/paths-data-16-t-manual.png b/MacawTests/png/paths-data-16-t-manual.png index 2be8c805..77fd8527 100644 Binary files a/MacawTests/png/paths-data-16-t-manual.png and b/MacawTests/png/paths-data-16-t-manual.png differ diff --git a/MacawTests/png/paths-data-17-f-manual.png b/MacawTests/png/paths-data-17-f-manual.png index ef60ca0f..c6ef1bc8 100644 Binary files a/MacawTests/png/paths-data-17-f-manual.png and b/MacawTests/png/paths-data-17-f-manual.png differ diff --git a/MacawTests/png/paths-data-18-f-manual.png b/MacawTests/png/paths-data-18-f-manual.png index 7866f214..1fd8a9ea 100644 Binary files a/MacawTests/png/paths-data-18-f-manual.png and b/MacawTests/png/paths-data-18-f-manual.png differ diff --git a/MacawTests/png/paths-data-19-f-manual.png b/MacawTests/png/paths-data-19-f-manual.png index 3bfcb57f..a6e1e6e1 100644 Binary files a/MacawTests/png/paths-data-19-f-manual.png and b/MacawTests/png/paths-data-19-f-manual.png differ diff --git a/MacawTests/png/paths-data-20-f-manual.png b/MacawTests/png/paths-data-20-f-manual.png index 657af750..304ba1e8 100644 Binary files a/MacawTests/png/paths-data-20-f-manual.png and b/MacawTests/png/paths-data-20-f-manual.png differ diff --git a/MacawTests/png/pservers-grad-01-b-manual.png b/MacawTests/png/pservers-grad-01-b-manual.png index 921d16f5..e6d78ed2 100644 Binary files a/MacawTests/png/pservers-grad-01-b-manual.png and b/MacawTests/png/pservers-grad-01-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-02-b-manual.png b/MacawTests/png/pservers-grad-02-b-manual.png index b544f0fe..174659ea 100644 Binary files a/MacawTests/png/pservers-grad-02-b-manual.png and b/MacawTests/png/pservers-grad-02-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-03-b-manual.png b/MacawTests/png/pservers-grad-03-b-manual.png index 3acf5107..c4bc31ac 100644 Binary files a/MacawTests/png/pservers-grad-03-b-manual.png and b/MacawTests/png/pservers-grad-03-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-07-b-manual.png b/MacawTests/png/pservers-grad-07-b-manual.png index c508c90b..262bbabe 100644 Binary files a/MacawTests/png/pservers-grad-07-b-manual.png and b/MacawTests/png/pservers-grad-07-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-09-b-manual.png b/MacawTests/png/pservers-grad-09-b-manual.png index 78f0b8b8..6baf64a4 100644 Binary files a/MacawTests/png/pservers-grad-09-b-manual.png and b/MacawTests/png/pservers-grad-09-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-12-b-manual.png b/MacawTests/png/pservers-grad-12-b-manual.png index 5d86eb69..39fa6efc 100644 Binary files a/MacawTests/png/pservers-grad-12-b-manual.png and b/MacawTests/png/pservers-grad-12-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-13-b-manual.png b/MacawTests/png/pservers-grad-13-b-manual.png index 98c685c2..293bb99f 100644 Binary files a/MacawTests/png/pservers-grad-13-b-manual.png and b/MacawTests/png/pservers-grad-13-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-15-b-manual.png b/MacawTests/png/pservers-grad-15-b-manual.png index b22cf0b0..280a922c 100644 Binary files a/MacawTests/png/pservers-grad-15-b-manual.png and b/MacawTests/png/pservers-grad-15-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-22-b-manual.png b/MacawTests/png/pservers-grad-22-b-manual.png index 6f645ab4..e44dd6cf 100644 Binary files a/MacawTests/png/pservers-grad-22-b-manual.png and b/MacawTests/png/pservers-grad-22-b-manual.png differ diff --git a/MacawTests/png/pservers-grad-23-f-manual.png b/MacawTests/png/pservers-grad-23-f-manual.png index 7f08d5a1..29273bd9 100644 Binary files a/MacawTests/png/pservers-grad-23-f-manual.png and b/MacawTests/png/pservers-grad-23-f-manual.png differ diff --git a/MacawTests/png/pservers-grad-24-f-manual.png b/MacawTests/png/pservers-grad-24-f-manual.png index 4b3237c8..6d35f59c 100644 Binary files a/MacawTests/png/pservers-grad-24-f-manual.png and b/MacawTests/png/pservers-grad-24-f-manual.png differ diff --git a/MacawTests/png/pservers-grad-stops-01-f-manual.png b/MacawTests/png/pservers-grad-stops-01-f-manual.png index 398512e8..f3b698ad 100644 Binary files a/MacawTests/png/pservers-grad-stops-01-f-manual.png and b/MacawTests/png/pservers-grad-stops-01-f-manual.png differ diff --git a/MacawTests/png/render-elems-01-t-manual.png b/MacawTests/png/render-elems-01-t-manual.png index 2bde5dd8..0e92cfc9 100644 Binary files a/MacawTests/png/render-elems-01-t-manual.png and b/MacawTests/png/render-elems-01-t-manual.png differ diff --git a/MacawTests/png/render-elems-02-t-manual.png b/MacawTests/png/render-elems-02-t-manual.png index 6b376051..7e4671a3 100644 Binary files a/MacawTests/png/render-elems-02-t-manual.png and b/MacawTests/png/render-elems-02-t-manual.png differ diff --git a/MacawTests/png/render-elems-03-t-manual.png b/MacawTests/png/render-elems-03-t-manual.png index 102cc761..ecd43d29 100644 Binary files a/MacawTests/png/render-elems-03-t-manual.png and b/MacawTests/png/render-elems-03-t-manual.png differ diff --git a/MacawTests/png/shapes-circle-01-t-manual.png b/MacawTests/png/shapes-circle-01-t-manual.png index 27f044c1..b4b0c8ab 100644 Binary files a/MacawTests/png/shapes-circle-01-t-manual.png and b/MacawTests/png/shapes-circle-01-t-manual.png differ diff --git a/MacawTests/png/shapes-circle-02-t-manual.png b/MacawTests/png/shapes-circle-02-t-manual.png index e60fb418..96eceb72 100644 Binary files a/MacawTests/png/shapes-circle-02-t-manual.png and b/MacawTests/png/shapes-circle-02-t-manual.png differ diff --git a/MacawTests/png/shapes-ellipse-01-t-manual.png b/MacawTests/png/shapes-ellipse-01-t-manual.png index c7f18ea9..899e248b 100644 Binary files a/MacawTests/png/shapes-ellipse-01-t-manual.png and b/MacawTests/png/shapes-ellipse-01-t-manual.png differ diff --git a/MacawTests/png/shapes-ellipse-02-t-manual.png b/MacawTests/png/shapes-ellipse-02-t-manual.png index bd9e13ec..b22c349d 100644 Binary files a/MacawTests/png/shapes-ellipse-02-t-manual.png and b/MacawTests/png/shapes-ellipse-02-t-manual.png differ diff --git a/MacawTests/png/shapes-ellipse-03-f-manual.png b/MacawTests/png/shapes-ellipse-03-f-manual.png index ba7377c2..d74421b6 100644 Binary files a/MacawTests/png/shapes-ellipse-03-f-manual.png and b/MacawTests/png/shapes-ellipse-03-f-manual.png differ diff --git a/MacawTests/png/shapes-grammar-01-f-manual.png b/MacawTests/png/shapes-grammar-01-f-manual.png index 0e3e5ceb..fcb9abde 100644 Binary files a/MacawTests/png/shapes-grammar-01-f-manual.png and b/MacawTests/png/shapes-grammar-01-f-manual.png differ diff --git a/MacawTests/png/shapes-intro-01-t-manual.png b/MacawTests/png/shapes-intro-01-t-manual.png index efc010c0..98bae9dd 100644 Binary files a/MacawTests/png/shapes-intro-01-t-manual.png and b/MacawTests/png/shapes-intro-01-t-manual.png differ diff --git a/MacawTests/png/shapes-line-01-t-manual.png b/MacawTests/png/shapes-line-01-t-manual.png index e992c6a3..2b229cab 100644 Binary files a/MacawTests/png/shapes-line-01-t-manual.png and b/MacawTests/png/shapes-line-01-t-manual.png differ diff --git a/MacawTests/png/shapes-line-02-f-manual.png b/MacawTests/png/shapes-line-02-f-manual.png index 44328a0c..d6361ca5 100644 Binary files a/MacawTests/png/shapes-line-02-f-manual.png and b/MacawTests/png/shapes-line-02-f-manual.png differ diff --git a/MacawTests/png/shapes-polygon-01-t-manual.png b/MacawTests/png/shapes-polygon-01-t-manual.png index 175066cf..c2e8ca73 100644 Binary files a/MacawTests/png/shapes-polygon-01-t-manual.png and b/MacawTests/png/shapes-polygon-01-t-manual.png differ diff --git a/MacawTests/png/shapes-polygon-02-t-manual.png b/MacawTests/png/shapes-polygon-02-t-manual.png index 4b6f9a96..d5cdf0b4 100644 Binary files a/MacawTests/png/shapes-polygon-02-t-manual.png and b/MacawTests/png/shapes-polygon-02-t-manual.png differ diff --git a/MacawTests/png/shapes-polygon-03-t-manual.png b/MacawTests/png/shapes-polygon-03-t-manual.png index 7a74aeec..208b4a10 100644 Binary files a/MacawTests/png/shapes-polygon-03-t-manual.png and b/MacawTests/png/shapes-polygon-03-t-manual.png differ diff --git a/MacawTests/png/shapes-polyline-01-t-manual.png b/MacawTests/png/shapes-polyline-01-t-manual.png index 86d07718..b0266a7e 100644 Binary files a/MacawTests/png/shapes-polyline-01-t-manual.png and b/MacawTests/png/shapes-polyline-01-t-manual.png differ diff --git a/MacawTests/png/shapes-polyline-02-t-manual.png b/MacawTests/png/shapes-polyline-02-t-manual.png index 3f539981..9db8761d 100644 Binary files a/MacawTests/png/shapes-polyline-02-t-manual.png and b/MacawTests/png/shapes-polyline-02-t-manual.png differ diff --git a/MacawTests/png/shapes-rect-02-t-manual.png b/MacawTests/png/shapes-rect-02-t-manual.png index 4963f0ee..d414a6d4 100644 Binary files a/MacawTests/png/shapes-rect-02-t-manual.png and b/MacawTests/png/shapes-rect-02-t-manual.png differ diff --git a/MacawTests/png/shapes-rect-03-t-manual.png b/MacawTests/png/shapes-rect-03-t-manual.png index 9f82d28a..e6b32d81 100644 Binary files a/MacawTests/png/shapes-rect-03-t-manual.png and b/MacawTests/png/shapes-rect-03-t-manual.png differ diff --git a/MacawTests/png/shapes-rect-04-f-manual.png b/MacawTests/png/shapes-rect-04-f-manual.png index 7491a3cc..bf8ce5ab 100644 Binary files a/MacawTests/png/shapes-rect-04-f-manual.png and b/MacawTests/png/shapes-rect-04-f-manual.png differ diff --git a/MacawTests/png/shapes-rect-05-f-manual.png b/MacawTests/png/shapes-rect-05-f-manual.png index e02d9f0a..27a16b2d 100644 Binary files a/MacawTests/png/shapes-rect-05-f-manual.png and b/MacawTests/png/shapes-rect-05-f-manual.png differ diff --git a/MacawTests/png/shapes-rect-06-f-manual.png b/MacawTests/png/shapes-rect-06-f-manual.png index b37be75b..b1b932d1 100644 Binary files a/MacawTests/png/shapes-rect-06-f-manual.png and b/MacawTests/png/shapes-rect-06-f-manual.png differ diff --git a/MacawTests/png/shapes-rect-07-f-manual.png b/MacawTests/png/shapes-rect-07-f-manual.png index 21bb1767..181cdadf 100644 Binary files a/MacawTests/png/shapes-rect-07-f-manual.png and b/MacawTests/png/shapes-rect-07-f-manual.png differ diff --git a/MacawTests/png/struct-defs-01-t-manual.png b/MacawTests/png/struct-defs-01-t-manual.png index 128f6c58..0dfd2e7a 100644 Binary files a/MacawTests/png/struct-defs-01-t-manual.png and b/MacawTests/png/struct-defs-01-t-manual.png differ diff --git a/MacawTests/png/struct-frag-02-t-manual.png b/MacawTests/png/struct-frag-02-t-manual.png index 2f666a43..d7d13cc6 100644 Binary files a/MacawTests/png/struct-frag-02-t-manual.png and b/MacawTests/png/struct-frag-02-t-manual.png differ diff --git a/MacawTests/png/struct-frag-03-t-manual.png b/MacawTests/png/struct-frag-03-t-manual.png index 0016f673..1f77fead 100644 Binary files a/MacawTests/png/struct-frag-03-t-manual.png and b/MacawTests/png/struct-frag-03-t-manual.png differ diff --git a/MacawTests/png/struct-frag-04-t-manual.png b/MacawTests/png/struct-frag-04-t-manual.png index 37ba8104..9348a242 100644 Binary files a/MacawTests/png/struct-frag-04-t-manual.png and b/MacawTests/png/struct-frag-04-t-manual.png differ diff --git a/MacawTests/png/struct-frag-06-t-manual.png b/MacawTests/png/struct-frag-06-t-manual.png index b8129466..6518840e 100644 Binary files a/MacawTests/png/struct-frag-06-t-manual.png and b/MacawTests/png/struct-frag-06-t-manual.png differ diff --git a/MacawTests/png/struct-group-01-t-manual.png b/MacawTests/png/struct-group-01-t-manual.png index ecefe94c..262045dd 100644 Binary files a/MacawTests/png/struct-group-01-t-manual.png and b/MacawTests/png/struct-group-01-t-manual.png differ diff --git a/MacawTests/png/struct-use-01-t-manual.png b/MacawTests/png/struct-use-01-t-manual.png index e9bfffe9..e8136bcb 100644 Binary files a/MacawTests/png/struct-use-01-t-manual.png and b/MacawTests/png/struct-use-01-t-manual.png differ diff --git a/MacawTests/png/struct-use-03-t-manual.png b/MacawTests/png/struct-use-03-t-manual.png index 58aaa97e..18a3bb36 100644 Binary files a/MacawTests/png/struct-use-03-t-manual.png and b/MacawTests/png/struct-use-03-t-manual.png differ diff --git a/MacawTests/png/struct-use-12-f-manual.png b/MacawTests/png/struct-use-12-f-manual.png index 7f530970..7a813e42 100644 Binary files a/MacawTests/png/struct-use-12-f-manual.png and b/MacawTests/png/struct-use-12-f-manual.png differ diff --git a/MacawTests/png/text-align-01-b-manual.png b/MacawTests/png/text-align-01-b-manual.png index e16f13f7..a059137d 100644 Binary files a/MacawTests/png/text-align-01-b-manual.png and b/MacawTests/png/text-align-01-b-manual.png differ diff --git a/MacawTests/png/text-fonts-01-t-manual.png b/MacawTests/png/text-fonts-01-t-manual.png index d13ff5b9..6dcfa4d9 100644 Binary files a/MacawTests/png/text-fonts-01-t-manual.png and b/MacawTests/png/text-fonts-01-t-manual.png differ diff --git a/MacawTests/png/text-fonts-02-t-manual.png b/MacawTests/png/text-fonts-02-t-manual.png index 011dac33..2d8379b1 100644 Binary files a/MacawTests/png/text-fonts-02-t-manual.png and b/MacawTests/png/text-fonts-02-t-manual.png differ diff --git a/MacawTests/png/types-basic-01-f-manual.png b/MacawTests/png/types-basic-01-f-manual.png index 5682a2b3..8c56631c 100644 Binary files a/MacawTests/png/types-basic-01-f-manual.png and b/MacawTests/png/types-basic-01-f-manual.png differ diff --git a/MacawTests/svg/textBasicTransform.reference b/MacawTests/svg/textBasicTransform.reference index f8c09e0a..1faa17c8 100644 --- a/MacawTests/svg/textBasicTransform.reference +++ b/MacawTests/svg/textBasicTransform.reference @@ -1 +1 @@ -Point +Point \ No newline at end of file diff --git a/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference index b257fd9d..477448c5 100644 --- a/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference +++ b/MacawTests/w3cSVGTests/coords-trans-05-t-manual.reference @@ -40,7 +40,7 @@ } ], "node" : "Group", - "place" : "7.5, 0, 0, 5, 125.000002, 525" + "place" : "7.5, 0, 0, 5, 125.000003, 525" } ], "node" : "Group", diff --git a/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference index 76e5d517..5b7afca7 100644 --- a/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference +++ b/MacawTests/w3cSVGTests/coords-trans-07-t-manual.reference @@ -36,7 +36,7 @@ } ], "node" : "Group", - "place" : ".866025, .5, -.5, .866025, 123.205081, 186.60254" + "place" : "0.866025, 0.5, -0.5, 0.866025, 123.205081, 186.60254" }, { "align" : "min", @@ -86,7 +86,7 @@ } ], "node" : "Group", - "place" : ".866025, .5, -.5, .866025, 200, 100" + "place" : "0.866025, 0.5, -0.5, 0.866025, 200, 100" }, { "align" : "min", diff --git a/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference index f452cef4..d094312d 100644 --- a/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference +++ b/MacawTests/w3cSVGTests/coords-trans-09-t-manual.reference @@ -186,7 +186,7 @@ } ], "node" : "Group", - "place" : "1, 0, .5, 1, 30, 170" + "place" : "1, 0, 0.5, 1, 30, 170" }, { "align" : "min", @@ -236,7 +236,7 @@ } ], "node" : "Group", - "place" : "1, .5, 0, 1, 100, 200" + "place" : "1, 0.5, 0, 1, 100, 200" }, { "align" : "min", @@ -336,7 +336,7 @@ } ], "node" : "Group", - "place" : "1, .8, .8, 1, 300, 220" + "place" : "1, 0.8, 0.8, 1, 300, 220" }, { "align" : "min", diff --git a/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference b/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference index db9708f8..916da24c 100644 --- a/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference +++ b/MacawTests/w3cSVGTests/coords-trans-14-f-manual.reference @@ -564,7 +564,7 @@ } ], "node" : "Group", - "place" : ".704769, -.256515, .256515, .704769, 0, 0" + "place" : "0.704769, -0.256515, 0.256515, 0.704769, 0, 0" } ], "node" : "Group" diff --git a/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference index 7cea70d3..4560daa7 100644 --- a/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference +++ b/MacawTests/w3cSVGTests/coords-transformattr-01-f-manual.reference @@ -20,7 +20,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -52,7 +52,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -72,7 +72,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -104,7 +104,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -124,7 +124,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -156,7 +156,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -176,7 +176,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -208,7 +208,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -228,7 +228,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -260,7 +260,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -280,7 +280,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" }, { "contents" : [ @@ -312,7 +312,7 @@ } ], "node" : "Group", - "place" : ".565685, .565685, -.41411, .71726, 50, 50" + "place" : "0.565685, 0.565685, -0.41411, 0.71726, 50, 50" } ], "node" : "Group" diff --git a/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference index 3081d23b..a94821e5 100644 --- a/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference +++ b/MacawTests/w3cSVGTests/coords-transformattr-02-f-manual.reference @@ -130,7 +130,7 @@ } ], "node" : "Group", - "place" : ".707107, .707107, -.707107, .707107, 0, 0" + "place" : "0.707107, 0.707107, -0.707107, 0.707107, 0, 0" } ], "node" : "Group", @@ -209,7 +209,7 @@ } ], "node" : "Group", - "place" : ".707107, .707107, -.707107, .707107, 0, 0" + "place" : "0.707107, 0.707107, -0.707107, 0.707107, 0, 0" } ], "node" : "Group", diff --git a/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference index e11a73d1..ef8dfa66 100644 --- a/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference +++ b/MacawTests/w3cSVGTests/coords-transformattr-05-f-manual.reference @@ -106,7 +106,7 @@ } ], "node" : "Group", - "place" : ".965926, .258819, -.258819, .965926, 0, 0" + "place" : "0.965926, 0.258819, -0.258819, 0.965926, 0, 0" }, { "contents" : [ @@ -214,7 +214,7 @@ } ], "node" : "Group", - "place" : ".965926, .258819, -.258819, .965926, 0, 0" + "place" : "0.965926, 0.258819, -0.258819, 0.965926, 0, 0" } ], "node" : "Group", diff --git a/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference b/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference index 5e21d1e7..ad5b4a32 100644 --- a/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference +++ b/MacawTests/w3cSVGTests/masking-path-02-b-manual.reference @@ -87,7 +87,7 @@ "y" : 0 }, "node" : "Shape", - "place" : ".707107, -.707107, .707107, .707107, 100, 200" + "place" : "0.707107, -0.707107, 0.707107, 0.707107, 100, 200" }, { "form" : { @@ -98,7 +98,7 @@ "y" : 60 }, "node" : "Shape", - "place" : ".707107, -.707107, .707107, .707107, 100, 200", + "place" : "0.707107, -0.707107, 0.707107, 0.707107, 100, 200", "stroke" : { "cap" : "butt", "dashes" : [ diff --git a/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference index acf016fe..bc33eed6 100644 --- a/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference +++ b/MacawTests/w3cSVGTests/metadata-example-01-t-manual.reference @@ -6424,7 +6424,7 @@ } ], "node" : "Group", - "place" : ".04455, -.0227, .0227, .04455, 153, 58" + "place" : "0.04455, -0.0227, 0.0227, 0.04455, 153, 58" } ], "node" : "Group", diff --git a/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference b/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference index 045538db..0ad861b4 100644 --- a/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference +++ b/MacawTests/w3cSVGTests/pservers-grad-22-b-manual.reference @@ -18,7 +18,7 @@ } ], "node" : "Group", - "place" : ".5, 0, 0, 1, 0, 0" + "place" : "0.5, 0, 0, 1, 0, 0" } ], "node" : "Group", @@ -51,7 +51,7 @@ "y" : 0 }, "node" : "Shape", - "place" : ".5, 0, 0, 1, 0, 0" + "place" : "0.5, 0, 0, 1, 0, 0" } ], "node" : "Group", diff --git a/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference b/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference index 593a0eb8..6933b717 100644 --- a/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference +++ b/MacawTests/w3cSVGTests/shapes-ellipse-03-f-manual.reference @@ -170,7 +170,7 @@ } ], "node" : "Group", - "place" : ".866025, -.5, .5, .866025, 350, 150" + "place" : "0.866025, -0.5, 0.5, 0.866025, 350, 150" } ], "node" : "Group" diff --git a/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference index b31c8195..32ea892b 100644 --- a/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference +++ b/MacawTests/w3cSVGTests/shapes-line-02-f-manual.reference @@ -41,7 +41,7 @@ "y2" : 100 }, "node" : "Shape", - "place" : ".965926, .258819, -.258819, .965926, 0, 0", + "place" : "0.965926, 0.258819, -0.258819, 0.965926, 0, 0", "stroke" : { "cap" : "butt", "dashes" : [ diff --git a/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference index 5384b245..5d780160 100644 --- a/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference +++ b/MacawTests/w3cSVGTests/shapes-rect-05-f-manual.reference @@ -160,7 +160,7 @@ } ], "node" : "Group", - "place" : ".866025, -.5, .815207, .68404, 100, 100" + "place" : "0.866025, -0.5, 0.815207, 0.68404, 100, 100" } ], "node" : "Group" diff --git a/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference b/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference index 55fce126..4c8893fb 100644 --- a/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference +++ b/MacawTests/w3cSVGTests/struct-frag-06-t-manual.reference @@ -192,7 +192,7 @@ } ], "node" : "Group", - "place" : ".2, 0, 0, .2, 90, 235" + "place" : "0.2, 0, 0, 0.2, 90, 235" }, { "align" : "mid", @@ -296,7 +296,7 @@ } ], "node" : "Group", - "place" : ".2, 0, 0, .2, 190, 235" + "place" : "0.2, 0, 0, 0.2, 190, 235" } ], "node" : "Group" diff --git a/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference b/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference index 4814ac3e..461c2681 100644 --- a/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference +++ b/MacawTests/w3cSVGTests/struct-group-01-t-manual.reference @@ -102,7 +102,7 @@ } ], "node" : "Group", - "place" : ".939693, -.34202, .34202, .939693, 0, 0" + "place" : "0.939693, -0.34202, 0.34202, 0.939693, 0, 0" } ], "node" : "Group" diff --git a/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference b/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference index edb66756..b7df32a3 100644 --- a/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference +++ b/MacawTests/w3cSVGTests/struct-use-03-t-manual.reference @@ -64,7 +64,7 @@ } ], "node" : "Group", - "place" : ".707107, .707107, -.707107, .707107, 120, 99.289322" + "place" : "0.707107, 0.707107, -0.707107, 0.707107, 120, 99.289322" }, { "contents" : [ @@ -81,7 +81,7 @@ "y" : 0 }, "node" : "Shape", - "place" : ".707107, .707107, -.707107, .707107, 120, 99.289322", + "place" : "0.707107, 0.707107, -0.707107, 0.707107, 120, 99.289322", "stroke" : { "cap" : "butt", "dashes" : [ diff --git a/Source/svg/SVGParser.swift b/Source/svg/SVGParser.swift index 6c79ea89..facdd4d9 100644 --- a/Source/svg/SVGParser.swift +++ b/Source/svg/SVGParser.swift @@ -547,7 +547,7 @@ open class SVGParser { scanner.scanString("(", into: nil), let valuesString = scanner.scannedUpToString(")"), scanner.scanString(")", into: nil) else { - break stopParse + break stopParse } // Skip an optional comma after ")". @@ -1148,7 +1148,7 @@ open class SVGParser { baseline: .alphabetic, place: place, opacity: opacity) - } else if let tspanElement = element as? XMLElement, + } else if let tspanElement = element as? SWXMLHash.XMLElement, tspanElement.name == "tspan" { // parse as element // ultimately skip it if it cannot be parsed @@ -1179,7 +1179,7 @@ open class SVGParser { return collection } - fileprivate func parseTspan(_ element: XMLElement, + fileprivate func parseTspan(_ element: SWXMLHash.XMLElement, withWhitespace: Bool = false, textAnchor: String?, fill: Fill?, diff --git a/Source/svg/SVGSerializer.swift b/Source/svg/SVGSerializer.swift index a5ef8822..096abbe1 100644 --- a/Source/svg/SVGSerializer.swift +++ b/Source/svg/SVGSerializer.swift @@ -407,7 +407,8 @@ extension Double { func serialize() -> String { let formatter = NumberFormatter() formatter.minimumIntegerDigits = 1 - formatter.maximumFractionDigits = 15 + formatter.maximumFractionDigits = 6 + formatter.decimalSeparator = "." return abs(self.remainder(dividingBy: 1)) > 0.00001 ? formatter.string(from: NSNumber(value: self))! : String(Int(self.rounded())) } } diff --git a/Source/views/MacawView.swift b/Source/views/MacawView.swift index be4becd0..aea5ee95 100644 --- a/Source/views/MacawView.swift +++ b/Source/views/MacawView.swift @@ -59,12 +59,10 @@ open class MacawView: MView, MGestureRecognizerDelegate { #if os(OSX) open override var layer: CALayer? { didSet { - guard self.layer != nil else { - return + if self.layer == nil { + initializeView() + renderer = RenderUtils.createNodeRenderer(node, view: drawingView) } - initializeView() - - renderer = RenderUtils.createNodeRenderer(node, view: drawingView) } } #endif