Closed
Bug 251880
Opened 21 years ago
Closed 20 years ago
TestUConv fails in method DisplayDetectors -- missing HasMore
Categories
(Core :: Internationalization, defect)
Core
Internationalization
Tracking
()
RESOLVED
FIXED
People
(Reporter: klavins, Assigned: klavins)
Details
Attachments
(1 file)
879 bytes,
patch
|
smontagu
:
review+
alecf
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040710
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040710
Testing the internationalisation code of a locally built MOZILLA_1_7_1_RELEASE
reveled a bug in the test code 'TestUConv' when invoked with the parameter
'-display'.
Reproducible: Always
Steps to Reproduce:
1. Download and build MOZILLA_1_7_1_RELEASE.
2. Test the internationalisation library by executing in dist/bin:
TestUConv -display
Actual Results:
Truncated output terminated by an error:
***** Character Set Detectors *****
chardet.cjk_parallel_state_machine "East Asian"
chardet.ko_parallel_state_machine "Korean"
chardet.ruprob "Russian"
chardet.off "(Off)"
chardet.universal_charset_detector "Universal"
chardet.zhcn_parallel_state_machine "Simplified Chinese"
chardet.zhtw_parallel_state_machine "Traditional Chinese"
chardet.zh_parallel_state_machine "Chinese"
chardet.ja_parallel_state_machine "Japanese"
chardet.ukprob "Ukrainian"
WARNING: NS_ENSURE_TRUE(mIndex < Count()) failed, file
c:/src/mozilla/xpcom/ds/nsStringEnumerator.cpp, line 170
ERROR at Main.DisplayDetectors.GetNext() code=0x8000ffff.
Expected Results:
The output should continue and also display other information like the character
sets:
***** Character Set Detectors *****
chardet.cjk_parallel_state_machine "East Asian"
chardet.ko_parallel_state_machine "Korean"
chardet.ruprob "Russian"
chardet.off "(Off)"
chardet.universal_charset_detector "Universal"
chardet.zhcn_parallel_state_machine "Simplified Chinese"
chardet.zhtw_parallel_state_machine "Traditional Chinese"
chardet.zh_parallel_state_machine "Chinese"
chardet.ja_parallel_state_machine "Japanese"
chardet.ukprob "Ukrainian"
***** Character Sets *****
UTF-16 DbEb BCVE( 1, 1) "Unicode (UTF-16)"
ISO-8859-8-E DbEb XCVE( 2, 2) "Hebrew (ISO-8859-8-E)"
ISO-8859-4 DbEb BCVE( 3, 3) "Baltic (ISO-8859-4)"
...
I have located the error in the source code. It is a missing HasMore method in
the while loop enumerating detectors, and appending HasMore inside the loop at
the end fixes the problem:
--- TestUConv-1.21.cpp 2004-07-17 16:04:44.000000000 +0200
+++ TestUConv.cpp 2004-07-17 14:30:31.000000000 +0200
@@ -307,6 +307,8 @@
res = ccMan->GetCharsetTitle(detectorName.get(), title);
if (NS_FAILED(res)) title.SetLength(0);
printf("\"%s\"\n", NS_LossyConvertUCS2toASCII(title).get());
+
+ detectors->HasMore(&hasMore);
}
mLog.DelTrace(trace);
My Mozilla is MOZILLA_1_7_1_RELEASE, so the diff is against TestUConv.cpp 1.21.
The problem still exists in the latest version 1.23.
Comment 1•21 years ago
|
||
Updated•21 years ago
|
Assignee: smontagu → klavins
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows XP → All
Hardware: PC → All
Comment 2•21 years ago
|
||
Comment on attachment 153525 [details] [diff] [review]
Reporter's patch
Good catch. r=smontagu. Please ask for super-review.
Attachment #153525 -
Flags: review+
Attachment #153525 -
Flags: superreview?(alecf)
Comment 3•20 years ago
|
||
Comment on attachment 153525 [details] [diff] [review]
Reporter's patch
sorry, clearing out old reviews.. sr=alecf
Attachment #153525 -
Flags: superreview?(alecf) → superreview+
Comment 4•20 years ago
|
||
Checked in.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•