Skip to content

Commit

Permalink
Merge branch 'master' into frame-scope
Browse files Browse the repository at this point in the history
  • Loading branch information
gleneivey committed Apr 28, 2010
2 parents 3061b32 + 915d8f7 commit 5ec03ec
Show file tree
Hide file tree
Showing 20 changed files with 609 additions and 179 deletions.
40 changes: 23 additions & 17 deletions .project
@@ -1,17 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>env-js</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.rubypeople.rdt.core.rubybuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.rubypeople.rdt.core.rubynature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>env-js</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.rubypeople.rdt.core.rubybuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.rubypeople.rdt.core.rubynature</nature>
<nature>org.python.pydev.pythonNature</nature>
</natures>
</projectDescription>
4 changes: 4 additions & 0 deletions WEB-INF/appengine-web.xml
@@ -0,0 +1,4 @@
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>envjs</application>
<version>3</version>
</appengine-web-app>
12 changes: 12 additions & 0 deletions WEB-INF/web.xml
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


<welcome-file-list>
<welcome-file>README</welcome-file>
</welcome-file-list>

</web-app>
2 changes: 1 addition & 1 deletion build.properties
Expand Up @@ -2,7 +2,7 @@
PROJECT: env-js
BUILD_MAJOR: 1
BUILD_MINOR: 2
BUILD_ID: 0.11
BUILD_ID: 12
BUILD_VERSION: ${BUILD_MAJOR}.${BUILD_MINOR}.${BUILD_ID}
BUILD: ${PROJECT}.${BUILD_VERSION}
VERSION: ${BUILD} ${DSTAMP}
Expand Down
5 changes: 3 additions & 2 deletions build.xml
Expand Up @@ -122,12 +122,13 @@
</filterchain>
<fileset dir="${SRC_DIR}" includes="platform/core/__global__.js" />
<fileset dir="${SRC_DIR}" includes="common/intro.js" />
<fileset dir="${SRC_DIR}" includes="common/urlparse.js" />
<fileset dir="${SRC_DIR}" includes="common/__extend__.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/console.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/dom.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/event.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/html.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/timer.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/urlparse.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/xhr.js" />
<fileset dir="${SRC_DIR}" includes="platform/core/window.js" />
<fileset dir="${SRC_DIR}" includes="common/outro.js" />
Expand Down Expand Up @@ -196,6 +197,7 @@
<fileset dir="${SRC_DIR}" includes="console/__global__.js" />
<fileset dir="${SRC_DIR}" includes="common/intro.js" />
<fileset dir="${SRC_DIR}" includes="console/console.js" />
<fileset dir="${SRC_DIR}" includes="console/json.js" />
<fileset dir="${SRC_DIR}" includes="common/outro.js" />
</concat>
<echo message="Finished Building ${CONSOLE_DIST}"/>
Expand Down Expand Up @@ -564,7 +566,6 @@
<fileset dir="${SRC_DIR}" includes="common/__extend__.js" />
<fileset dir="${SRC_DIR}" includes="common/__setArray__.js" />
<fileset dir="${SRC_DIR}" includes="common/__trim__.js" />
<fileset dir="${SRC_DIR}" includes="common/urlparse.js" />
<fileset dir="${SRC_DIR}" includes="xhr/document.js" />
<fileset dir="${SRC_DIR}" includes="xhr/form.js" />
<fileset dir="${SRC_DIR}" includes="xhr/location.js" />
Expand Down
Binary file added rhino/jline.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion settings.js
Expand Up @@ -9,5 +9,6 @@
var SETTINGS = {
BASE_URI : 'file:///mnt/repos/thatcher/env-js/',
AJAX_BASE: 'http://github.com/thatcher/env-js/raw/master/',
LOCAL_PORT: '8080'
LOCAL_PORT: '8080',
APP_CONTEXT: '/env-js/'
};
6 changes: 3 additions & 3 deletions specs/xhr/spec.js
Expand Up @@ -51,10 +51,10 @@ test('Location', function(){
'.href'
);
ok(
location.pathname === '/env-js/'+expected_path_a ||
location.pathname === '/env-js/'+expected_path_b ||
location.pathname === SETTINGS.APP_CONTEXT+expected_path_a ||
location.pathname === SETTINGS.APP_CONTEXT+expected_path_b ||
//this test may run in xhr or env so we allow for both paths
location.pathname === ('/env-js/'+expected_path).
location.pathname === (SETTINGS.APP_CONTEXT+expected_path_b).
replace('xhr','env'),
'.href'
);
Expand Down
1 change: 1 addition & 0 deletions src/console/__global__.js
Expand Up @@ -3,4 +3,5 @@
* @author envjs team
*/
var Console,
JSON,
console;
230 changes: 230 additions & 0 deletions src/console/json.js
@@ -0,0 +1,230 @@
/*
http://www.JSON.org/json2.js
2008-07-15
Public Domain.
NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
See http://www.JSON.org/js.html
This code should be minified before deployment.
See http://javascript.crockford.com/jsmin.html
USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
NOT CONTROL.
*/
JSON = function () {

function f(n) {
// Format integers to have at least two digits.
return n < 10 ? '0' + n : n;
}

Date.prototype.toJSON = function (key) {

return this.getUTCFullYear() + '-' +
f(this.getUTCMonth() + 1) + '-' +
f(this.getUTCDate()) + 'T' +
f(this.getUTCHours()) + ':' +
f(this.getUTCMinutes()) + ':' +
f(this.getUTCSeconds()) + 'Z';
};

String.prototype.toJSON = function (key) {
return String(this);
};
Number.prototype.toJSON =
Boolean.prototype.toJSON = function (key) {
return this.valueOf();
};

var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
escapeable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
gap,
indent,
meta = { // table of character substitutions
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
},
rep;


function quote(string) {

escapeable.lastIndex = 0;
return escapeable.test(string) ?
'"' + string.replace(escapeable, function (a) {
var c = meta[a];
if (typeof c === 'string') {
return c;
}
return '\\u' + ('0000' +
(+(a.charCodeAt(0))).toString(16)).slice(-4);
}) + '"' :
'"' + string + '"';
}


function str(key, holder) {

var i, // The loop counter.
k, // The member key.
v, // The member value.
length,
mind = gap,
partial,
value = holder[key];

if (value && typeof value === 'object' &&
typeof value.toJSON === 'function') {
value = value.toJSON(key);
}
if (typeof rep === 'function') {
value = rep.call(holder, key, value);
}

switch (typeof value) {
case 'string':
return quote(value);

case 'number':
return isFinite(value) ? String(value) : 'null';

case 'boolean':
case 'null':

return String(value);

case 'object':

if (!value) {
return 'null';
}
gap += indent;
partial = [];

if (typeof value.length === 'number' &&
!(value.propertyIsEnumerable('length'))) {

length = value.length;
for (i = 0; i < length; i += 1) {
partial[i] = str(i, value) || 'null';
}

v = partial.length === 0 ? '[]' :
gap ? '[\n' + gap +
partial.join(',\n' + gap) + '\n' +
mind + ']' :
'[' + partial.join(',') + ']';
gap = mind;
return v;
}

if (rep && typeof rep === 'object') {
length = rep.length;
for (i = 0; i < length; i += 1) {
k = rep[i];
if (typeof k === 'string') {
v = str(k, value);
if (v) {
partial.push(quote(k) + (gap ? ': ' : ':') + v);
}
}
}
} else {

for (k in value) {
if (Object.hasOwnProperty.call(value, k)) {
v = str(k, value);
if (v) {
partial.push(quote(k) + (gap ? ': ' : ':') + v);
}
}
}
}

v = partial.length === 0 ? '{}' :
gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
mind + '}' : '{' + partial.join(',') + '}';
gap = mind;
return v;
}
}

return {
stringify: function (value, replacer, space) {

var i;
gap = '';
indent = '';

if (typeof space === 'number') {
for (i = 0; i < space; i += 1) {
indent += ' ';
}

} else if (typeof space === 'string') {
indent = space;
}

rep = replacer;
if (replacer && typeof replacer !== 'function' &&
(typeof replacer !== 'object' ||
typeof replacer.length !== 'number')) {
throw new Error('JSON.stringify');
}

return str('', {'': value});
},


parse: function (text, reviver) {
var j;
function walk(holder, key) {
var k, v, value = holder[key];
if (value && typeof value === 'object') {
for (k in value) {
if (Object.hasOwnProperty.call(value, k)) {
v = walk(value, k);
if (v !== undefined) {
value[k] = v;
} else {
delete value[k];
}
}
}
}
return reviver.call(holder, key, value);
}

cx.lastIndex = 0;
if (cx.test(text)) {
text = text.replace(cx, function (a) {
return '\\u' + ('0000' +
(+(a.charCodeAt(0))).toString(16)).slice(-4);
});
}


if (/^[\],:{}\s]*$/.
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {

j = eval('(' + text + ')');

return typeof reviver === 'function' ?
walk({'': j}, '') : j;
}

throw new SyntaxError('JSON.parse');
}
};
}();

0 comments on commit 5ec03ec

Please sign in to comment.