Bugzilla – Attachment 37781 Details for
Bug 13941
Add ids to <body> tag in staff client where missing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[Signed-off] Bug 13941 [1/2] Test <body> tag with id/class attributes
Signed-off-Bug-13941-12-Test-body-tag-with-idclass.patch (text/plain), 3.78 KB, created by
Marc Véron
on 2015-04-13 20:31:43 UTC
(
hide
)
Description:
[Signed-off] Bug 13941 [1/2] Test <body> tag with id/class attributes
Filename:
MIME Type:
Creator:
Marc Véron
Created:
2015-04-13 20:31:43 UTC
Size:
3.78 KB
patch
obsolete
>From 33f47e4268cfdb2d3f9a3a135082a51ee7868d8c Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= <f.demians@tamil.fr> >Date: Mon, 13 Apr 2015 14:02:42 +0200 >Subject: [PATCH] [Signed-off] Bug 13941 [1/2] Test <body> tag with id/class > attributes >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Test: > >- Apply the first patch [1/2] containg a new test checking <body> tags in all > templates >- Run the test: prove xt/tt_valid.t >- You get a list of templates with invalid <body> tags. >- Apply the second patch [2/2] fixing all invalid <body> tags. >- Re-run the test: It passes. > >Followed test plan. Works as expected. >Signed-off-by: Marc Véron <veron@veron.ch> >--- > xt/tt_valid.t | 80 +++++++++++++++++++++++++++++++++++---------------------- > 1 file changed, 50 insertions(+), 30 deletions(-) > >diff --git a/xt/tt_valid.t b/xt/tt_valid.t >index 507210f..b644dfb 100755 >--- a/xt/tt_valid.t >+++ b/xt/tt_valid.t >@@ -17,9 +17,8 @@ > # You should have received a copy of the GNU General Public License > # along with Koha; if not, see <http://www.gnu.org/licenses>. > >-use warnings; >-use strict; >-use Test::More tests => 2; >+use Modern::Perl; >+use Test::More tests => 3; > use File::Find; > use Cwd; > use C4::TTParser; >@@ -42,35 +41,56 @@ for my $theme ( grep { not /^\.|lib|js/ } readdir($dh) ) { > } > close $dh; > >-my @files_with_directive_in_tag = do { >- my @files; >- find( sub { >- my $dir = getcwd(); >- return if $dir =~ /blib/; >- return unless /\.(tt|inc)$/; >- my $name = $_; >- my $parser = C4::TTParser->new; >- $parser->build_tokens( $name ); >- my @lines; >- while ( my $token = $parser->next_token ) { >+my $checkers = [ >+ { >+ description => 'TT syntax: not using TT directive within HTML tag', >+ check => sub { >+ my ($self, $name, $token) = @_; > my $attr = $token->{_attr}; >- next unless $attr; >- push @lines, $token->{_lc} if $attr->{'[%'} or $attr->{'[%-'}; >+ push @{$self->{errors}->{$name}}, $token->{_lc} if $attr->{'[%'} or $attr->{'[%-'}; >+ }, >+ errors => {}, >+ }, >+ { >+ description => '<body> tag with id and class attributes', >+ check => sub { >+ my ($self, $name, $token) = @_; >+ return if $name =~ /bodytag\.inc/; >+ $_ = $token->{_string}; >+ push @{$self->{errors}->{$name}}, $token->{_lc} >+ if /^<body/ && ! /id=".+"/ && ! /class=".+"/; >+ >+ }, >+ errors => {}, >+ }, >+]; >+find( sub { >+ my $dir = getcwd(); >+ return if $dir =~ /blib/; >+ return unless /\.(tt|inc)$/; >+ ($dir) = $dir =~ /koha-tmpl\/(.*)$/; >+ my $name = $_; >+ my $parser = C4::TTParser->new; >+ $parser->build_tokens( $name ); >+ while ( my $token = $parser->next_token ) { >+ my $attr = $token->{_attr}; >+ next unless $attr; >+ for my $checker (@$checkers) { >+ $checker->{check}->($_, "$dir/$name", $token); > } >- ($dir) = $dir =~ /koha-tmpl\/(.*)$/; >- push @files, { name => "$dir/$name", lines => \@lines } if @lines; >- }, @themes >- ); >- @files; >-}; >- >- >-ok( !@files_with_directive_in_tag, "TT syntax: not using TT directive within HTML tag" ) >- or diag( >- "Files list: \n", >- join( "\n", map { $_->{name} . ': ' . join(', ', @{$_->{lines}}) >- } @files_with_directive_in_tag ) >- ); >+ } >+ }, @themes >+); >+ >+for my $check (@$checkers) { >+ my @files = sort keys %{$check->{errors}}; >+ ok( !@files, $check->{description} ) >+ or diag( >+ "Files list: \n", >+ join( "\n", map { "$_: " . join(', ', @{$check->{errors}->{$_}}) >+ } @files ) >+ ); >+} > > my $testtoken = 0; > my $ttparser = C4::TTParser->new(); >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 13941
:
37733
|
37734
|
37735
|
37759
|
37760
|
37774
|
37775
|
37781
|
37782
|
37823
|
37824
|
37896
|
37897
|
37927
|
37929
|
37930