Add a make check target for intl/uconv and a unit test for bug 321379

r=smontagu
This commit is contained in:
cbiesinger%web.de 2006-09-04 23:02:28 +00:00
Родитель 178cd77046
Коммит 08ba285a62
2 изменённых файлов: 41 добавлений и 0 удалений

Просмотреть файл

@ -84,3 +84,13 @@ OS_LIBS += /usr/lib/libdl.so
endif
endif
# Unit tests
_UNIT_FILES := $(wildcard $(srcdir)/unit/*.js)
libs:: $(_UNIT_FILES)
$(INSTALL) $^ $(DIST)/bin/intl_unit_tests
check::
$(RUN_TEST_PROGRAM) $(DIST)/bin/test_all.sh $(DIST)/bin/intl_unit_tests

Просмотреть файл

@ -0,0 +1,31 @@
// Tests that calling close on a converter in/output stream doesn't crash
// (bug 321379)
function run_test() {
var StorageStream = Components.Constructor("@mozilla.org/storagestream;1",
"nsIStorageStream",
"init");
var ConverterInputStream = Components.Constructor("@mozilla.org/intl/converter-input-stream;1",
"nsIConverterInputStream",
"init");
var ConverterOutputStream = Components.Constructor("@mozilla.org/intl/converter-output-stream;1",
"nsIConverterOutputStream",
"init");
var storage = new StorageStream(1024, -1, null);
// Output
var outStr = storage.getOutputStream(0);
var out = new ConverterOutputStream(outStr, "UTF-8", 1024, 0xFFFD);
out.writeString("Foo.");
out.close();
out.close(); // This line should not crash. It should just do nothing.
// Input
var inStr = storage.newInputStream(0);
var inp = new ConverterInputStream(inStr, "UTF-8", 1024, 0xFFFD);
inp.close();
inp.close(); // This line should not crash. It should just do nothing.
}