Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-SVG for openSUSE:Factory checked in at 2026-03-11 20:52:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-SVG (Old) and /work/SRC/openSUSE:Factory/.perl-SVG.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-SVG" Wed Mar 11 20:52:20 2026 rev:24 rq:1338055 version:2.890.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-SVG/perl-SVG.changes 2022-06-02 21:54:43.664408178 +0200 +++ /work/SRC/openSUSE:Factory/.perl-SVG.new.8177/perl-SVG.changes 2026-03-11 20:52:51.371852889 +0100 @@ -1,0 +2,31 @@ +Fri Mar 6 06:03:00 UTC 2026 - Tina Müller <[email protected]> + +- updated to 2.890.0 (2.89) + see /usr/share/doc/packages/perl-SVG/Changes + + 2.89 2026-03-05 MANWAR + - Fix RT#136789: Corrected misleading documentation for comment() and + desc() methods. + - Fixed logic in SVG::Element::xmlify to ensure comment elements are + correctly rendered as XML comments rather than standard tags. + - Updated desc() documentation to use cdata() for content, preventing + hash assignment warnings. + - Improved get_path() documentation to clarify return attributes (d vs + points) based on element type. + + 2.88 2026.02.23 MANWAR + [Bug Fix] + - Fixed: element methods (circle, title, rect, path, etc.) were + unavailable when module was loaded with empty import list + 'use SVG ()'. + Perl suppresses the call to import() with empty parens, so element + methods were never predeclared. Fixed by predeclaring all built-in + element methods in SVG::Element at load time, regardless of how + SVG.pm is imported. (RT issue: #132058) + [Test] + - Added t/33-use-empty-import.t to test element methods with 'use SVG ()' + [Fixes] + - Fixed xt/author/pod-coverage.t to include 'use lib lib' so module is + found correctly when running tests from the distribution root + +------------------------------------------------------------------- Old: ---- SVG-2.87.tar.gz New: ---- README.md SVG-2.89.tar.gz _scmsync.obsinfo build.specials.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-SVG.spec ++++++ --- /var/tmp/diff_new_pack.B14uxZ/_old 2026-03-11 20:52:52.043880614 +0100 +++ /var/tmp/diff_new_pack.B14uxZ/_new 2026-03-11 20:52:52.047880779 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-SVG # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,19 +18,28 @@ %define cpan_name SVG Name: perl-SVG -Version: 2.87 +Version: 2.890.0 Release: 0 +# 2.89 -> normalize -> 2.890.0 +%define cpan_version 2.89 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Perl extension for generating Scalable Vector Graphics (SVG) documents URL: https://metacpan.org/release/%{cpan_name} -Source0: https://cpan.metacpan.org/authors/id/M/MA/MANWAR/%{cpan_name}-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/M/MA/MANWAR/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml +Source100: README.md BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Test::More) >= 0.94 BuildRequires: perl(parent) Requires: perl(parent) +Provides: perl(SVG) = %{version} +Provides: perl(SVG::DOM) = %{version} +Provides: perl(SVG::Element) = %{version} +Provides: perl(SVG::Extension) = %{version} +Provides: perl(SVG::XML) = %{version} +%undefine __perllib_provides %{perl_requires} %description @@ -41,8 +50,9 @@ SMIL animation content. %prep -%autosetup -n %{cpan_name}-%{version} -find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 +%autosetup -n %{cpan_name}-%{cpan_version} -p1 + +find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build perl Makefile.PL INSTALLDIRS=vendor ++++++ README.md ++++++ ## Build Results Current state of perl in openSUSE:Factory is  The current state of perl in the devel project build (devel:languages:perl)  ++++++ SVG-2.87.tar.gz -> SVG-2.89.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/.github/dependabot.yml new/SVG-2.89/.github/dependabot.yml --- old/SVG-2.87/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/.github/dependabot.yml 2026-02-23 12:58:35.000000000 +0100 @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + groups: + github-actions: + patterns: + - "*" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/.github/workflows/ci.yml new/SVG-2.89/.github/workflows/ci.yml --- old/SVG-2.87/.github/workflows/ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/.github/workflows/ci.yml 2026-02-23 19:07:13.000000000 +0100 @@ -0,0 +1,69 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: +# schedule: +# - cron: '42 5 * * *' + +jobs: + test: + strategy: + fail-fast: false + matrix: + runner: [ubuntu-latest, macos-latest] # , windows-latest + perl: [ '5.30', '5.40'] + #exclude: + # - runner: windows-latest + # perl: '5.40' + + runs-on: ${{matrix.runner}} + name: OS ${{matrix.runner}} Perl ${{matrix.perl}} + + steps: + - uses: actions/checkout@v6 + + - name: Set up perl + uses: shogo82148/actions-setup-perl@v1 + with: + perl-version: ${{ matrix.perl }} + distribution: ${{ ( matrix.runner == 'windows-latest' && 'strawberry' ) || 'default' }} + + - name: Show Perl Version + run: | + perl -v + + - name: Install Modules + run: | + cpanm -v + cpanm --installdeps --notest . + + - name: Show Errors on Windows + if: ${{ failure() && matrix.runner == 'windows-latest' }} + run: | + ls -l C:/Users/ + ls -l C:/Users/RUNNER~1/ + cat C:/Users/runneradmin/.cpanm/work/*/build.log + + - name: Show Errors on Ubuntu + if: ${{ failure() && startsWith( matrix.runner, 'ubuntu-')}} + run: | + cat /home/runner/.cpanm/work/*/build.log + + - name: Show Errors on OSX + if: ${{ failure() && startsWith( matrix.runner, 'macos-')}} + run: | + cat /Users/runner/.cpanm/work/*/build.log + + - name: Run tests + env: + AUTHOR_TESTING: 1 + RELEASE_TESTING: 1 + run: | + perl Makefile.PL + make + make test + + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/Changes new/SVG-2.89/Changes --- old/SVG-2.87/Changes 2022-05-19 19:00:42.000000000 +0200 +++ new/SVG-2.89/Changes 2026-03-05 12:28:28.000000000 +0100 @@ -1,5 +1,30 @@ Revision history for Perl extension SVG. +2.89 2026-03-05 MANWAR + - Fix RT#136789: Corrected misleading documentation for comment() and + desc() methods. + - Fixed logic in SVG::Element::xmlify to ensure comment elements are + correctly rendered as XML comments rather than standard tags. + - Updated desc() documentation to use cdata() for content, preventing + hash assignment warnings. + - Improved get_path() documentation to clarify return attributes (d vs + points) based on element type. + +2.88 2026.02.23 MANWAR + [Bug Fix] + - Fixed: element methods (circle, title, rect, path, etc.) were + unavailable when module was loaded with empty import list + 'use SVG ()'. + Perl suppresses the call to import() with empty parens, so element + methods were never predeclared. Fixed by predeclaring all built-in + element methods in SVG::Element at load time, regardless of how + SVG.pm is imported. (RT issue: #132058) + [Test] + - Added t/33-use-empty-import.t to test element methods with 'use SVG ()' + [Fixes] + - Fixed xt/author/pod-coverage.t to include 'use lib lib' so module is + found correctly when running tests from the distribution root + 2.87 2022.05.19 MANWAR - Indent doc for text PR #15, thanks @benkasminbullock. - Remove dead links to domain-squatted site PR #16, thanks @benkasminbullock. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/MANIFEST new/SVG-2.89/MANIFEST --- old/SVG-2.87/MANIFEST 2022-05-19 19:02:52.000000000 +0200 +++ new/SVG-2.89/MANIFEST 2026-03-05 12:42:46.000000000 +0100 @@ -1,3 +1,5 @@ +.github/dependabot.yml +.github/workflows/ci.yml .perlcriticrc .perltidyrc .tidyallrc @@ -27,10 +29,11 @@ lib/SVG/XML.pm LICENSE Makefile.PL -MANIFEST This list of files +MANIFEST README -t/00-report-prereqs.t t/00-load.t +t/00-new.t +t/00-report-prereqs.t t/01-loadsvg.t t/03-render.t t/04-inline.t @@ -54,9 +57,14 @@ t/22-xlink.t t/23-xmlescape.t t/30-shapes.t +t/31-credit.t +t/32-nocredit-in-use.t +t/33-use-empty-import.t +t/34-comment-desc.t t/duplicate_credits.t -xt/author/perl-critic.t +xt/author/manifest.t xt/author/perl-critic-tidy.t +xt/author/perl-critic.t xt/author/pod-coverage.t xt/author/pod-syntax.t xt/author/tidyall.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/META.json new/SVG-2.89/META.json --- old/SVG-2.87/META.json 2022-05-19 19:02:51.000000000 +0200 +++ new/SVG-2.89/META.json 2026-03-05 12:42:46.000000000 +0100 @@ -4,7 +4,7 @@ "Ronan Oger <[email protected]>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010", + "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], @@ -52,23 +52,23 @@ "provides" : { "SVG" : { "file" : "lib/SVG.pm", - "version" : "2.87" + "version" : "2.89" }, "SVG::DOM" : { "file" : "lib/SVG/DOM.pm", - "version" : "2.87" + "version" : "2.89" }, "SVG::Element" : { "file" : "lib/SVG/Element.pm", - "version" : "2.87" + "version" : "2.89" }, "SVG::Extension" : { "file" : "lib/SVG/Extension.pm", - "version" : "2.87" + "version" : "2.89" }, "SVG::XML" : { "file" : "lib/SVG/XML.pm", - "version" : "2.87" + "version" : "2.89" } }, "release_status" : "stable", @@ -79,7 +79,7 @@ "web" : "https://github.com/manwar/SVG" } }, - "version" : "2.87", + "version" : "2.89", "x_contributors" : [ "Peter Wainwright", "Ian Hickson", @@ -87,7 +87,7 @@ "Steve Lihn", "Allen Day", "Gabor Szabo", - "Mohammad S Anwar" + "Mohammad Sajid Anwar" ], - "x_serialization_backend" : "JSON::PP version 4.02" + "x_serialization_backend" : "JSON::PP version 4.16" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/META.yml new/SVG-2.89/META.yml --- old/SVG-2.87/META.yml 2022-05-19 19:02:48.000000000 +0200 +++ new/SVG-2.89/META.yml 2026-03-05 12:42:46.000000000 +0100 @@ -14,7 +14,7 @@ strict: '0' warnings: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010' +generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -27,19 +27,19 @@ provides: SVG: file: lib/SVG.pm - version: '2.87' + version: '2.89' SVG::DOM: file: lib/SVG/DOM.pm - version: '2.87' + version: '2.89' SVG::Element: file: lib/SVG/Element.pm - version: '2.87' + version: '2.89' SVG::Extension: file: lib/SVG/Extension.pm - version: '2.87' + version: '2.89' SVG::XML: file: lib/SVG/XML.pm - version: '2.87' + version: '2.89' requires: Exporter: '0' Scalar::Util: '0' @@ -50,7 +50,7 @@ warnings: '0' resources: repository: https://github.com/manwar/SVG.git -version: '2.87' +version: '2.89' x_contributors: - 'Peter Wainwright' - 'Ian Hickson' @@ -58,5 +58,5 @@ - 'Steve Lihn' - 'Allen Day' - 'Gabor Szabo' - - 'Mohammad S Anwar' + - 'Mohammad Sajid Anwar' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/Makefile.PL new/SVG-2.89/Makefile.PL --- old/SVG-2.87/Makefile.PL 2022-05-19 16:49:25.000000000 +0200 +++ new/SVG-2.89/Makefile.PL 2026-03-05 12:38:29.000000000 +0100 @@ -39,11 +39,26 @@ (eval { ExtUtils::MakeMaker->VERSION(6.46) } ? (META_MERGE => { 'meta-spec' => { version => 2 }, provides => { - 'SVG' => { file => 'lib/SVG.pm' , version => '2.87' }, - 'SVG::DOM' => { file => 'lib/SVG/DOM.pm' , version => '2.87' }, - 'SVG::Element' => { file => 'lib/SVG/Element.pm' , version => '2.87' }, - 'SVG::Extension' => { file => 'lib/SVG/Extension.pm', version => '2.87' }, - 'SVG::XML' => { file => 'lib/SVG/XML.pm' , version => '2.87' }, + 'SVG' => { + file => 'lib/SVG.pm', + version => MM->parse_version('lib/SVG.pm') + }, + 'SVG::DOM' => { + file => 'lib/SVG/DOM.pm', + version => MM->parse_version('lib/SVG/DOM.pm') + }, + 'SVG::Element' => { + file => 'lib/SVG/Element.pm', + version => MM->parse_version('lib/SVG/Element.pm') + }, + 'SVG::Extension' => { + file => 'lib/SVG/Extension.pm', + version => MM->parse_version('lib/SVG/Extension.pm') + }, + 'SVG::XML' => { + file => 'lib/SVG/XML.pm', + version => MM->parse_version('lib/SVG/XML.pm') + }, }, resources => { repository => { @@ -59,7 +74,7 @@ 'Steve Lihn', 'Allen Day', 'Gabor Szabo', - 'Mohammad S Anwar', + 'Mohammad Sajid Anwar', ], }) : () diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/lib/SVG/DOM.pm new/SVG-2.89/lib/SVG/DOM.pm --- old/SVG-2.87/lib/SVG/DOM.pm 2022-05-19 18:22:06.000000000 +0200 +++ new/SVG-2.89/lib/SVG/DOM.pm 2026-03-05 12:33:32.000000000 +0100 @@ -4,7 +4,7 @@ use Scalar::Util qw/weaken/; -our $VERSION = '2.87'; +our $VERSION = '2.89'; # this module extends SVG::Element package SVG::Element; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/lib/SVG/Element.pm new/SVG-2.89/lib/SVG/Element.pm --- old/SVG-2.87/lib/SVG/Element.pm 2022-05-19 18:39:38.000000000 +0200 +++ new/SVG-2.89/lib/SVG/Element.pm 2026-03-05 12:33:32.000000000 +0100 @@ -3,7 +3,7 @@ use strict; use warnings; -our $VERSION = '2.87'; +our $VERSION = '2.89'; =pod @@ -110,9 +110,8 @@ } #prep the tag - if ( $self->{-comment} ) { - $xml .= $self->xmlcomment( $self->{-comment} ); - return $xml; + if ( $self->{-name} eq 'comment' && $self->{-comment} ) { + return $self->xmlcomment( $self->{-comment} ); } elsif ( $self->{-name} eq 'document' ) { @@ -716,4 +715,12 @@ #------------------------------------------------------------------------------- +# Predeclare all known built-in element methods at load time +# so they work regardless of how SVG.pm is imported +# (e.g. 'use SVG ()' suppresses import() but still loads this module). +foreach my $sub ( keys %SVG::Element::autosubs ) { + $SVG::Element::AUTOLOAD = "SVG::Element::$sub"; + SVG::Element::autoload(); +} + 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/lib/SVG/Extension.pm new/SVG-2.89/lib/SVG/Extension.pm --- old/SVG-2.87/lib/SVG/Extension.pm 2022-05-19 16:49:07.000000000 +0200 +++ new/SVG-2.89/lib/SVG/Extension.pm 2026-03-05 12:33:32.000000000 +0100 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = '2.87'; +our $VERSION = '2.89'; =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/lib/SVG/XML.pm new/SVG-2.89/lib/SVG/XML.pm --- old/SVG-2.87/lib/SVG/XML.pm 2022-05-19 16:49:07.000000000 +0200 +++ new/SVG-2.89/lib/SVG/XML.pm 2026-03-05 12:33:32.000000000 +0100 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = '2.87'; +our $VERSION = '2.89'; =pod diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/lib/SVG.pm new/SVG-2.89/lib/SVG.pm --- old/SVG-2.87/lib/SVG.pm 2022-05-19 18:57:46.000000000 +0200 +++ new/SVG-2.89/lib/SVG.pm 2026-03-05 12:33:32.000000000 +0100 @@ -4,10 +4,10 @@ use warnings; use SVG::XML; -use parent qw(SVG::Element SVG::Extension); +use parent qw(SVG::Element SVG::Extension); use Scalar::Util qw/weaken/; -our $VERSION = '2.87'; +our $VERSION = '2.89'; =pod @@ -623,19 +623,21 @@ =head2 desc - $tag = $svg->desc(%attributes) + $svg->desc(id => 'image-description')->cdata('This image shows a red circle'); -Generate the description of the image. - - my $tag = $svg->desc(id=>'document-desc')->cdata('This is a description'); +Add a description element to the SVG document. The <desc> element provides a +text-accessible description of the container or graphics element. It is +primarily used for accessibility (screen readers) and is not rendered visually. =head2 comment - $tag = $svg->comment(@comments) - -Generate the description of the image. + $svg->comment('Single comment'); + $svg->comment('Part 1', 'Part 2', 'Part 3'); - my $tag = $svg->comment('comment 1','comment 2','comment 3'); +Add a comment to the SVG document. Comments are rendered as standard XML +comments. If multiple strings are provided, they are concatenated with +spaces. Unlike the 'desc' element, comments are generally ignored by user +agents and are not part of the DOM tree for accessibility. =head2 pi (Processing Instruction) @@ -744,6 +746,11 @@ # add the polyline to the SVG document $p = $svg->polyline(%$points, id=>'pline1'); +B<Note:> The attribute returned depends on the element type: +C<-type =E<gt> 'path'> returns C<< { d => ... } >>, +while C<-type =E<gt> 'polygon'> and C<-type =E<gt> 'polyline'> +return C<< { points => ... } >>. + B<Aliases:> get_path set_path @@ -1543,7 +1550,7 @@ =head1 MAINTAINER -L<Gabor Szabo|http://szabgab.com/> +L<Mohammad Sajid Anwar|https://manwar.org/> =head1 CREDITS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/00-load.t new/SVG-2.89/t/00-load.t --- old/SVG-2.87/t/00-load.t 2022-05-19 16:48:15.000000000 +0200 +++ new/SVG-2.89/t/00-load.t 2026-02-23 13:27:07.000000000 +0100 @@ -2,7 +2,7 @@ use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 7; BEGIN { use_ok('SVG') || print "Bail out!\n"; @@ -12,4 +12,10 @@ use_ok('SVG::XML') || print "Bail out!\n"; } +eval 'use SVG (-indent => " ")'; +is $@, ""; + +eval 'use SVG (-qqrq => " ")'; +like $@, qr{^Unknown attribute '-qqrq' in import list}; + diag("Testing SVG $SVG::VERSION, Perl $], $^X"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/00-new.t new/SVG-2.89/t/00-new.t --- old/SVG-2.87/t/00-new.t 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/t/00-new.t 2026-02-23 13:27:07.000000000 +0100 @@ -0,0 +1,22 @@ +use strict; +use warnings; + +use Test::More; + +use SVG; + +my $svg = SVG->new(); +isa_ok( $svg, 'SVG' ); + +my $other = $svg->new; +isa_ok( $other, 'SVG' ); + +isnt $svg, $other; + +# TODO: Do we really want to support the creation of an instance from another one? + +# TODO: add more tests to check what happens if the original instance +# already had some content. eg. a circle. + +done_testing(); + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/11-customtags.t new/SVG-2.89/t/11-customtags.t --- old/SVG-2.87/t/11-customtags.t 2022-05-19 16:48:15.000000000 +0200 +++ new/SVG-2.89/t/11-customtags.t 2026-02-23 13:27:07.000000000 +0100 @@ -6,7 +6,8 @@ my $svg = SVG->new; -$svg->star( id => "Sol" )->planet( id => "Jupiter" ) +$svg->star( id => "Sol" ) + ->planet( id => "Jupiter" ) ->moon( id => "Ganymede" ); like $svg->xmlify, qr{<star id="Sol">\s+<planet id="Jupiter">\s+<moon id="Ganymede" />\s+</planet>\s+</star>}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/15-parentage.t new/SVG-2.89/t/15-parentage.t --- old/SVG-2.87/t/15-parentage.t 2022-05-19 18:47:42.000000000 +0200 +++ new/SVG-2.89/t/15-parentage.t 2026-02-23 13:27:07.000000000 +0100 @@ -27,7 +27,7 @@ is( $parent->removeChild($child1), $child1, 'removeChild1' ); is( $parent->removeChild($child3), $child3, 'removeChild3' ); is( $parent->removeChild($child2), $child2, 'removeChild2' ); -is( $parent->removeChild($child1), 0, 'no such child' ); +is( $parent->removeChild($child1), 0, 'no such child' ); is( $parent->findChildIndex($child1), -1, 'child1 is gone' ); is( $parent->insertAtIndex( $child1, 0 ), 1 ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/21-polygon.t new/SVG-2.89/t/21-polygon.t --- old/SVG-2.87/t/21-polygon.t 2022-05-19 16:48:15.000000000 +0200 +++ new/SVG-2.89/t/21-polygon.t 2026-02-23 13:27:07.000000000 +0100 @@ -1,7 +1,7 @@ use strict; use warnings; -use Test::More tests => 4; +use Test::More tests => 8; use SVG; @@ -20,6 +20,9 @@ -type => 'polygon' ); +# diag explain $points; +is_deeply $points, { 'points' => '0,0 2,0 4,2 5,7 1,5 ' }; + my $c = $svg->polygon( %$points, id => 'pgon1', @@ -31,10 +34,17 @@ ); ok( $c, "polygon 1: define" ); +isa_ok $c, 'SVG::Element'; my $out = $svg->xmlify(); -like( $out, qr/polygon/, "polygon 2: serialize" ); -like( $out, qr/style/, "inline css style 1" ); -like( $out, qr/opacity/, "inline css style 2" ); +#diag $out; + +like( $out, qr/polygon/, "polygon 2: serialize" ); +like( $out, qr/style/, "inline css style 1" ); +like( $out, qr/opacity/, "inline css style 2" ); +like( $out, qr{<defs />}, "defs section" ); +like( $out, + qr{<polygon id="pgon1" opacity="0.6" points="0,0 2,0 4,2 5,7 1,5 " style="fill: red; stroke: green" />} +); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/30-shapes.t new/SVG-2.89/t/30-shapes.t --- old/SVG-2.87/t/30-shapes.t 2022-05-19 16:48:15.000000000 +0200 +++ new/SVG-2.89/t/30-shapes.t 2026-02-23 13:27:07.000000000 +0100 @@ -1,7 +1,7 @@ use strict; use warnings; -use Test::More tests => 3; +use Test::More tests => 4; use SVG; @@ -42,6 +42,21 @@ #diag $xml; }; + +subtest circle_without_id => sub { + plan tests => 1; + + my $svg = SVG->new; + my $tag = $svg->circle( + cx => 100, + cy => 100, + r => 50, + ); + my $xml = $svg->xmlify; + like $xml, qr{<circle cx="100" cy="100" r="50" />}; + + #diag $xml; +}; subtest ellipse => sub { plan tests => 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/31-credit.t new/SVG-2.89/t/31-credit.t --- old/SVG-2.87/t/31-credit.t 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/t/31-credit.t 2026-02-23 13:27:07.000000000 +0100 @@ -0,0 +1,21 @@ +use strict; +use warnings; + +use Test::More; +use SVG; + +{ + diag "Include credits by default"; + my $svg = SVG->new(); + my $xml = $svg->render(); + like $xml, qr{by Ronan Oger}; +} + +{ + diag "We can hide the credits"; + my $svg = SVG->new( -nocredits => 1 ); + my $xml = $svg->render(); + unlike $xml, qr{by Ronan Oger}; +} + +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/32-nocredit-in-use.t new/SVG-2.89/t/32-nocredit-in-use.t --- old/SVG-2.87/t/32-nocredit-in-use.t 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/t/32-nocredit-in-use.t 2026-02-23 13:27:07.000000000 +0100 @@ -0,0 +1,21 @@ +use strict; +use warnings; + +use Test::More; +use SVG qw(-nocredits 1); + +{ + diag "no credits by default"; + my $svg = SVG->new(); + my $xml = $svg->render(); + unlike $xml, qr{by Ronan Oger}; +} + +{ + diag "we can turn on credits"; + my $svg = SVG->new( -nocredits => 0 ); + my $xml = $svg->render(); + like $xml, qr{by Ronan Oger}; +} + +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/33-use-empty-import.t new/SVG-2.89/t/33-use-empty-import.t --- old/SVG-2.87/t/33-use-empty-import.t 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/t/33-use-empty-import.t 2026-02-23 13:27:07.000000000 +0100 @@ -0,0 +1,18 @@ +use strict; +use warnings; +use Test::More; + +# This is the critical test - 'use SVG ()' suppresses import(), +# which previously caused all element methods to be unavailable. +use SVG (); + +my $svg = SVG->new( width => 100, height => 100 ); +isa_ok( $svg, 'SVG', 'SVG object created with use SVG ()' ); + +# Test a selection of element methods that rely on autoload predeclaration +for my $method (qw(circle ellipse rect path polygon polyline line title desc)) +{ + ok( SVG::Element->can($method), "$method is available with use SVG ()" ); +} + +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/t/34-comment-desc.t new/SVG-2.89/t/34-comment-desc.t --- old/SVG-2.87/t/34-comment-desc.t 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/t/34-comment-desc.t 2026-03-05 12:41:29.000000000 +0100 @@ -0,0 +1,28 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Test::More; +use SVG; + +# RT136789 +# https://rt.cpan.org/Public/Bug/Display.html?id=136789 + +my $svg = SVG->new(width => 100, height => 100); + +# Test 1: comment() behavior +my $comment_text = "RT136789 Test Comment"; +$svg->comment($comment_text); + +# Test 2: desc() behavior +$svg->desc(id => 'desc-id')->cdata('Accessible Description'); + +my $xml = $svg->xmlify(); + +# Validation +like($xml, qr//, 'comment() should produce XML comment tags'); +unlike($xml, qr/<comment/, 'comment() should NOT produce a <comment> element'); +like($xml, qr/<desc id="desc-id">Accessible Description<\/desc>/, 'desc() should produce a <desc> element'); + +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/xt/author/manifest.t new/SVG-2.89/xt/author/manifest.t --- old/SVG-2.87/xt/author/manifest.t 1970-01-01 01:00:00.000000000 +0100 +++ new/SVG-2.89/xt/author/manifest.t 2026-02-23 13:18:48.000000000 +0100 @@ -0,0 +1,12 @@ +#!/usr/bin/perl + +use 5.006; +use strict; +use warnings FATAL => 'all'; +use Test::More; + +my $min_tcm = 0.9; +eval "use Test::CheckManifest $min_tcm"; +plan skip_all => "Test::CheckManifest $min_tcm required" if $@; + +ok_manifest({filter => [qr/\.git/]}); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/xt/author/pod-coverage.t new/SVG-2.89/xt/author/pod-coverage.t --- old/SVG-2.87/xt/author/pod-coverage.t 2022-05-19 16:48:15.000000000 +0200 +++ new/SVG-2.89/xt/author/pod-coverage.t 2026-02-23 13:25:28.000000000 +0100 @@ -1,3 +1,4 @@ +use lib 'lib'; use Test::More; use Test::Pod::Coverage; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/xt/release/meta-json.t new/SVG-2.89/xt/release/meta-json.t --- old/SVG-2.87/xt/release/meta-json.t 2022-05-19 16:48:15.000000000 +0200 +++ new/SVG-2.89/xt/release/meta-json.t 2026-02-23 13:30:35.000000000 +0100 @@ -1,3 +1,4 @@ +use lib 'lib/'; use strict; use warnings; use Test::More; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SVG-2.87/xt/release/meta-yml.t new/SVG-2.89/xt/release/meta-yml.t --- old/SVG-2.87/xt/release/meta-yml.t 2022-05-19 16:48:15.000000000 +0200 +++ new/SVG-2.89/xt/release/meta-yml.t 2026-02-23 13:30:59.000000000 +0100 @@ -1,3 +1,4 @@ +use lib 'lib/'; use strict; use warnings; use Test::More; ++++++ _scmsync.obsinfo ++++++ mtime: 1772776980 commit: 180e6d1eb845a8511144d512e3e16059a2162e7028da7f9d6a093678e9eda67b url: https://src.opensuse.org/perl/perl-SVG.git revision: 180e6d1eb845a8511144d512e3e16059a2162e7028da7f9d6a093678e9eda67b projectscmsync: https://src.opensuse.org/perl/_ObsPrj ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-03-09 19:13:04.000000000 +0100 @@ -0,0 +1 @@ +.osc
