cairo 1.6.1-x86-mswin32 → 1.7.0-x86-mswin32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of cairo might be problematic. Click here for more details.
- data/ChangeLog +285 -0
- data/NEWS +33 -0
- data/README +15 -4
- data/Rakefile +3 -0
- data/cairo/bin/libcairo-2.dll +0 -0
- data/cairo/bin/libpng12-0.dll +0 -0
- data/cairo/include/{libpng13/png.h → png.h} +285 -135
- data/cairo/include/{libpng13/pngconf.h → pngconf.h} +116 -72
- data/cairo/lib/cairo.lib +0 -0
- data/cairo/lib/libcairo.dll.a +0 -0
- data/cairo/lib/libpng.def +361 -371
- data/cairo/lib/libpng.lib +0 -0
- data/cairo/lib/libpng12.dll.a +0 -0
- data/cairo/lib/pkgconfig/cairo-pdf.pc +1 -1
- data/cairo/lib/pkgconfig/cairo-png.pc +2 -2
- data/cairo/lib/pkgconfig/cairo-ps.pc +1 -1
- data/cairo/lib/pkgconfig/cairo-svg.pc +1 -1
- data/cairo/lib/pkgconfig/cairo-win32-font.pc +1 -1
- data/cairo/lib/pkgconfig/cairo-win32.pc +1 -1
- data/cairo/lib/pkgconfig/cairo.pc +2 -2
- data/cairo/lib/pkgconfig/libpng.pc +10 -14
- data/cairo/lib/pkgconfig/libpng12.pc +10 -0
- data/cairo/make/{cairo-1.6.4-1.sh → cairo-1.6.4-2.sh} +3 -3
- data/cairo/make/libpng-1.2.29.sh +35 -0
- data/cairo/manifest/cairo-1.6.4-2.mft +6 -0
- data/cairo/manifest/{cairo-dev-1.6.4-1.mft → cairo-dev-1.6.4-2.mft} +2 -2
- data/cairo/manifest/libpng-1.2.29.mft +2 -0
- data/cairo/manifest/libpng-dev-1.2.29.mft +12 -0
- data/cairo/share/doc/{cairo-1.6.4-1 → cairo-1.6.4-2}/COPYING +0 -0
- data/cairo/share/doc/{cairo-1.6.4-1 → cairo-1.6.4-2}/COPYING-LGPL-2.1 +0 -0
- data/cairo/share/doc/{cairo-1.6.4-1 → cairo-1.6.4-2}/COPYING-MPL-1.1 +0 -0
- data/cairo/share/man/man3/libpng.3 +3680 -0
- data/cairo/share/man/man3/libpngpf.3 +274 -0
- data/cairo/share/man/man5/png.5 +74 -0
- data/doc/en/cairo-antialias.html +0 -3
- data/doc/en/cairo-clip-not-representable-error.html +0 -3
- data/doc/en/cairo-color-base.html +0 -3
- data/doc/en/cairo-color-cmyk.html +0 -3
- data/doc/en/cairo-color-hsv.html +0 -3
- data/doc/en/cairo-color-rgb.html +0 -3
- data/doc/en/cairo-color-x11.html +0 -3
- data/doc/en/cairo-color.html +0 -3
- data/doc/en/cairo-content.html +0 -3
- data/doc/en/cairo-context-blur.html +0 -3
- data/doc/en/cairo-context-circle.html +0 -3
- data/doc/en/cairo-context-color.html +0 -3
- data/doc/en/cairo-context-path.html +0 -3
- data/doc/en/cairo-context-rectangle.html +0 -3
- data/doc/en/cairo-context-triangle.html +0 -3
- data/doc/en/cairo-context.html +119 -102
- data/doc/en/cairo-error.html +0 -3
- data/doc/en/cairo-extend.html +0 -3
- data/doc/en/cairo-file-not-found.html +0 -3
- data/doc/en/cairo-fill-rule.html +0 -3
- data/doc/en/cairo-filter.html +0 -3
- data/doc/en/cairo-font-extents.html +67 -12
- data/doc/en/cairo-font-face.html +0 -3
- data/doc/en/cairo-font-options.html +26 -14
- data/doc/en/cairo-font-slant.html +0 -3
- data/doc/en/cairo-font-type-mismatch.html +47 -0
- data/doc/en/cairo-font-weight.html +0 -3
- data/doc/en/cairo-format.html +0 -3
- data/doc/en/cairo-glyph.html +0 -3
- data/doc/en/cairo-gradient-pattern.html +0 -3
- data/doc/en/cairo-hint-metrics.html +0 -3
- data/doc/en/cairo-hint-style.html +0 -3
- data/doc/en/cairo-image-surface.html +0 -3
- data/doc/en/cairo-invalid-clusters.html +47 -0
- data/doc/en/cairo-invalid-content-error.html +0 -3
- data/doc/en/cairo-invalid-dash-error.html +0 -3
- data/doc/en/cairo-invalid-dsc-comment-error.html +0 -3
- data/doc/en/cairo-invalid-format-error.html +0 -3
- data/doc/en/cairo-invalid-index-error.html +0 -3
- data/doc/en/cairo-invalid-matrix-error.html +0 -3
- data/doc/en/cairo-invalid-path-data-error.html +0 -3
- data/doc/en/cairo-invalid-pop-group-error.html +0 -3
- data/doc/en/cairo-invalid-restore-error.html +0 -3
- data/doc/en/cairo-invalid-slant.html +47 -0
- data/doc/en/cairo-invalid-status-error.html +0 -3
- data/doc/en/cairo-invalid-stride-error.html +0 -3
- data/doc/en/cairo-invalid-string-error.html +0 -3
- data/doc/en/cairo-invalid-visual-error.html +0 -3
- data/doc/en/cairo-invalid-weight.html +47 -0
- data/doc/en/cairo-lcd-filter.html +39 -0
- data/doc/en/cairo-line-cap.html +0 -3
- data/doc/en/cairo-line-join.html +0 -3
- data/doc/en/cairo-linear-pattern.html +0 -3
- data/doc/en/cairo-matrix.html +43 -41
- data/doc/en/cairo-negative-count.html +47 -0
- data/doc/en/cairo-no-current-point-error.html +0 -3
- data/doc/en/cairo-null-pointer-error.html +0 -3
- data/doc/en/cairo-operator.html +0 -3
- data/doc/en/cairo-paper-parse-error.html +0 -3
- data/doc/en/cairo-paper-unknown-paper-name.html +0 -3
- data/doc/en/cairo-paper-unknown-unit.html +0 -3
- data/doc/en/cairo-paper-unrecognized-paper-description.html +0 -3
- data/doc/en/cairo-paper.html +0 -3
- data/doc/en/cairo-path-close-path.html +0 -3
- data/doc/en/cairo-path-curve-to.html +0 -3
- data/doc/en/cairo-path-data-type.html +0 -3
- data/doc/en/cairo-path-data.html +0 -3
- data/doc/en/cairo-path-line-to.html +0 -3
- data/doc/en/cairo-path-move-to.html +0 -3
- data/doc/en/cairo-path.html +0 -3
- data/doc/en/cairo-pattern-type-mismatch-error.html +0 -3
- data/doc/en/cairo-pattern.html +0 -3
- data/doc/en/cairo-pdf-surface.html +0 -3
- data/doc/en/cairo-point.html +0 -3
- data/doc/en/cairo-ps-level.html +0 -3
- data/doc/en/cairo-ps-surface.html +0 -3
- data/doc/en/cairo-quartz-image-surface.html +0 -3
- data/doc/en/cairo-quartz-surface.html +0 -3
- data/doc/en/cairo-radial-pattern.html +0 -3
- data/doc/en/cairo-read-error.html +0 -3
- data/doc/en/cairo-rectangle.html +0 -3
- data/doc/en/cairo-scaled-font.html +13 -6
- data/doc/en/cairo-solid-pattern.html +0 -3
- data/doc/en/cairo-subpixel-order.html +0 -3
- data/doc/en/cairo-surface-finished-error.html +0 -3
- data/doc/en/cairo-surface-pattern.html +0 -3
- data/doc/en/cairo-surface-type-mismatch-error.html +0 -3
- data/doc/en/cairo-surface.html +22 -15
- data/doc/en/cairo-svg-surface.html +0 -3
- data/doc/en/cairo-svg-version.html +0 -3
- data/doc/en/cairo-temp-file-error.html +0 -3
- data/doc/en/cairo-text-cluster.html +84 -0
- data/doc/en/cairo-text-extents.html +78 -13
- data/doc/en/cairo-toy-font-face.html +67 -0
- data/doc/en/cairo-user-font-error.html +47 -0
- data/doc/en/cairo-user-font-face-text-to-glyphs-data.html +94 -0
- data/doc/en/cairo-user-font-face.html +72 -0
- data/doc/en/cairo-user-font-immutable.html +47 -0
- data/doc/en/cairo-win32-printing-surface.html +0 -3
- data/doc/en/cairo-win32-surface.html +0 -3
- data/doc/en/cairo-write-error.html +0 -3
- data/doc/en/cairo.html +92 -80
- data/doc/en/index.html +327 -240
- data/doc/ja/cairo-clip-not-representable-error.html +1 -1
- data/doc/ja/cairo-color-base.html +1 -1
- data/doc/ja/cairo-color-cmyk.html +9 -9
- data/doc/ja/cairo-color-hsv.html +8 -8
- data/doc/ja/cairo-color-rgb.html +9 -9
- data/doc/ja/cairo-color.html +8 -8
- data/doc/ja/cairo-context-circle.html +1 -1
- data/doc/ja/cairo-context-color.html +1 -1
- data/doc/ja/cairo-context-path.html +2 -2
- data/doc/ja/cairo-context.html +435 -342
- data/doc/ja/cairo-font-extents.html +69 -15
- data/doc/ja/cairo-font-face.html +3 -3
- data/doc/ja/cairo-font-options.html +37 -12
- data/doc/ja/cairo-font-slant.html +1 -1
- data/doc/ja/cairo-font-type-mismatch.html +52 -0
- data/doc/ja/cairo-glyph.html +5 -5
- data/doc/ja/cairo-gradient-pattern.html +6 -6
- data/doc/ja/cairo-image-surface.html +8 -8
- data/doc/ja/cairo-invalid-clusters.html +55 -0
- data/doc/ja/cairo-invalid-restore-error.html +1 -1
- data/doc/ja/cairo-invalid-slant.html +57 -0
- data/doc/ja/cairo-invalid-weight.html +57 -0
- data/doc/ja/cairo-lcd-filter.html +63 -0
- data/doc/ja/cairo-line-join.html +1 -1
- data/doc/ja/cairo-linear-pattern.html +2 -2
- data/doc/ja/cairo-matrix.html +35 -24
- data/doc/ja/cairo-negative-count.html +52 -0
- data/doc/ja/cairo-paper-unknown-paper-name.html +2 -2
- data/doc/ja/cairo-paper-unknown-unit.html +2 -2
- data/doc/ja/cairo-paper-unrecognized-paper-description.html +1 -1
- data/doc/ja/cairo-paper.html +12 -12
- data/doc/ja/cairo-path-close-path.html +1 -1
- data/doc/ja/cairo-path-curve-to.html +1 -1
- data/doc/ja/cairo-path-data.html +8 -8
- data/doc/ja/cairo-path-line-to.html +1 -1
- data/doc/ja/cairo-path-move-to.html +1 -1
- data/doc/ja/cairo-path.html +21 -21
- data/doc/ja/cairo-pattern.html +4 -4
- data/doc/ja/cairo-pdf-surface.html +2 -2
- data/doc/ja/cairo-point.html +5 -5
- data/doc/ja/cairo-ps-level.html +2 -2
- data/doc/ja/cairo-ps-surface.html +6 -6
- data/doc/ja/cairo-quartz-image-surface.html +2 -2
- data/doc/ja/cairo-quartz-surface.html +3 -3
- data/doc/ja/cairo-radial-pattern.html +2 -2
- data/doc/ja/cairo-rectangle.html +5 -5
- data/doc/ja/cairo-scaled-font.html +53 -17
- data/doc/ja/cairo-solid-pattern.html +3 -3
- data/doc/ja/cairo-surface-pattern.html +2 -2
- data/doc/ja/cairo-surface.html +58 -36
- data/doc/ja/cairo-svg-surface.html +4 -4
- data/doc/ja/cairo-svg-version.html +2 -2
- data/doc/ja/cairo-text-cluster.html +102 -0
- data/doc/ja/cairo-text-extents.html +84 -22
- data/doc/ja/cairo-toy-font-face.html +107 -0
- data/doc/ja/cairo-user-font-error.html +55 -0
- data/doc/ja/cairo-user-font-face-text-to-glyphs-data.html +155 -0
- data/doc/ja/cairo-user-font-face.html +268 -0
- data/doc/ja/cairo-user-font-immutable.html +54 -0
- data/doc/ja/cairo-win32-printing-surface.html +3 -3
- data/doc/ja/cairo-win32-surface.html +4 -4
- data/doc/ja/cairo.html +110 -77
- data/doc/ja/index.html +292 -205
- data/extconf.rb +3 -1
- data/misc/update-colors.rb +0 -0
- data/pkg-config.rb +54 -28
- data/samples/agg/aa_test.rb +0 -0
- data/samples/blur.rb +0 -0
- data/samples/png.rb +0 -0
- data/samples/scalable.rb +0 -0
- data/samples/text-on-path.rb +0 -0
- data/samples/text2.rb +0 -0
- data/src/cairo.def +8 -0
- data/src/cairo.so +0 -0
- data/src/lib/cairo.rb +12 -7
- data/src/lib/cairo/constants.rb +1 -0
- data/src/libruby-cairo.a +0 -0
- data/src/rb_cairo.c +25 -3
- data/src/rb_cairo.h +29 -18
- data/src/rb_cairo_constants.c +39 -10
- data/src/rb_cairo_context.c +156 -15
- data/src/rb_cairo_exception.c +143 -3
- data/src/rb_cairo_font_extents.c +81 -6
- data/src/rb_cairo_font_face.c +646 -4
- data/src/rb_cairo_font_options.c +24 -2
- data/src/rb_cairo_glyph.c +5 -3
- data/src/rb_cairo_matrix.c +17 -1
- data/src/rb_cairo_pattern.c +4 -4
- data/src/rb_cairo_private.c +169 -5
- data/src/rb_cairo_private.h +45 -3
- data/src/rb_cairo_scaled_font.c +61 -3
- data/src/rb_cairo_surface.c +174 -59
- data/src/rb_cairo_text_cluster.c +151 -0
- data/src/rb_cairo_text_extents.c +85 -2
- data/test-unit/Rakefile +30 -0
- data/test-unit/bin/testrb +5 -0
- data/test-unit/lib/test/unit.rb +280 -0
- data/test-unit/lib/test/unit/assertionfailederror.rb +14 -0
- data/test-unit/lib/test/unit/assertions.rb +722 -0
- data/test-unit/lib/test/unit/attribute.rb +125 -0
- data/test-unit/lib/test/unit/autorunner.rb +254 -0
- data/test-unit/lib/test/unit/collector.rb +43 -0
- data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
- data/test-unit/lib/test/unit/collector/dir.rb +108 -0
- data/test-unit/lib/test/unit/collector/load.rb +135 -0
- data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
- data/test-unit/lib/test/unit/color.rb +61 -0
- data/test-unit/lib/test/unit/diff.rb +524 -0
- data/test-unit/lib/test/unit/error.rb +124 -0
- data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
- data/test-unit/lib/test/unit/failure.rb +110 -0
- data/test-unit/lib/test/unit/fixture.rb +185 -0
- data/test-unit/lib/test/unit/notification.rb +125 -0
- data/test-unit/lib/test/unit/omission.rb +143 -0
- data/test-unit/lib/test/unit/pending.rb +146 -0
- data/test-unit/lib/test/unit/priority.rb +146 -0
- data/test-unit/lib/test/unit/runner/console.rb +46 -0
- data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
- data/test-unit/lib/test/unit/testcase.rb +281 -0
- data/test-unit/lib/test/unit/testresult.rb +89 -0
- data/test-unit/lib/test/unit/testsuite.rb +110 -0
- data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +195 -0
- data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +49 -0
- data/test-unit/lib/test/unit/ui/testrunner.rb +20 -0
- data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
- data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/test-unit/lib/test/unit/util/backtracefilter.rb +41 -0
- data/test-unit/lib/test/unit/util/observable.rb +90 -0
- data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
- data/test-unit/lib/test/unit/version.rb +7 -0
- data/test-unit/sample/adder.rb +13 -0
- data/test-unit/sample/subtracter.rb +12 -0
- data/test-unit/sample/tc_adder.rb +18 -0
- data/test-unit/sample/tc_subtracter.rb +18 -0
- data/test-unit/sample/ts_examples.rb +7 -0
- data/test-unit/test/collector/test_descendant.rb +135 -0
- data/test-unit/test/collector/test_dir.rb +406 -0
- data/test-unit/test/collector/test_load.rb +333 -0
- data/test-unit/test/collector/test_objectspace.rb +98 -0
- data/test-unit/test/run-test.rb +13 -0
- data/test-unit/test/test_assertions.rb +693 -0
- data/test-unit/test/test_attribute.rb +86 -0
- data/test-unit/test/test_color.rb +37 -0
- data/test-unit/test/test_diff.rb +477 -0
- data/test-unit/test/test_emacs_runner.rb +60 -0
- data/test-unit/test/test_error.rb +26 -0
- data/test-unit/test/test_failure.rb +33 -0
- data/test-unit/test/test_fixture.rb +252 -0
- data/test-unit/test/test_notification.rb +33 -0
- data/test-unit/test/test_omission.rb +81 -0
- data/test-unit/test/test_pending.rb +70 -0
- data/test-unit/test/test_priority.rb +89 -0
- data/test-unit/test/test_testcase.rb +430 -0
- data/test-unit/test/test_testresult.rb +113 -0
- data/test-unit/test/test_testsuite.rb +129 -0
- data/test-unit/test/testunit_test_util.rb +14 -0
- data/test-unit/test/ui/test_testrunmediator.rb +20 -0
- data/test-unit/test/util/test_backtracefilter.rb +41 -0
- data/test-unit/test/util/test_observable.rb +102 -0
- data/test-unit/test/util/test_procwrapper.rb +36 -0
- data/test/cairo-test-utils.rb +18 -0
- data/test/run-test.rb +14 -1
- data/test/test_constants.rb +19 -0
- data/test/test_context.rb +117 -0
- data/test/test_exception.rb +27 -0
- data/test/test_font_extents.rb +36 -0
- data/test/test_font_face.rb +244 -0
- data/test/test_font_options.rb +32 -0
- data/test/test_pkg_config.rb +3 -2
- data/test/test_scaled_font.rb +34 -0
- data/test/test_surface.rb +41 -0
- data/test/test_text_cluster.rb +32 -0
- data/test/test_text_extents.rb +40 -0
- data/test/test_text_to_glyphs_data.rb +47 -0
- metadata +129 -109
- data/cairo/bin/libpng13.dll +0 -0
- data/cairo/lib/libpng13.dll.a +0 -0
- data/cairo/lib/pkgconfig/libpng13.pc +0 -14
- data/cairo/manifest/cairo-1.6.4-1.mft +0 -6
- data/cairo/manifest/libpng-dev-1.2.8.mft +0 -7
- data/doc/en/cairo-antialias.rd +0 -16
- data/doc/en/cairo-clip-not-representable-error.rd +0 -17
- data/doc/en/cairo-color-base.rd +0 -38
- data/doc/en/cairo-color-cmyk.rd +0 -107
- data/doc/en/cairo-color-hsv.rd +0 -91
- data/doc/en/cairo-color-rgb.rd +0 -95
- data/doc/en/cairo-color-x11.rd +0 -151
- data/doc/en/cairo-color.rd +0 -213
- data/doc/en/cairo-content.rd +0 -15
- data/doc/en/cairo-context-blur.rd +0 -15
- data/doc/en/cairo-context-circle.rd +0 -15
- data/doc/en/cairo-context-color.rd +0 -15
- data/doc/en/cairo-context-path.rd +0 -19
- data/doc/en/cairo-context-rectangle.rd +0 -15
- data/doc/en/cairo-context-triangle.rd +0 -15
- data/doc/en/cairo-context.rd +0 -491
- data/doc/en/cairo-error.rd +0 -16
- data/doc/en/cairo-extend.rd +0 -16
- data/doc/en/cairo-file-not-found.rd +0 -17
- data/doc/en/cairo-fill-rule.rd +0 -14
- data/doc/en/cairo-filter.rd +0 -18
- data/doc/en/cairo-font-extents.rd +0 -40
- data/doc/en/cairo-font-face.rd +0 -14
- data/doc/en/cairo-font-options.rd +0 -94
- data/doc/en/cairo-font-slant.rd +0 -15
- data/doc/en/cairo-font-weight.rd +0 -14
- data/doc/en/cairo-format.rd +0 -22
- data/doc/en/cairo-glyph.rd +0 -62
- data/doc/en/cairo-gradient-pattern.rd +0 -41
- data/doc/en/cairo-hint-metrics.rd +0 -15
- data/doc/en/cairo-hint-style.rd +0 -17
- data/doc/en/cairo-image-surface.rd +0 -47
- data/doc/en/cairo-invalid-content-error.rd +0 -17
- data/doc/en/cairo-invalid-dash-error.rd +0 -17
- data/doc/en/cairo-invalid-dsc-comment-error.rd +0 -17
- data/doc/en/cairo-invalid-format-error.rd +0 -17
- data/doc/en/cairo-invalid-index-error.rd +0 -17
- data/doc/en/cairo-invalid-matrix-error.rd +0 -17
- data/doc/en/cairo-invalid-path-data-error.rd +0 -17
- data/doc/en/cairo-invalid-pop-group-error.rd +0 -17
- data/doc/en/cairo-invalid-restore-error.rd +0 -17
- data/doc/en/cairo-invalid-status-error.rd +0 -17
- data/doc/en/cairo-invalid-stride-error.rd +0 -17
- data/doc/en/cairo-invalid-string-error.rd +0 -17
- data/doc/en/cairo-invalid-visual-error.rd +0 -17
- data/doc/en/cairo-line-cap.rd +0 -15
- data/doc/en/cairo-line-join.rd +0 -15
- data/doc/en/cairo-linear-pattern.rd +0 -28
- data/doc/en/cairo-matrix.rd +0 -186
- data/doc/en/cairo-no-current-point-error.rd +0 -17
- data/doc/en/cairo-null-pointer-error.rd +0 -17
- data/doc/en/cairo-operator.rd +0 -26
- data/doc/en/cairo-paper-parse-error.rd +0 -17
- data/doc/en/cairo-paper-unknown-paper-name.rd +0 -30
- data/doc/en/cairo-paper-unknown-unit.rd +0 -30
- data/doc/en/cairo-paper-unrecognized-paper-description.rd +0 -30
- data/doc/en/cairo-paper.rd +0 -141
- data/doc/en/cairo-path-close-path.rd +0 -21
- data/doc/en/cairo-path-curve-to.rd +0 -21
- data/doc/en/cairo-path-data-type.rd +0 -16
- data/doc/en/cairo-path-data.rd +0 -62
- data/doc/en/cairo-path-line-to.rd +0 -21
- data/doc/en/cairo-path-move-to.rd +0 -21
- data/doc/en/cairo-path.rd +0 -109
- data/doc/en/cairo-pattern-type-mismatch-error.rd +0 -17
- data/doc/en/cairo-pattern.rd +0 -62
- data/doc/en/cairo-pdf-surface.rd +0 -27
- data/doc/en/cairo-point.rd +0 -42
- data/doc/en/cairo-ps-level.rd +0 -24
- data/doc/en/cairo-ps-surface.rd +0 -55
- data/doc/en/cairo-quartz-image-surface.rd +0 -27
- data/doc/en/cairo-quartz-surface.rd +0 -27
- data/doc/en/cairo-radial-pattern.rd +0 -28
- data/doc/en/cairo-read-error.rd +0 -17
- data/doc/en/cairo-rectangle.rd +0 -54
- data/doc/en/cairo-scaled-font.rd +0 -50
- data/doc/en/cairo-solid-pattern.rd +0 -31
- data/doc/en/cairo-subpixel-order.rd +0 -17
- data/doc/en/cairo-surface-finished-error.rd +0 -17
- data/doc/en/cairo-surface-pattern.rd +0 -27
- data/doc/en/cairo-surface-type-mismatch-error.rd +0 -17
- data/doc/en/cairo-surface.rd +0 -72
- data/doc/en/cairo-svg-surface.rd +0 -44
- data/doc/en/cairo-svg-version.rd +0 -24
- data/doc/en/cairo-temp-file-error.rd +0 -17
- data/doc/en/cairo-text-extents.rd +0 -44
- data/doc/en/cairo-win32-printing-surface.rd +0 -27
- data/doc/en/cairo-win32-surface.rd +0 -31
- data/doc/en/cairo-write-error.rd +0 -17
- data/doc/en/cairo.rd +0 -95
- data/doc/en/index.rd +0 -1051
- data/samples/agg/aa_demo.rb +0 -47
@@ -0,0 +1,125 @@
|
|
1
|
+
require 'test/unit/util/backtracefilter'
|
2
|
+
|
3
|
+
module Test
|
4
|
+
module Unit
|
5
|
+
class Notification
|
6
|
+
include Util::BacktraceFilter
|
7
|
+
attr_reader :test_name, :location, :message
|
8
|
+
|
9
|
+
SINGLE_CHARACTER = 'N'
|
10
|
+
LABEL = "Notification"
|
11
|
+
|
12
|
+
# Creates a new Notification with the given location and
|
13
|
+
# message.
|
14
|
+
def initialize(test_name, location, message)
|
15
|
+
@test_name = test_name
|
16
|
+
@location = location
|
17
|
+
@message = message
|
18
|
+
end
|
19
|
+
|
20
|
+
# Returns a single character representation of a notification.
|
21
|
+
def single_character_display
|
22
|
+
SINGLE_CHARACTER
|
23
|
+
end
|
24
|
+
|
25
|
+
def label
|
26
|
+
LABEL
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns a brief version of the error description.
|
30
|
+
def short_display
|
31
|
+
"#{@test_name}: #{@message.split("\n")[0]}"
|
32
|
+
end
|
33
|
+
|
34
|
+
# Returns a verbose version of the error description.
|
35
|
+
def long_display
|
36
|
+
backtrace = filter_backtrace(location).join("\n")
|
37
|
+
"#{label}: #{@message}\n#{@test_name}\n#{backtrace}"
|
38
|
+
end
|
39
|
+
|
40
|
+
# Overridden to return long_display.
|
41
|
+
def to_s
|
42
|
+
long_display
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class NotifiedError < StandardError
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
module TestCaseNotificationSupport
|
51
|
+
class << self
|
52
|
+
def included(base)
|
53
|
+
base.class_eval do
|
54
|
+
include NotificationHandler
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Notify some information.
|
60
|
+
#
|
61
|
+
# Example:
|
62
|
+
# def test_notification
|
63
|
+
# notify("I'm here!")
|
64
|
+
# # Reached here
|
65
|
+
# notify("Special!") if special_case?
|
66
|
+
# # Reached here too
|
67
|
+
# end
|
68
|
+
def notify(message, &block)
|
69
|
+
notification = Notification.new(name, filter_backtrace(caller), message)
|
70
|
+
add_notification(notification)
|
71
|
+
end
|
72
|
+
|
73
|
+
private
|
74
|
+
def add_notification(notification)
|
75
|
+
current_result.add_notification(notification)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
module NotificationHandler
|
80
|
+
class << self
|
81
|
+
def included(base)
|
82
|
+
base.exception_handler(:handle_Notified_error)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
87
|
+
def handle_Notified_error(exception)
|
88
|
+
return false unless exception.is_a?(NotifiedError)
|
89
|
+
notification = Notification.new(name,
|
90
|
+
filter_backtrace(exception.backtrace),
|
91
|
+
exception.message)
|
92
|
+
add_notification(notification)
|
93
|
+
true
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
module TestResultNotificationSupport
|
98
|
+
attr_reader :notifications
|
99
|
+
|
100
|
+
# Records a Test::Unit::Notification.
|
101
|
+
def add_notification(notification)
|
102
|
+
@notifications << notification
|
103
|
+
notify_fault(notification)
|
104
|
+
notify_changed
|
105
|
+
end
|
106
|
+
|
107
|
+
# Returns the number of notifications this TestResult has
|
108
|
+
# recorded.
|
109
|
+
def notification_count
|
110
|
+
@notifications.size
|
111
|
+
end
|
112
|
+
|
113
|
+
private
|
114
|
+
def initialize_containers
|
115
|
+
super
|
116
|
+
@notifications = []
|
117
|
+
@summary_generators << :notification_summary
|
118
|
+
end
|
119
|
+
|
120
|
+
def notification_summary
|
121
|
+
"#{notification_count} notifications"
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,143 @@
|
|
1
|
+
require 'test/unit/util/backtracefilter'
|
2
|
+
|
3
|
+
module Test
|
4
|
+
module Unit
|
5
|
+
class Omission
|
6
|
+
include Util::BacktraceFilter
|
7
|
+
attr_reader :test_name, :location, :message
|
8
|
+
|
9
|
+
SINGLE_CHARACTER = 'O'
|
10
|
+
LABEL = "Omission"
|
11
|
+
|
12
|
+
# Creates a new Omission with the given location and
|
13
|
+
# message.
|
14
|
+
def initialize(test_name, location, message)
|
15
|
+
@test_name = test_name
|
16
|
+
@location = location
|
17
|
+
@message = message
|
18
|
+
end
|
19
|
+
|
20
|
+
# Returns a single character representation of a omission.
|
21
|
+
def single_character_display
|
22
|
+
SINGLE_CHARACTER
|
23
|
+
end
|
24
|
+
|
25
|
+
def label
|
26
|
+
LABEL
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns a brief version of the error description.
|
30
|
+
def short_display
|
31
|
+
"#{@test_name}: #{@message.split("\n")[0]}"
|
32
|
+
end
|
33
|
+
|
34
|
+
# Returns a verbose version of the error description.
|
35
|
+
def long_display
|
36
|
+
backtrace = filter_backtrace(location).join("\n")
|
37
|
+
"#{label}: #{@message}\n#{@test_name}\n#{backtrace}"
|
38
|
+
end
|
39
|
+
|
40
|
+
# Overridden to return long_display.
|
41
|
+
def to_s
|
42
|
+
long_display
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class OmittedError < StandardError
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
module TestCaseOmissionSupport
|
51
|
+
class << self
|
52
|
+
def included(base)
|
53
|
+
base.class_eval do
|
54
|
+
include OmissionHandler
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Omit the test of part of the test.
|
60
|
+
#
|
61
|
+
# Example:
|
62
|
+
# def test_omission
|
63
|
+
# omit
|
64
|
+
# # Not reached here
|
65
|
+
# end
|
66
|
+
#
|
67
|
+
# def test_omission_with_here
|
68
|
+
# omit do
|
69
|
+
# # Not ran here
|
70
|
+
# end
|
71
|
+
# # Reached here
|
72
|
+
# end
|
73
|
+
def omit(message=nil, &block)
|
74
|
+
message ||= "omitted."
|
75
|
+
if block_given?
|
76
|
+
omission = Omission.new(name, filter_backtrace(caller), message)
|
77
|
+
add_omission(omission)
|
78
|
+
else
|
79
|
+
raise OmittedError.new(message)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def omit_if(condition, *args, &block)
|
84
|
+
omit(*args, &block) if condition
|
85
|
+
end
|
86
|
+
|
87
|
+
def omit_unless(condition, *args, &block)
|
88
|
+
omit(*args, &block) unless condition
|
89
|
+
end
|
90
|
+
|
91
|
+
private
|
92
|
+
def add_omission(omission)
|
93
|
+
current_result.add_omission(omission)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
module OmissionHandler
|
98
|
+
class << self
|
99
|
+
def included(base)
|
100
|
+
base.exception_handler(:handle_omitted_error)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
private
|
105
|
+
def handle_omitted_error(exception)
|
106
|
+
return false unless exception.is_a?(OmittedError)
|
107
|
+
omission = Omission.new(name,
|
108
|
+
filter_backtrace(exception.backtrace),
|
109
|
+
exception.message)
|
110
|
+
add_omission(omission)
|
111
|
+
true
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
module TestResultOmissionSupport
|
116
|
+
attr_reader :omissions
|
117
|
+
|
118
|
+
# Records a Test::Unit::Omission.
|
119
|
+
def add_omission(omission)
|
120
|
+
@omissions << omission
|
121
|
+
notify_fault(omission)
|
122
|
+
notify_changed
|
123
|
+
end
|
124
|
+
|
125
|
+
# Returns the number of omissions this TestResult has
|
126
|
+
# recorded.
|
127
|
+
def omission_count
|
128
|
+
@omissions.size
|
129
|
+
end
|
130
|
+
|
131
|
+
private
|
132
|
+
def initialize_containers
|
133
|
+
super
|
134
|
+
@omissions = []
|
135
|
+
@summary_generators << :omission_summary
|
136
|
+
end
|
137
|
+
|
138
|
+
def omission_summary
|
139
|
+
"#{omission_count} omissions"
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
require 'test/unit/util/backtracefilter'
|
2
|
+
|
3
|
+
module Test
|
4
|
+
module Unit
|
5
|
+
class Pending
|
6
|
+
include Util::BacktraceFilter
|
7
|
+
attr_reader :test_name, :location, :message
|
8
|
+
|
9
|
+
SINGLE_CHARACTER = 'P'
|
10
|
+
LABEL = "Pending"
|
11
|
+
|
12
|
+
# Creates a new Pending with the given location and
|
13
|
+
# message.
|
14
|
+
def initialize(test_name, location, message)
|
15
|
+
@test_name = test_name
|
16
|
+
@location = location
|
17
|
+
@message = message
|
18
|
+
end
|
19
|
+
|
20
|
+
# Returns a single character representation of a pending.
|
21
|
+
def single_character_display
|
22
|
+
SINGLE_CHARACTER
|
23
|
+
end
|
24
|
+
|
25
|
+
def label
|
26
|
+
LABEL
|
27
|
+
end
|
28
|
+
|
29
|
+
# Returns a brief version of the error description.
|
30
|
+
def short_display
|
31
|
+
"#{@test_name}: #{@message.split("\n")[0]}"
|
32
|
+
end
|
33
|
+
|
34
|
+
# Returns a verbose version of the error description.
|
35
|
+
def long_display
|
36
|
+
backtrace = filter_backtrace(location).join("\n")
|
37
|
+
"#{label}: #{@message}\n#{@test_name}\n#{backtrace}"
|
38
|
+
end
|
39
|
+
|
40
|
+
# Overridden to return long_display.
|
41
|
+
def to_s
|
42
|
+
long_display
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class PendedError < StandardError
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
module TestCasePendingSupport
|
51
|
+
class << self
|
52
|
+
def included(base)
|
53
|
+
base.class_eval do
|
54
|
+
include PendingHandler
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Marks the test or part of the test is pending.
|
60
|
+
#
|
61
|
+
# Example:
|
62
|
+
# def test_pending
|
63
|
+
# pend
|
64
|
+
# # Not reached here
|
65
|
+
# end
|
66
|
+
#
|
67
|
+
# def test_pending_with_here
|
68
|
+
# pend do
|
69
|
+
# # Ran here
|
70
|
+
# # Fails if the block doesn't raise any error.
|
71
|
+
# # Because it means the block is passed unexpectedly.
|
72
|
+
# end
|
73
|
+
# # Reached here
|
74
|
+
# end
|
75
|
+
def pend(message=nil, &block)
|
76
|
+
message ||= "pended."
|
77
|
+
if block_given?
|
78
|
+
pending = nil
|
79
|
+
begin
|
80
|
+
yield
|
81
|
+
rescue Exception
|
82
|
+
pending = Pending.new(name, filter_backtrace(caller), message)
|
83
|
+
add_pending(pending)
|
84
|
+
end
|
85
|
+
unless pending
|
86
|
+
flunk("Pending block should not be passed: #{message}")
|
87
|
+
end
|
88
|
+
else
|
89
|
+
raise PendedError.new(message)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
private
|
94
|
+
def add_pending(pending)
|
95
|
+
problem_occurred
|
96
|
+
current_result.add_pending(pending)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
module PendingHandler
|
101
|
+
class << self
|
102
|
+
def included(base)
|
103
|
+
base.exception_handler(:handle_pended_error)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
private
|
108
|
+
def handle_pended_error(exception)
|
109
|
+
return false unless exception.is_a?(PendedError)
|
110
|
+
pending = Pending.new(name,
|
111
|
+
filter_backtrace(exception.backtrace),
|
112
|
+
exception.message)
|
113
|
+
add_pending(pending)
|
114
|
+
true
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
module TestResultPendingSupport
|
119
|
+
attr_reader :pendings
|
120
|
+
|
121
|
+
# Records a Test::Unit::Pending.
|
122
|
+
def add_pending(pending)
|
123
|
+
@pendings << pending
|
124
|
+
notify_fault(pending)
|
125
|
+
notify_changed
|
126
|
+
end
|
127
|
+
|
128
|
+
# Returns the number of pendings this TestResult has
|
129
|
+
# recorded.
|
130
|
+
def pending_count
|
131
|
+
@pendings.size
|
132
|
+
end
|
133
|
+
|
134
|
+
private
|
135
|
+
def initialize_containers
|
136
|
+
super
|
137
|
+
@pendings = []
|
138
|
+
@summary_generators << :pending_summary
|
139
|
+
end
|
140
|
+
|
141
|
+
def pending_summary
|
142
|
+
"#{pending_count} pendings"
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
require "fileutils"
|
2
|
+
require "tmpdir"
|
3
|
+
|
4
|
+
module Test
|
5
|
+
module Unit
|
6
|
+
module Priority
|
7
|
+
class << self
|
8
|
+
def included(base)
|
9
|
+
base.extend(ClassMethods)
|
10
|
+
|
11
|
+
base.class_eval do
|
12
|
+
setup :priority_setup, :before => :prepend
|
13
|
+
teardown :priority_teardown, :after => :append
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class Checker
|
19
|
+
class << self
|
20
|
+
def have_priority?(name)
|
21
|
+
singleton_class = (class << self; self; end)
|
22
|
+
singleton_class.method_defined?(priority_check_method_name(name))
|
23
|
+
end
|
24
|
+
|
25
|
+
def need_to_run?(test)
|
26
|
+
priority = test[:priority] || :normal
|
27
|
+
if have_priority?(priority)
|
28
|
+
send(priority_check_method_name(priority), test)
|
29
|
+
else
|
30
|
+
true
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def run_priority_must?(test)
|
35
|
+
true
|
36
|
+
end
|
37
|
+
|
38
|
+
def run_priority_important?(test)
|
39
|
+
rand > 0.1
|
40
|
+
end
|
41
|
+
|
42
|
+
def run_priority_high?(test)
|
43
|
+
rand > 0.3
|
44
|
+
end
|
45
|
+
|
46
|
+
def run_priority_normal?(test)
|
47
|
+
rand > 0.5
|
48
|
+
end
|
49
|
+
|
50
|
+
def run_priority_low?(test)
|
51
|
+
rand > 0.75
|
52
|
+
end
|
53
|
+
|
54
|
+
def run_priority_never?(test)
|
55
|
+
false
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
def priority_check_method_name(priority_name)
|
60
|
+
"run_priority_#{priority_name}?"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
attr_reader :test
|
65
|
+
def initialize(test)
|
66
|
+
@test = test
|
67
|
+
end
|
68
|
+
|
69
|
+
def setup
|
70
|
+
FileUtils.rm_f(passed_file)
|
71
|
+
end
|
72
|
+
|
73
|
+
def teardown
|
74
|
+
if @test.send(:passed?)
|
75
|
+
FileUtils.touch(passed_file)
|
76
|
+
else
|
77
|
+
FileUtils.rm_f(passed_file)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def need_to_run?
|
82
|
+
!previous_test_success? or self.class.need_to_run?(@test)
|
83
|
+
end
|
84
|
+
|
85
|
+
private
|
86
|
+
def previous_test_success?
|
87
|
+
File.exist?(passed_file)
|
88
|
+
end
|
89
|
+
|
90
|
+
def result_dir
|
91
|
+
components = [".test-result",
|
92
|
+
@test.class.name || "AnonymousTestCase",
|
93
|
+
@test.method_name.to_s]
|
94
|
+
parent_directories = [File.dirname($0), Dir.pwd]
|
95
|
+
if Process.respond_to?(:uid)
|
96
|
+
parent_directories << File.join(Dir.tmpdir, Process.uid.to_s)
|
97
|
+
end
|
98
|
+
parent_directories.each do |parent_directory|
|
99
|
+
dir = File.expand_path(File.join(parent_directory, *components))
|
100
|
+
begin
|
101
|
+
FileUtils.mkdir_p(dir)
|
102
|
+
return dir
|
103
|
+
rescue Errno::EACCES
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
raise Errno::EACCES, parent_directories.join(", ")
|
108
|
+
end
|
109
|
+
|
110
|
+
def passed_file
|
111
|
+
File.join(result_dir, "passed")
|
112
|
+
end
|
113
|
+
|
114
|
+
def escaped_method_name
|
115
|
+
@method_name.to_s.gsub(/[!?=]$/) do |matched|
|
116
|
+
case matched
|
117
|
+
when "!"
|
118
|
+
".destructive"
|
119
|
+
when "?"
|
120
|
+
".predicate"
|
121
|
+
when "="
|
122
|
+
".equal"
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
module ClassMethods
|
129
|
+
def priority(name, *tests)
|
130
|
+
unless Checker.have_priority?(name)
|
131
|
+
raise ArgumentError, "unknown priority: #{name}"
|
132
|
+
end
|
133
|
+
attribute(:priority, name, {:keep => true}, *tests)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def priority_setup
|
138
|
+
Checker.new(self).setup
|
139
|
+
end
|
140
|
+
|
141
|
+
def priority_teardown
|
142
|
+
Checker.new(self).teardown
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|