Bugzilla – Attachment 85073 Details for
Bug 13952
Import and export of authority types
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 13952: (follow-up) Tests
Bug-13952-follow-up-Tests.patch (text/plain), 41.66 KB, created by
Aleisha Amohia
on 2019-02-14 03:42:28 UTC
(
hide
)
Description:
Bug 13952: (follow-up) Tests
Filename:
MIME Type:
Creator:
Aleisha Amohia
Created:
2019-02-14 03:42:28 UTC
Size:
41.66 KB
patch
obsolete
>From 0a195a37d5f2d1124bad7cc6934f14029f50963d Mon Sep 17 00:00:00 2001 >From: Aleisha Amohia <aleishaamohia@hotmail.com> >Date: Thu, 14 Feb 2019 03:18:43 +0000 >Subject: [PATCH] Bug 13952: (follow-up) Tests > >Run: >prove -v t/db_dependent/ImportExportFramework.t and confirm all tests >pass. > >I've also added a fix to remove the warns when exporting in ODS format. >--- > C4/ImportExportFramework.pm | 2 +- > t/db_dependent/ImportExportFramework.t | 90 ++++++++++++++++++--- > t/db_dependent/data/frameworks/auth_type.csv | 21 +++++ > t/db_dependent/data/frameworks/auth_type.ods | Bin 0 -> 5125 bytes > t/db_dependent/data/frameworks/auth_type.xml | 28 +++++++ > .../data/frameworks/auth_type_smaller.csv | 14 ++++ > .../data/frameworks/auth_type_smaller.ods | Bin 0 -> 4790 bytes > .../data/frameworks/auth_type_smaller.xml | 28 +++++++ > 8 files changed, 171 insertions(+), 12 deletions(-) > create mode 100644 t/db_dependent/data/frameworks/auth_type.csv > create mode 100644 t/db_dependent/data/frameworks/auth_type.ods > create mode 100644 t/db_dependent/data/frameworks/auth_type.xml > create mode 100644 t/db_dependent/data/frameworks/auth_type_smaller.csv > create mode 100644 t/db_dependent/data/frameworks/auth_type_smaller.ods > create mode 100644 t/db_dependent/data/frameworks/auth_type_smaller.xml > >diff --git a/C4/ImportExportFramework.pm b/C4/ImportExportFramework.pm >index fc4a02a..b7fa491 100644 >--- a/C4/ImportExportFramework.pm >+++ b/C4/ImportExportFramework.pm >@@ -358,7 +358,7 @@ sub _export_table_ods > $data = $hashRef->{$_->{name}}; > if ($_->{type} eq 'float' && !defined($data)) { > $data = '0'; >- } elsif ($_->{type} eq 'string' && (!$data && $data ne '0')) { >+ } elsif ($_->{type} eq 'string' && !defined($data)) { > $data = '#'; > } > $data = _parseContent2Xml($data) if ($_->{type} eq 'string'); >diff --git a/t/db_dependent/ImportExportFramework.t b/t/db_dependent/ImportExportFramework.t >index 8189183..f30f995 100644 >--- a/t/db_dependent/ImportExportFramework.t >+++ b/t/db_dependent/ImportExportFramework.t >@@ -26,6 +26,8 @@ use File::Basename qw( dirname ); > use Koha::Database; > use Koha::BiblioFrameworks; > use Koha::MarcSubfieldStructures; >+use Koha::Authority::Types; >+use Koha::Authority::Subfields; > use C4::ImportExportFramework; > > my $schema = Koha::Database->new->schema; >@@ -33,37 +35,57 @@ my $builder = t::lib::TestBuilder->new; > > subtest 'ImportFramework() tests' => sub { > >- plan tests => 3; >+ plan tests => 6; > >- subtest 'CSV tests' => sub { >+ subtest 'CSV tests for biblio frameworks' => sub { > plan tests => 9; > >- run_tests('csv'); >+ run_biblio_tests('csv'); > }; > >- subtest 'ODS tests' => sub { >+ subtest 'ODS tests for biblio frameworks' => sub { > plan tests => 9; > >- run_tests('ods'); >+ run_biblio_tests('ods'); > }; > >- subtest 'XML tests' => sub { >+ subtest 'XML tests for biblio frameworks' => sub { > plan tests => 9; > >- run_tests('xml'); >+ run_biblio_tests('xml'); > }; >+ >+ subtest 'CSV tests for auth frameworks' => sub { >+ plan tests => 9; >+ >+ run_auth_tests('csv'); >+ }; >+ >+ subtest 'ODS tests for auth frameworks' => sub { >+ plan tests => 9; >+ >+ run_auth_tests('ods'); >+ }; >+ >+ subtest 'XML tests for auth frameworks' => sub { >+ plan tests => 9; >+ >+ run_auth_tests('xml'); >+ }; >+ > }; > >-sub run_tests { >+sub run_biblio_tests { > > my ($format) = @_; >+ my $type = "biblio"; > > $schema->storage->txn_begin; > > my $data_filepath = dirname(__FILE__) . "/data/frameworks/biblio_framework.$format"; > my $fw_1 = $builder->build_object({ class => 'Koha::BiblioFrameworks' }); > >- my $result = C4::ImportExportFramework::ImportFramework( $data_filepath, $fw_1->id ); >+ my $result = C4::ImportExportFramework::ImportFramework( $data_filepath, $fw_1->id, 0, $type ); > is( $result, 0, 'Import successful, no tags removed' ); > > my $nb_tags = $schema->resultset('MarcTagStructure')->search({ frameworkcode => $fw_1->id })->count; >@@ -74,7 +96,7 @@ sub run_tests { > > # bad file tests > my $fw_2 = $builder->build_object({ class => 'Koha::BiblioFrameworks' }); >- $result = C4::ImportExportFramework::ImportFramework( '', $fw_2->id ); >+ $result = C4::ImportExportFramework::ImportFramework( '', $fw_2->id, 0, $type ); > > is( $result, -1, 'Bad file makes it return -1' ); > >@@ -87,7 +109,7 @@ sub run_tests { > # framework overwrite > $data_filepath = dirname(__FILE__) . "/data/frameworks/biblio_framework_smaller.$format"; > >- $result = C4::ImportExportFramework::ImportFramework( $data_filepath, $fw_1->id ); >+ $result = C4::ImportExportFramework::ImportFramework( $data_filepath, $fw_1->id, 0, $type ); > is( $result, 5, 'Smaller fw import successful, 4 tags removed' ); > > $nb_tags = $schema->resultset('MarcTagStructure')->search({ frameworkcode => $fw_1->id })->count; >@@ -98,3 +120,49 @@ sub run_tests { > > $schema->storage->txn_rollback; > } >+ >+sub run_auth_tests { >+ >+ my ($format) = @_; >+ my $type = "authority"; >+ >+ $schema->storage->txn_begin; >+ >+ my $data_filepath = dirname(__FILE__) . "/data/frameworks/auth_type.$format"; >+ my $fw_1 = $builder->build_object({ class => 'Koha::Authority::Types' }); >+ >+ my $result = C4::ImportExportFramework::ImportFramework( $data_filepath, $fw_1->id, '', $type ); >+ is( $result, 0, 'Import successful, no tags removed' ); >+ >+ my $nb_tags = $schema->resultset('AuthTagStructure')->search({ authtypecode => $fw_1->id })->count; >+ is( $nb_tags, 6, "6 tags should have been imported" ); >+ >+ my $nb_subfields = Koha::Authority::Subfields->search({ authtypecode => $fw_1->id })->count; >+ is( $nb_subfields, 8, "8 subfields should have been imported" ); >+ >+ # bad file tests >+ my $fw_2 = $builder->build_object({ class => 'Koha::Authority::Types' }); >+ $result = C4::ImportExportFramework::ImportFramework( '', $fw_2->id, '', $type ); >+ >+ is( $result, -1, 'Bad file makes it return -1' ); >+ >+ $nb_tags = $schema->resultset('AuthTagStructure')->search({ authtypecode => $fw_2->id })->count; >+ is( $nb_tags, 0, "0 tags should have been imported" ); >+ >+ $nb_subfields = Koha::Authority::Subfields->search({ authtypecode => $fw_2->id })->count; >+ is( $nb_subfields, 0, "0 subfields should have been imported" ); >+ >+ # framework overwrite >+ $data_filepath = dirname(__FILE__) . "/data/frameworks/auth_type_smaller.$format"; >+ >+ $result = C4::ImportExportFramework::ImportFramework( $data_filepath, $fw_1->id, '', $type ); >+ is( $result, 8, 'Smaller fw import successful, 6 tags removed' ); >+ >+ $nb_tags = $schema->resultset('AuthTagStructure')->search({ authtypecode => $fw_1->id })->count; >+ is( $nb_tags, 3, "3 tags should have been imported" ); >+ >+ $nb_subfields = Koha::Authority::Subfields->search({ authtypecode => $fw_1->id })->count; >+ is( $nb_subfields, 3, "3 subfields should have been imported" ); >+ >+ $schema->storage->txn_rollback; >+} >diff --git a/t/db_dependent/data/frameworks/auth_type.csv b/t/db_dependent/data/frameworks/auth_type.csv >new file mode 100644 >index 0000000..66a50cc >--- /dev/null >+++ b/t/db_dependent/data/frameworks/auth_type.csv >@@ -0,0 +1,21 @@ >+"authtypecode","tagfield","liblibrarian","libopac","repeatable","mandatory","authorised_value" >+"TEST","000","LEADER","LEADER","0","1","" >+"TEST","001","CONTROL NUMBER","CONTROL NUMBER","0","1","" >+"TEST","003","CONTROL NUMBER IDENTIFIER","CONTROL NUMBER IDENTIFIER","0","1","" >+"TEST","005","DATE AND TIME OF LATEST TRANSACTION","DATE AND TIME OF LATEST TRANSACTION","0","1","" >+"TEST","008","FIXED-LENGTH DATA ELEMENTS","FIXED-LENGTH DATA ELEMENTS","0","1","" >+"TEST","010","LIBRARY OF CONGRESS CONTROL NUMBER","LIBRARY OF CONGRESS CONTROL NUMBER","0","0","" >+ >+"#-#","#-#","#-#","#-#","#-#","#-#","#-#" >+ >+"authtypecode","tagfield","tagsubfield","liblibrarian","libopac","repeatable","mandatory","tab","authorised_value","value_builder","seealso","isurl","hidden","linkid","kohafield","frameworkcode","defaultvalue" >+"TEST","000","@","fixed length control field","fixed length control field","0","1","0","","marc21_leader_authorities.pl","","0","0","0","","","" >+"TEST","001","@","control field","control field","0","0","0","","","","0","0","0","auth_header.authid","","" >+"TEST","003","@","control field","control field","0","1","0","","marc21_orgcode.pl","","0","0","0","","","" >+"TEST","005","@","control field","control field","0","1","0","","marc21_field_005.pl","","0","0","0","","","" >+"TEST","008","@","fixed length control field","fixed length control field","0","1","0","","marc21_field_008_authorities.pl","","0","0","0","","","" >+"TEST","010","8","Field link and sequence number","Field link and sequence number","1","0","0","","","","0","0","0","","","" >+"TEST","010","a","LC control number","LC control number","0","0","0","","","","0","0","0","","","" >+"TEST","010","z","Canceled/invalid LC control number","Canceled/invalid LC control number","1","0","0","","","","0","0","0","","","" >+ >+"#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#" >diff --git a/t/db_dependent/data/frameworks/auth_type.ods b/t/db_dependent/data/frameworks/auth_type.ods >new file mode 100644 >index 0000000000000000000000000000000000000000..9c1640dd1245148b54ee45c76ccc8e8a31675e70 >GIT binary patch >literal 5125 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 > >literal 0 >HcmV?d00001 > >diff --git a/t/db_dependent/data/frameworks/auth_type.xml b/t/db_dependent/data/frameworks/auth_type.xml >new file mode 100644 >index 0000000..86ecec3 >--- /dev/null >+++ b/t/db_dependent/data/frameworks/auth_type.xml >@@ -0,0 +1,28 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<?mso-application progid="Excel.Sheet"?> >+<Workbook xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> >+ >+<Styles> >+ <Style ss:ID="Default" ss:Name="Normal"> >+ <Alignment ss:Vertical="Bottom"/> >+ <Borders/> >+ <Font/> >+ <Interior/> >+ <NumberFormat/> >+ <Protection/> >+ </Style> >+ <Style ss:ID="s27"> >+ <Font x:Family="Swiss" ss:Color="#0000FF" ss:Bold="1"/> >+ </Style> >+ <Style ss:ID="s21"> >+ <NumberFormat ss:Format="yyyy\-mm\-dd"/> >+ </Style> >+ <Style ss:ID="s22"> >+ <NumberFormat ss:Format="yyyy\-mm\-dd\ hh:mm:ss"/> >+ </Style> >+ <Style ss:ID="s23"> >+ <NumberFormat ss:Format="hh:mm:ss"/> >+ </Style> >+</Styles> >+ >+<Worksheet ss:Name="auth_tag_structure"><ss:Table><ss:Row><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authtypecode</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tagfield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">liblibrarian</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">libopac</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">repeatable</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">mandatory</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authorised_value</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">000</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LEADER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LEADER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">001</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">003</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER IDENTIFIER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER IDENTIFIER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">005</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">DATE AND TIME OF LATEST TRANSACTION</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">DATE AND TIME OF LATEST TRANSACTION</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">008</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">FIXED-LENGTH DATA ELEMENTS</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">FIXED-LENGTH DATA ELEMENTS</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">010</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LIBRARY OF CONGRESS CONTROL NUMBER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LIBRARY OF CONGRESS CONTROL NUMBER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row></ss:Table></Worksheet><Worksheet ss:Name="auth_subfield_structure"><ss:Table><ss:Row><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authtypecode</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tagfield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tagsubfield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">liblibrarian</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">libopac</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">repeatable</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">mandatory</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tab</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authorised_value</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">value_builder</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">seealso</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">isurl</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">hidden</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">linkid</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">kohafield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">frameworkcode</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">defaultvalue</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">000</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">fixed length control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">fixed length control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">marc21_leader_authorities.pl</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">001</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">auth_header.authid</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">003</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">marc21_orgcode.pl</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">005</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">marc21_field_005.pl</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">008</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">fixed length control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">fixed length control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">marc21_field_008_authorities.pl</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">010</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">8</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">Field link and sequence number</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">Field link and sequence number</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">010</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">a</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LC control number</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LC control number</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">TEST</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">010</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">z</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">Canceled/invalid LC control number</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">Canceled/invalid LC control number</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row></ss:Table></Worksheet></Workbook> >diff --git a/t/db_dependent/data/frameworks/auth_type_smaller.csv b/t/db_dependent/data/frameworks/auth_type_smaller.csv >new file mode 100644 >index 0000000..a243f3a >--- /dev/null >+++ b/t/db_dependent/data/frameworks/auth_type_smaller.csv >@@ -0,0 +1,14 @@ >+"authtypecode","tagfield","liblibrarian","libopac","repeatable","mandatory","authorised_value" >+"","000","LEADER","LEADER","0","1","" >+"","001","CONTROL NUMBER","CONTROL NUMBER","0","1","" >+"","003","CONTROL NUMBER IDENTIFIER","CONTROL NUMBER IDENTIFIER","0","1","" >+ >+"#-#","#-#","#-#","#-#","#-#","#-#","#-#" >+ >+"authtypecode","tagfield","tagsubfield","liblibrarian","libopac","repeatable","mandatory","tab","authorised_value","value_builder","seealso","isurl","hidden","linkid","kohafield","frameworkcode","defaultvalue" >+"","000","@","fixed length control field","fixed length control field","0","1","0","","marc21_leader_authorities.pl","","0","0","0","","","" >+"","001","@","control field","control field","0","0","0","","","","0","0","0","auth_header.authid","","" >+"","003","@","control field","control field","0","1","0","","marc21_orgcode.pl","","0","0","0","","","" >+ >+"#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#","#-#" >+ >diff --git a/t/db_dependent/data/frameworks/auth_type_smaller.ods b/t/db_dependent/data/frameworks/auth_type_smaller.ods >new file mode 100644 >index 0000000000000000000000000000000000000000..be37eb573b4ec2ecb9201548897ea7c237b7e3f1 >GIT binary patch >literal 4790 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 >JiOk#I{s)2%AQJ!p > >literal 0 >HcmV?d00001 > >diff --git a/t/db_dependent/data/frameworks/auth_type_smaller.xml b/t/db_dependent/data/frameworks/auth_type_smaller.xml >new file mode 100644 >index 0000000..a92f651 >--- /dev/null >+++ b/t/db_dependent/data/frameworks/auth_type_smaller.xml >@@ -0,0 +1,28 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<?mso-application progid="Excel.Sheet"?> >+<Workbook xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> >+ >+<Styles> >+ <Style ss:ID="Default" ss:Name="Normal"> >+ <Alignment ss:Vertical="Bottom"/> >+ <Borders/> >+ <Font/> >+ <Interior/> >+ <NumberFormat/> >+ <Protection/> >+ </Style> >+ <Style ss:ID="s27"> >+ <Font x:Family="Swiss" ss:Color="#0000FF" ss:Bold="1"/> >+ </Style> >+ <Style ss:ID="s21"> >+ <NumberFormat ss:Format="yyyy\-mm\-dd"/> >+ </Style> >+ <Style ss:ID="s22"> >+ <NumberFormat ss:Format="yyyy\-mm\-dd\ hh:mm:ss"/> >+ </Style> >+ <Style ss:ID="s23"> >+ <NumberFormat ss:Format="hh:mm:ss"/> >+ </Style> >+</Styles> >+ >+<Worksheet ss:Name="auth_tag_structure"><ss:Table><ss:Row><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authtypecode</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tagfield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">liblibrarian</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">libopac</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">repeatable</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">mandatory</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authorised_value</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">T_SMALL</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">000</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LEADER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">LEADER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">T_SMALL</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">001</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">T_SMALL</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">003</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER IDENTIFIER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">CONTROL NUMBER IDENTIFIER</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row></ss:Table></Worksheet><Worksheet ss:Name="auth_subfield_structure"><ss:Table><ss:Row><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authtypecode</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tagfield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tagsubfield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">liblibrarian</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">libopac</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">repeatable</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">mandatory</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">tab</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">authorised_value</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">value_builder</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">seealso</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">isurl</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">hidden</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">linkid</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">kohafield</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">frameworkcode</ss:Data></ss:Cell><ss:Cell ss:StyleID="s27"><ss:Data ss:Type="String">defaultvalue</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">T_SMALL</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">000</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">fixed length control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">fixed length control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">marc21_leader_authorities.pl</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">T_SMALL</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">001</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">auth_header.authid</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row><ss:Row><ss:Cell><ss:Data ss:Type="String">T_SMALL</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">003</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">@</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">control field</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">1</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">marc21_orgcode.pl</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="Number">0</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell><ss:Cell><ss:Data ss:Type="String">#</ss:Data></ss:Cell></ss:Row></ss:Table></Worksheet></Workbook> >-- >2.1.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 13952
:
44770
|
47326
|
47360
|
47364
|
50046
|
53065
|
53066
|
54840
|
54899
|
54900
|
57873
|
59831
|
64421
|
67914
|
67915
|
68299
|
68300
|
68301
|
68502
|
68512
|
68513
|
68514
|
68515
|
68556
|
69940
|
69941
|
69942
|
69943
|
69944
|
76665
|
76666
|
76667
|
76668
|
80794
|
80795
|
80796
|
80797
|
81248
|
82853
|
82854
|
82855
|
82856
|
82895
|
83024
|
83025
|
83026
|
83027
|
83028
|
85073
|
86549
|
86550
|
86551
|
86552
|
86553
|
86554
|
86555
|
103610
|
103611
|
103612
|
103613
|
103614
|
103615
|
103616
|
114170
|
114171
|
114172
|
114173
|
114174
|
114175
|
114176
|
114177
|
115379
|
115381
|
115382
|
115383
|
115384
|
115385
|
115386
|
115387
|
115388
|
125383
|
125384
|
125385
|
125386
|
125387
|
125388
|
125389
|
125390
|
128316
|
128317
|
128318
|
128319
|
128320
|
128321
|
128322
|
128323
|
128324
|
128325
|
128326
|
128327
|
128328
|
128329
|
128330
|
128331
|
130587
|
130917
|
130918
|
130919
|
130920
|
130921
|
130922
|
130923
|
130924
|
130925