dom/wappush/tests/test_sl_pdu_helper.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/wappush/tests/test_sl_pdu_helper.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,105 @@
     1.4 +/* Any copyright is dedicated to the Public Domain.
     1.5 +   http://creativecommons.org/publicdomain/zero/1.0/ */
     1.6 +
     1.7 +let SL = {};
     1.8 +subscriptLoader.loadSubScript("resource://gre/modules/SlPduHelper.jsm", SL);
     1.9 +SL.debug = do_print;
    1.10 +
    1.11 +function run_test() {
    1.12 +  run_next_test();
    1.13 +}
    1.14 +
    1.15 +/**
    1.16 + * SL in plain text
    1.17 + */
    1.18 +add_test(function test_sl_parse_plain_text() {
    1.19 +  let contentType = "";
    1.20 +  let data = {};
    1.21 +
    1.22 +  contentType = "text/vnd.wap.sl";
    1.23 +  data.array = new Uint8Array([
    1.24 +                  0x3C, 0x3F, 0x78, 0x6D, 0x6C, 0x20, 0x76, 0x65,
    1.25 +                  0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x27, 0x31,
    1.26 +                  0x2E, 0x30, 0x27, 0x3F, 0x3E, 0x0A, 0x3C, 0x73,
    1.27 +                  0x6C, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3D, 0x27,
    1.28 +                  0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77,
    1.29 +                  0x77, 0x77, 0x2E, 0x6F, 0x72, 0x65, 0x69, 0x6C,
    1.30 +                  0x6C, 0x79, 0x2E, 0x63, 0x6F, 0x6D, 0x27, 0x2F,
    1.31 +                  0x3E
    1.32 +                ]);
    1.33 +  data.offset = 0;
    1.34 +  let result = "<?xml version='1.0'?>\n<sl href='http://www.oreilly.com'/>";
    1.35 +  let msg = SL.PduHelper.parse(data, contentType);
    1.36 +  do_check_eq(msg.content, result);
    1.37 +
    1.38 +  run_next_test();
    1.39 +});
    1.40 +
    1.41 +/**
    1.42 + * SL compressed by WBXML
    1.43 + */
    1.44 +add_test(function test_sl_parse_wbxml() {
    1.45 +  let msg = {};
    1.46 +  let contentType = "";
    1.47 +  let data = {};
    1.48 +
    1.49 +  contentType = "application/vnd.wap.slc";
    1.50 +  data.array = new Uint8Array([
    1.51 +                  0x03, 0x06, 0x6A, 0x00, 0x85, 0x0A, 0x03, 0x6F,
    1.52 +                  0x72, 0x65, 0x69, 0x6C, 0x6C, 0x79, 0x00, 0x85,
    1.53 +                  0x01
    1.54 +                ]);
    1.55 +  data.offset = 0;
    1.56 +  let result = "<sl href=\"http://www.oreilly.com/\"/>";
    1.57 +  let msg = SL.PduHelper.parse(data, contentType);
    1.58 +  do_check_eq(msg.content, result);
    1.59 +
    1.60 +  run_next_test();
    1.61 +});
    1.62 +
    1.63 +/**
    1.64 + * SL compressed by WBXML, with public ID stored in string table
    1.65 + */
    1.66 +add_test(function test_sl_parse_wbxml_public_id_string_table() {
    1.67 +    let msg = {};
    1.68 +  let contentType = "";
    1.69 +  let data = {};
    1.70 +
    1.71 +  contentType = "application/vnd.wap.slc";
    1.72 +  data.array = new Uint8Array([
    1.73 +                  0x03, 0x00, 0x00, 0x6A, 0x1C, 0x2D, 0x2F, 0x2F,
    1.74 +                  0x57, 0x41, 0x50, 0x46, 0x4F, 0x52, 0x55, 0x4D,
    1.75 +                  0x2F, 0x2F, 0x44, 0x54, 0x44, 0x20, 0x53, 0x4C,
    1.76 +                  0x20, 0x31, 0x2E, 0x30, 0x2F, 0x2F, 0x45, 0x4E,
    1.77 +                  0x00, 0x85, 0x0A, 0x03, 0x6F, 0x72, 0x65, 0x69,
    1.78 +                  0x6C, 0x6C, 0x79, 0x00, 0x85, 0x01
    1.79 +                ]);
    1.80 +  data.offset = 0;
    1.81 +  let result = "<sl href=\"http://www.oreilly.com/\"/>";
    1.82 +  let msg = SL.PduHelper.parse(data, contentType);
    1.83 +  do_check_eq(msg.content, result);
    1.84 +
    1.85 +  run_next_test();
    1.86 +});
    1.87 +
    1.88 +/**
    1.89 + * SL compressed by WBXML with string table
    1.90 + */
    1.91 +add_test(function test_sl_parse_wbxml_with_string_table() {
    1.92 +  let msg = {};
    1.93 +  let contentType = "";
    1.94 +  let data = {};
    1.95 +
    1.96 +  contentType = "application/vnd.wap.slc";
    1.97 +  data.array = new Uint8Array([
    1.98 +                  0x03, 0x06, 0x6A, 0x08, 0x6F, 0x72, 0x65, 0x69,
    1.99 +                  0x6C, 0x6C, 0x79, 0x00, 0x85, 0x0A, 0x83, 0x00,
   1.100 +                  0x85, 0x01
   1.101 +                ]);
   1.102 +  data.offset = 0;
   1.103 +  let result = "<sl href=\"http://www.oreilly.com/\"/>";
   1.104 +  let msg = SL.PduHelper.parse(data, contentType);
   1.105 +  do_check_eq(msg.content, result);
   1.106 +
   1.107 +  run_next_test();
   1.108 +});

mercurial