~ubuntu-branches/ubuntu/intrepid/xulrunner-1.9/intrepid

« back to all changes in this revision

Viewing changes to mozilla/intl/uconv/tests/unit/test_bug381412.cp936.js

  • Committer: Bazaar Package Importer
  • Author(s): Alexander Sack, Alexander Sack, Fabien Tassin
  • Date: 2008-02-13 11:47:21 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20080213114721-7om0mgzngvuk9czv
Tags: 1.9~b3+nobinonly-0ubuntu1
* release FIREFOX_3_0b3_RELEASE

[ Alexander Sack ]
* submit patch that ships xpcshell to bugzilla
  - rename debian/patches/ship_xpcshell.patch =>
           debian/patches/bz410617_att295212_ship_xpcshell.patch
  - update debian/patches/series
* fix tooltip in epiphany: previously displayed out of screen bounds
  (LP: #37507)
  - add debian/patches/bz233371_att297343_fix_outofscreen_embed_tooltip.patch
  - update debian/patches/series
* use default upstream gcc tweaks for improved performance - especially of the
  javascript engine
  - update debian/rules
* update global extension/plugin patch to apply cleanly against latest code
  - update debian/patches/bzXXX_gre_extension_plugin_support.patch
* fix pyxpcom build failure introduced by recent commit
  - add debian/patches/bzXXX_fix_pyxpcom_build_failure.patch
  - update debian/patches/series
* add distro independent global install locations for extensions,
  /usr/lib/mozilla/extensions and /usr/share/mozilla/extensions
  - update debian/xulrunner-1.9.dirs
* support embedded tarball layout when either there is a *.tar.bz2 in orig tarball
  or if DEBIAN_MOZCLIENT_EMBEDDED is not unset (you will need this to produce embedded
  tarballs during |get-orig-source|
  - update debian/rules
* bump minimum libnss3-dev build requirements to >= 3.12.0~1.9b3
  - update debian/control
* bump minimum libnspr4-dev build requirements to >= 4.7.0~1.9b3
  - update debian/control

[ Fabien Tassin ]
* Drop patches applied upstream
  - drop debian/patches/bz410617_att295212_ship_xpcshell.patch
  - drop debian/patches/bz404634_att294921.patch
  - drop debian/patches/bz386610_python2.5_ftbfs_amd64.patch
  - drop debian/patches/bz373918_att295042.patch
  - drop debian/patches/bz408062_unstable_pc.patch
  - drop debian/patches/bz384304_fix_recursive_symlinks.patch
  - update debian/patches/series
* Refresh diverged patches:
  - update debian/patches/bzXXX_pc_honour_system_nspr_nss.patch
  - update debian/patches/rename_venkman_addon.patch
  - update debian/patches/bz344818_cairo_xrender.patch
* Install links for all .so libs in the -dev package
  - update debian/patches/dont_install_so_in_dev.patch
* Bump gtk requirement to 2.12 as per Mozilla bug 412432
  - update debian/control
* Add #DEBHELPER# token to postinst/prerm scripts
  - update debian/xulrunner-1.9.{postinst,prerm}
* Install previously missed libdbusservice.so
  - update debian/xulrunner-1.9.install
* Update venkman patch to also rename locales
  - update debian/patches/rename_venkman_addon.patch
* Bump requirement for system cairo to >= 1.5.8 as we now need
  the newly added cairo_path_extents()
  - update debian/rules
* Include mozilla-devscripts file using -include so ifneq could be omitted
  - update debian/rules
* Fix missing .so symlinks regression
  - update debian/patches/dont_install_so_in_dev.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
const charset = "windows-936";
2
 
 
3
 
function error(inString, outString, msg){
4
 
    var dispIn = "";
5
 
    var dispOut = "";
6
 
    var i;
7
 
    for (i = 0; i < inString.length; ++i) {
8
 
        dispIn += " x" + inString.charCodeAt(i).toString(16);
9
 
    }
10
 
    if (outString.length == 0) {
11
 
        dispOut = "<empty>";
12
 
    } else {
13
 
        for (i = 0; i < outString.length; ++i) {
14
 
            dispOut += " x" + outString.charCodeAt(i).toString(16);
15
 
        }
16
 
    }
17
 
    dump("\"" + dispIn + "\" ==> \"" + dispOut + "\"\n");
18
 
    do_throw("security risk: " + msg);
19
 
}
20
 
 
21
 
function run_test() {
22
 
    var ScriptableUnicodeConverter =
23
 
        Components.Constructor("@mozilla.org/intl/scriptableunicodeconverter",
24
 
                               "nsIScriptableUnicodeConverter");
25
 
 
26
 
    var converter = new ScriptableUnicodeConverter();
27
 
    converter.charset = charset;
28
 
 
29
 
    var leadByte, trailByte;
30
 
    var inString;
31
 
    for (leadByte = 1; leadByte < 0x100; ++leadByte) {
32
 
        for (trailByte = 1; trailByte < 0x100; ++trailByte) {
33
 
            inString = String.fromCharCode(leadByte, trailByte, 65);
34
 
            var outString = converter.ConvertToUnicode(inString) + converter.Finish();
35
 
            switch (outString.length) {
36
 
                case 1:
37
 
                    error(inString, outString, "2 byte sequence eaten");
38
 
                    break;
39
 
                case 2:
40
 
                    if (outString.charCodeAt(0) < 0x80 &&
41
 
                        outString.charCodeAt(1) < 0x80) {
42
 
                        error(inString, outString, "2 byte sequence converted to 1 ASCII");
43
 
                    }
44
 
                    break;
45
 
                case 3:
46
 
                    if (outString != inString &&
47
 
                        outString.charCodeAt(0) < 0x80 &&
48
 
                        outString.charCodeAt(1) < 0x80) {
49
 
                        error(inString, outString,
50
 
                              "2 byte sequence converted to 2 ASCII");
51
 
                    }
52
 
                    break;
53
 
            }
54
 
        }
55
 
    }
56
 
}