rem: while (items[0].match(/^(fails|random)/)) { 
add: while (items[0].match(/^(fails|random|skip)/)) { 
context: function ReadManifest(aURL){    var ios = CC[IO_SERVICE_CONTRACTID].getService(CI.nsIIOService);    var listURL = aURL.QueryInterface(CI.nsIFileURL);    var fis = CC[NS_LOCALFILEINPUTSTREAM_CONTRACTID].                  createInstance(CI.nsIFileInputStream);    fis.init(listURL.file, -1, -1, false);    var lis = fis.QueryInterface(CI.nsILineInputStream);    var sandbox = new Components.utils.Sandbox(aURL.spec);    for (var prop in gAutoconfVars)        sandbox[prop] = gAutoconfVars[prop];    var line = {value:null};    var lineNo = 0;    do {        var more = lis.readLine(line);        ++lineNo;        var str = line.value;        str = /^[^#]*/.exec(str)[0]; // strip everything after "#"        if (!str)            continue; // entire line was a comment        // strip leading and trailing whitespace        str = str.replace(/^\s*/, '').replace(/\s*$/, '');        if (!str || str == "")            continue;        var items = str.split(/\s+/); // split on whitespace        var expected_status = EXPECTED_PASS;        while (items[0].match(/^(fails|random)/)) {            var item = items.shift();            var stat;            var cond;            var m = item.match(/^(fails|random)-if(\(.*\))$/);            if (m) {                stat = m[1];                // Note: m[2] contains the parentheses, and we want them.                cond = Components.utils.evalInSandbox(m[2], sandbox);            } else if (item.match(/^(fails|random)$/)) {                stat = item;                cond = true;            } else {                throw "Error in manifest file " + aURL.spec + " line " + lineNo;            }            if (cond) {                if (stat == "fails") {                    expected_status = EXPECTED_FAIL;                } else if (stat == "random") {                    expected_status = EXPECTED_RANDOM;                }            }        }        if (items[0] == "include") {            if (items.length != 2)                throw "Error in manifest file " + aURL.spec + " line " + lineNo;            ReadManifest(ios.newURI(items[1], null, listURL));        } else if (items[0] == "==" || items[0] == "!=") {            if (items.length != 3)                throw "Error in manifest file " + aURL.spec + " line " + lineNo;            gURLs.push( { equal: (items[0] == "=="),                          expected: expected_status,                          url1: ios.newURI(items[1], null, listURL),                          url2: ios.newURI(items[2], null, listURL)} );        } else {            throw "Error in manifest file " + aURL.spec + " line " + lineNo;        }    } while (more);}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/8395/ba66b21a232b2693d6a2fdca09d4535249267e5a/reftest.js/buggy/layout/tools/reftest/reftest.js