From: Kirrily R. <sk...@us...> - 2002-02-19 20:38:06
|
Update of /cvsroot/formmagick/formmagick/lib/CGI In directory usw-pr-cvs1:/tmp/cvs-serv25143/lib/CGI Modified Files: FormMagick.pm Log Message: Added fallback language support to get_languages() in L10N.pm. However, this had a knock-on effect which meant I had to change a whole lot of other stuff. See, as we had it, we were running parse_xml() (which populates the lexicon) from new(). That's fine if the languages are based entirely on the environment variable HTTP_ACCEPT_LANGUAGE, but breaks if you do something like this: my $fm = CGI::FormMagick->new(); $fm->fallback_language("fr"); ... because the fallback language doesn't have a chance to affect the parse_xml() that sucks in the lexicon. So I moved parse_xml() to be inside display(), but that broke a heap of tests, so now I call $fm->parse_xml() explicitly if I want to populate the $fm->{xml} and $fm->{lexicon} fields before running tests. Index: FormMagick.pm =================================================================== RCS file: /cvsroot/formmagick/formmagick/lib/CGI/FormMagick.pm,v retrieving revision 1.104 retrieving revision 1.105 diff -C2 -r1.104 -r1.105 *** FormMagick.pm 19 Feb 2002 20:15:04 -0000 1.104 --- FormMagick.pm 19 Feb 2002 20:30:16 -0000 1.105 *************** *** 127,130 **** --- 127,131 ---- ok($fm = CGI::FormMagick->new(type => 'file', source => "t/simple.xml"), "create fm object"); isa_ok($fm, 'CGI::FormMagick'); + $fm->parse_xml(); =end testing *************** *** 153,158 **** } - $self->parse_xml(); - #$self->{sessiondir} = initialise_sessiondir($args{SESSIONDIR}); $self->{calling_package} = (caller)[0]; --- 154,157 ---- *************** *** 321,325 **** sub display { my $self = shift; ! { local $^W = 0; --- 320,326 ---- sub display { my $self = shift; ! ! $self->parse_xml(); ! { local $^W = 0; |