--- test/html-webhacc/cc.cgi 2007/09/10 12:09:34 1.20
+++ test/html-webhacc/cc.cgi 2007/11/23 12:08:32 1.29
@@ -1,5 +1,6 @@
#!/usr/bin/perl
use strict;
+use utf8;
use lib qw[/home/httpd/html/www/markup/html/whatpm
/home/wakaba/work/manakai2/lib];
@@ -51,7 +52,6 @@
$| = 0;
my $input = get_input_document ($http, $dom);
- my $inner_html_element = $http->get_parameter ('e');
my $char_length = 0;
my %time;
@@ -61,7 +61,12 @@
Request URI
<@{[htescape $input->{request_uri}]}>
Document URI
- <@{[htescape $input->{uri}]}>
+ <@{[htescape $input->{uri}]}>
+
]; # no yet
push @nav, ['#document-info' => 'Information'];
@@ -73,7 +78,7 @@
<@{[htescape $input->{base_uri}]}>
Internet Media Type
@{[htescape $input->{media_type}]}
- @{[$input->{media_type_overridden} ? '(overridden)' : '']}
+ @{[$input->{media_type_overridden} ? '(overridden)' : defined $input->{official_type} ? $input->{media_type} eq $input->{official_type} ? '' : '(sniffed; official type is: '.htescape ($input->{official_type}).'
)' : '(sniffed)']}
Character Encoding
@{[defined $input->{charset} ? ''.htescape ($input->{charset}).'
' : '(none)']}
@{[$input->{charset_overridden} ? '(overridden)' : '']}
@@ -88,10 +93,12 @@
my $doc;
my $el;
+ my $manifest;
if ($input->{media_type} eq 'text/html') {
($doc, $el) = print_syntax_error_html_section ($input, $result);
- print_source_string_section (\($input->{s}), $input->{charset});
+ print_source_string_section
+ (\($input->{s}), $input->{charset} || $doc->input_encoding);
} elsif ({
'text/xml' => 1,
'application/atom+xml' => 1,
@@ -102,18 +109,25 @@
}->{$input->{media_type}}) {
($doc, $el) = print_syntax_error_xml_section ($input, $result);
print_source_string_section (\($input->{s}), $doc->input_encoding);
+ } elsif ($input->{media_type} eq 'text/cache-manifest') {
+## TODO: MUST be text/cache-manifest
+ $manifest = print_syntax_error_manifest_section ($input, $result);
+ print_source_string_section (\($input->{s}), 'utf-8');
} else {
## TODO: Change HTTP status code??
- print_result_unknown_type_section ($input);
+ print_result_unknown_type_section ($input, $result);
}
if (defined $doc or defined $el) {
- print_structure_dump_section ($doc, $el);
- my $elements = print_structure_error_section ($doc, $el, $result);
+ print_structure_dump_dom_section ($doc, $el);
+ my $elements = print_structure_error_dom_section ($doc, $el, $result);
print_table_section ($elements->{table}) if @{$elements->{table}};
print_id_section ($elements->{id}) if keys %{$elements->{id}};
print_term_section ($elements->{term}) if keys %{$elements->{term}};
print_class_section ($elements->{class}) if keys %{$elements->{class}};
+ } elsif (defined $manifest) {
+ print_structure_dump_manifest_section ($manifest);
+ print_structure_error_manifest_section ($manifest, $result);
}
print_result_section ($result);
@@ -134,7 +148,8 @@