Update vendors.

Former-commit-id: a2830d4097d13884391abe792c319bf1e699df08
This commit is contained in:
John-David Dalton
2013-08-21 22:03:31 -07:00
parent 3297c3a2e2
commit aec3318f4c
3 changed files with 134 additions and 121 deletions

View File

@@ -1156,7 +1156,7 @@
// reset if the state has changed // reset if the state has changed
else if ((suite.aborted || suite.running) && else if ((suite.aborted || suite.running) &&
(suite.emit(event = Event('reset')), !event.cancelled)) { (suite.emit(event = Event('reset')), !event.cancelled)) {
suite.running = false; suite.aborted = suite.running = false;
if (!aborting) { if (!aborting) {
invoke(suite, 'reset'); invoke(suite, 'reset');
} }
@@ -1569,16 +1569,119 @@
// lazy define for hi-res timers // lazy define for hi-res timers
clock = function(clone) { clock = function(clone) {
var deferred; var deferred;
templateData.uid = uid + uidCounter++;
if (clone instanceof Deferred) { if (clone instanceof Deferred) {
deferred = clone; deferred = clone;
clone = deferred.benchmark; clone = deferred.benchmark;
} }
var bench = clone._original, var bench = clone._original,
fn = bench.fn, stringable = isStringable(bench.fn),
fnArg = deferred ? getFirstArgument(fn) || 'deferred' : '', count = bench.count = clone.count,
stringable = isStringable(fn); decompilable = support.decompilation || stringable,
id = bench.id,
name = bench.name || (typeof id == 'number' ? '<Test #' + id + '>' : id),
result = 0;
// init `minTime` if needed
clone.minTime = bench.minTime || (bench.minTime = bench.options.minTime = options.minTime);
// repair nanosecond timer
// (some Chrome builds erase the `ns` variable after millions of executions)
if (applet) {
try {
timer.ns.nanoTime();
} catch(e) {
// use non-element to avoid issues with libs that augment them
timer.ns = new applet.Packages.nano;
}
}
// Compile in setup/teardown functions and the test loop.
// Create a new compiled test, instead of using the cached `bench.compiled`,
// to avoid potential engine optimizations enabled over the life of the test.
var funcBody = deferred
? 'var d#=this,${fnArg}=d#,m#=d#.benchmark._original,f#=m#.fn,su#=m#.setup,td#=m#.teardown;' +
// when `deferred.cycles` is `0` then...
'if(!d#.cycles){' +
// set `deferred.fn`
'd#.fn=function(){var ${fnArg}=d#;if(typeof f#=="function"){try{${fn}\n}catch(e#){f#(d#)}}else{${fn}\n}};' +
// set `deferred.teardown`
'd#.teardown=function(){d#.cycles=0;if(typeof td#=="function"){try{${teardown}\n}catch(e#){td#()}}else{${teardown}\n}};' +
// execute the benchmark's `setup`
'if(typeof su#=="function"){try{${setup}\n}catch(e#){su#()}}else{${setup}\n};' +
// start timer
't#.start(d#);' +
// execute `deferred.fn` and return a dummy object
'}d#.fn();return{uid:"${uid}"}'
: 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count,n#=t#.ns;${setup}\n${begin};' +
'while(i#--){${fn}\n}${end};${teardown}\nreturn{elapsed:r#,uid:"${uid}"}';
var compiled = bench.compiled = clone.compiled = createCompiled(bench, deferred, funcBody),
isEmpty = !(templateData.fn || stringable);
try {
if (isEmpty) {
// Firefox may remove dead code from Function#toString results
// http://bugzil.la/536085
throw new Error('The test "' + name + '" is empty. This may be the result of dead code removal.');
}
else if (!deferred) {
// pretest to determine if compiled code is exits early, usually by a
// rogue `return` statement, by checking for a return object with the uid
bench.count = 1;
compiled = (compiled.call(bench, context, timer) || {}).uid == templateData.uid && compiled;
bench.count = count;
}
} catch(e) {
compiled = null;
clone.error = e || new Error(String(e));
bench.count = count;
}
// fallback when a test exits early or errors during pretest
if (decompilable && !compiled && !deferred && !isEmpty) {
funcBody = (
clone.error && !stringable
? 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count'
: 'function f#(){${fn}\n}var r#,s#,m#=this,i#=m#.count'
) +
',n#=t#.ns;${setup}\n${begin};m#.f#=f#;while(i#--){m#.f#()}${end};' +
'delete m#.f#;${teardown}\nreturn{elapsed:r#}';
compiled = createCompiled(bench, deferred, funcBody);
try {
// pretest one more time to check for errors
bench.count = 1;
compiled.call(bench, context, timer);
bench.count = count;
delete clone.error;
}
catch(e) {
bench.count = count;
if (!clone.error) {
clone.error = e || new Error(String(e));
}
}
}
// if no errors run the full test loop
if (!clone.error) {
compiled = bench.compiled = clone.compiled = createCompiled(bench, deferred, funcBody);
result = compiled.call(deferred || bench, context, timer).elapsed;
}
return result;
};
/*----------------------------------------------------------------------*/
/**
* Creates a compiled function from the given function `body`.
*/
function createCompiled(bench, deferred, body) {
var fn = bench.fn,
fnArg = deferred ? getFirstArgument(fn) || 'deferred' : '';
templateData.uid = uid + uidCounter++;
_.extend(templateData, { _.extend(templateData, {
'setup': getSource(bench.setup, interpolate('m#.setup()')), 'setup': getSource(bench.setup, interpolate('m#.setup()')),
@@ -1625,28 +1728,6 @@
'end': interpolate('r#=(new n#-s#)/1e3') 'end': interpolate('r#=(new n#-s#)/1e3')
}); });
} }
var count = bench.count = clone.count,
decompilable = support.decompilation || stringable,
id = bench.id,
isEmpty = !(templateData.fn || stringable),
name = bench.name || (typeof id == 'number' ? '<Test #' + id + '>' : id),
ns = timer.ns,
result = 0;
// init `minTime` if needed
clone.minTime = bench.minTime || (bench.minTime = bench.options.minTime = options.minTime);
// repair nanosecond timer
// (some Chrome builds erase the `ns` variable after millions of executions)
if (applet) {
try {
ns.nanoTime();
} catch(e) {
// use non-element to avoid issues with libs that augment them
ns = timer.ns = new applet.Packages.nano;
}
}
// define `timer` methods // define `timer` methods
timer.start = createFunction( timer.start = createFunction(
interpolate('o#'), interpolate('o#'),
@@ -1658,92 +1739,7 @@
interpolate('var n#=this.ns,s#=o#.timeStamp,${end};o#.elapsed=r#') interpolate('var n#=this.ns,s#=o#.timeStamp,${end};o#.elapsed=r#')
); );
// Compile in setup/teardown functions and the test loop. // create compiled test
// Create a new compiled test, instead of using the cached `bench.compiled`,
// to avoid potential engine optimizations enabled over the life of the test.
var compiled = bench.compiled = createCompiled(
deferred
? 'var d#=this,${fnArg}=d#,m#=d#.benchmark._original,f#=m#.fn,su#=m#.setup,td#=m#.teardown;' +
// when `deferred.cycles` is `0` then...
'if(!d#.cycles){' +
// set `deferred.fn`
'd#.fn=function(){var ${fnArg}=d#;if(typeof f#=="function"){try{${fn}\n}catch(e#){f#(d#)}}else{${fn}\n}};' +
// set `deferred.teardown`
'd#.teardown=function(){d#.cycles=0;if(typeof td#=="function"){try{${teardown}\n}catch(e#){td#()}}else{${teardown}\n}};' +
// execute the benchmark's `setup`
'if(typeof su#=="function"){try{${setup}\n}catch(e#){su#()}}else{${setup}\n};' +
// start timer
't#.start(d#);' +
// execute `deferred.fn` and return a dummy object
'}d#.fn();return{uid:"${uid}"}'
: 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count,n#=t#.ns;${setup}\n${begin};' +
'while(i#--){${fn}\n}${end};${teardown}\nreturn{elapsed:r#,uid:"${uid}"}'
);
try {
if (isEmpty) {
// Firefox may remove dead code from Function#toString results
// http://bugzil.la/536085
throw new Error('The test "' + name + '" is empty. This may be the result of dead code removal.');
}
else if (!deferred) {
// pretest to determine if compiled code is exits early, usually by a
// rogue `return` statement, by checking for a return object with the uid
bench.count = 1;
compiled = (compiled.call(bench, context, timer) || {}).uid == templateData.uid && compiled;
bench.count = count;
}
} catch(e) {
compiled = null;
clone.error = e || new Error(String(e));
bench.count = count;
}
// fallback when a test exits early or errors during pretest
if (decompilable && !compiled && !deferred && !isEmpty) {
compiled = createCompiled(
(clone.error && !stringable
? 'var r#,s#,m#=this,f#=m#.fn,i#=m#.count'
: 'function f#(){${fn}\n}var r#,s#,m#=this,i#=m#.count'
) +
',n#=t#.ns;${setup}\n${begin};m#.f#=f#;while(i#--){m#.f#()}${end};' +
'delete m#.f#;${teardown}\nreturn{elapsed:r#}'
);
try {
// pretest one more time to check for errors
bench.count = 1;
compiled.call(bench, context, timer);
bench.compiled = compiled;
bench.count = count;
delete clone.error;
}
catch(e) {
bench.count = count;
if (clone.error) {
compiled = null;
} else {
bench.compiled = compiled;
clone.error = e || new Error(String(e));
}
}
}
// assign `compiled` to `clone` before calling in case a deferred benchmark
// immediately calls `deferred.resolve()`
clone.compiled = compiled;
// if no errors run the full test loop
if (!clone.error) {
result = compiled.call(deferred || bench, context, timer).elapsed;
}
return result;
};
/*----------------------------------------------------------------------*/
/**
* Creates a compiled function from the given function `body`.
*/
function createCompiled(body) {
return createFunction( return createFunction(
interpolate('window,t#'), interpolate('window,t#'),
'var global = window, clearTimeout = global.clearTimeout, setTimeout = global.setTimeout;\n' + 'var global = window, clearTimeout = global.clearTimeout, setTimeout = global.setTimeout;\n' +

View File

@@ -13,7 +13,7 @@
(function (global) { (function (global) {
//"use strict"; don't restore this until the config routine is refactored //"use strict"; don't restore this until the config routine is refactored
var var
version = '0.7.4', version = '0.7.6',
curlName = 'curl', curlName = 'curl',
defineName = 'define', defineName = 'define',
runModuleAttr = 'data-curl-run', runModuleAttr = 'data-curl-run',
@@ -303,15 +303,32 @@
// functions that dependencies will use: // functions that dependencies will use:
function toAbsId (childId) { function toAbsId (childId, checkPlugins) {
return core.toAbsId(childId, def.id, cfg); var absId, parts, plugin;
absId = core.toAbsId(childId, def.id, cfg);
if (!checkPlugins) return absId;
parts = pluginParts(absId);
if (!parts.pluginId) return absId;
plugin = cache[parts.pluginId];
// check if plugin supports the normalize method
if ('normalize' in plugin) {
// note: dojo/has may return falsey values (0, actually)
parts.resourceId = plugin['normalize'](parts.resourceId, toAbsId, def.config) || '';
}
else {
parts.resourceId = toAbsId(parts.resourceId);
}
return parts.pluginId + '!' + parts.resourceId;
} }
function toUrl (n) { function toUrl (n) {
// the AMD spec states that we should not append an extension // the AMD spec states that we should not append an extension
// in this function since it could already be appended. // in this function since it could already be appended.
// we need to use toAbsId in case this is a module id. // we need to use toAbsId in case this is a module id.
return core.resolvePathInfo(toAbsId(n), cfg).url; return core.resolvePathInfo(toAbsId(n, true), cfg).url;
} }
function localRequire (ids, callback, errback) { function localRequire (ids, callback, errback) {
@@ -327,7 +344,7 @@
throw new Error('require(id, callback) not allowed'); throw new Error('require(id, callback) not allowed');
} }
// return resource // return resource
rvid = toAbsId(ids); rvid = toAbsId(ids, true);
childDef = cache[rvid]; childDef = cache[rvid];
if (!(rvid in cache)) { if (!(rvid in cache)) {
// this should only happen when devs attempt their own // this should only happen when devs attempt their own

View File

@@ -1,5 +1,5 @@
/** vim: et:ts=4:sw=4:sts=4 /** vim: et:ts=4:sw=4:sts=4
* @license RequireJS 2.1.8 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved. * @license RequireJS 2.1.8+ Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
* Available via the MIT or new BSD license. * Available via the MIT or new BSD license.
* see: http://github.com/jrburke/requirejs for details * see: http://github.com/jrburke/requirejs for details
*/ */
@@ -12,7 +12,7 @@ var requirejs, require, define;
(function (global) { (function (global) {
var req, s, head, baseElement, dataMain, src, var req, s, head, baseElement, dataMain, src,
interactiveScript, currentlyAddingScript, mainScript, subPath, interactiveScript, currentlyAddingScript, mainScript, subPath,
version = '2.1.8', version = '2.1.8+',
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg, commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g, cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
jsSuffixRegExp = /\.js$/, jsSuffixRegExp = /\.js$/,
@@ -1609,7 +1609,7 @@ var requirejs, require, define;
//Join the path parts together, then figure out if baseUrl is needed. //Join the path parts together, then figure out if baseUrl is needed.
url = syms.join('/'); url = syms.join('/');
url += (ext || (/\?/.test(url) || skipExt ? '' : '.js')); url += (ext || (/^data\:|\?/.test(url) || skipExt ? '' : '.js'));
url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url; url = (url.charAt(0) === '/' || url.match(/^[\w\+\.\-]+:/) ? '' : config.baseUrl) + url;
} }