view tests/test-verify.out @ 11765:aff419e260f9 stable

templatefilters: make json filter handle multibyte characters correctly It aims to fix javascript error of hgweb's graph view in Japanese 'cp932' encoding. 'cp932' contains multibyte characters ending with '\x5c' (backslash), e.g. '\x94\x5c' for Japanese Kanji 'Noh'. Due to json filter escapes '\' to '\\', multibyte string ending with '\x5c' is translated to "xxx\", resulting javascript parse error on a web browser. This patch changes json() to pass unicode to jsonescape(). Unicode decoding error handler changed to 'replace' by Patrick Mézard.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 07 Aug 2010 16:27:16 +0900
parents b33d70849a20
children 581066a319e5
line wrap: on
line source

% prepare repo
adding FOO.txt
adding QUICK.txt
adding bar.txt

% verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 1 changesets, 3 total revisions

% verify with journal
abandoned transaction found - run hg recover
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 1 changesets, 3 total revisions

% introduce some bugs in repo

% verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
 data/FOO.txt.i@0: missing revlog!
 0: empty or missing FOO.txt
 FOO.txt@0: f62022d3d590 in manifests not found
 data/QUICK.txt.i@0: missing revlog!
 0: empty or missing QUICK.txt
 QUICK.txt@0: 88b857db8eba in manifests not found
 data/bar.txt.i@0: missing revlog!
 0: empty or missing bar.txt
 bar.txt@0: 256559129457 in manifests not found
3 files, 1 changesets, 0 total revisions
9 integrity errors encountered!
(first damaged changeset appears to be 0)
% test revlog corruption

% verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
 a@0: broken revlog! (index data/a.i is corrupted)
warning: orphan revlog 'data/a.i'
1 files, 1 changesets, 0 total revisions
1 warnings encountered!
1 integrity errors encountered!
(first damaged changeset appears to be 0)