diff -r 000000000000 -r 6474c204b198 netwerk/test/unit/test_bug660066.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netwerk/test/unit/test_bug660066.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,42 @@ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +Components.utils.import("resource://gre/modules/NetUtil.jsm"); +const SIMPLEURI_SPEC = "data:text/plain,hello world"; +const BLOBURI_SPEC = "blob:123456"; + +function do_info(text, stack) { + if (!stack) + stack = Components.stack.caller; + + dump( "\n" + + "TEST-INFO | " + stack.filename + " | [" + stack.name + " : " + + stack.lineNumber + "] " + text + "\n"); +} + +function do_check_uri_neq(uri1, uri2) +{ + do_info("Checking equality in forward direction..."); + do_check_false(uri1.equals(uri2)); + do_check_false(uri1.equalsExceptRef(uri2)); + + do_info("Checking equality in reverse direction..."); + do_check_false(uri2.equals(uri1)); + do_check_false(uri2.equalsExceptRef(uri1)); +} + +function run_test() +{ + var simpleURI = NetUtil.newURI(SIMPLEURI_SPEC); + var fileDataURI = NetUtil.newURI(BLOBURI_SPEC); + + do_info("Checking that " + SIMPLEURI_SPEC + " != " + BLOBURI_SPEC); + do_check_uri_neq(simpleURI, fileDataURI); + + do_info("Changing the nsSimpleURI spec to match the nsFileDataURI"); + simpleURI.spec = BLOBURI_SPEC; + + do_info("Verifying that .spec matches"); + do_check_eq(simpleURI.spec, fileDataURI.spec); + + do_info("Checking that nsSimpleURI != nsFileDataURI despite their .spec matching") + do_check_uri_neq(simpleURI, fileDataURI); +}