smparkes-envjs 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +101 -0
- data/bin/envjsrb +147 -0
- data/bin/jquery-1.2.6-test.js +33 -0
- data/bin/jquery-1.3.1-test.js +33 -0
- data/bin/jquery-1.3.2-test.js +98 -0
- data/bin/prototype-1.6.0.3-test.js +82 -0
- data/bin/prototype_1.6.0.3_tmpl.txt +27 -0
- data/bin/test-jquery.sh +58 -0
- data/bin/test-prototype.sh +54 -0
- data/bin/tidy +0 -0
- data/lib/envjs/env.js +10423 -0
- data/lib/envjs/net/file.rb +71 -0
- data/lib/envjs/net.rb +3 -0
- data/lib/envjs/runtime.rb +132 -0
- data/lib/envjs/runtime.rb.smp +133 -0
- data/lib/envjs/tempfile.rb +24 -0
- data/lib/envjs.rb +23 -0
- data/test/call-load-test.js +17 -0
- data/test/debug.js +53 -0
- data/test/envjs-call-load-test.js +3 -0
- data/test/envjs-prototype.js +3 -0
- data/test/html/events.html +171 -0
- data/test/html/iframe1.html +46 -0
- data/test/html/iframe1a.html +46 -0
- data/test/html/iframe2.html +45 -0
- data/test/html/iframe3.html +30 -0
- data/test/html/iframeN.html +57 -0
- data/test/html/scope.html +87 -0
- data/test/html/trivial.html +19 -0
- data/test/html/with_js.html +26 -0
- data/test/index.html +304 -0
- data/test/java-prototype.js +9 -0
- data/test/primaryTests.js +26 -0
- data/test/prototype.js +15 -0
- data/test/qunit/package.json +21 -0
- data/test/qunit/qunit/qunit.css +17 -0
- data/test/qunit/qunit/qunit.js +997 -0
- data/test/qunit/qunit/qunit.js.smp +1002 -0
- data/test/qunit/test/index.html +17 -0
- data/test/qunit/test/same.js +1368 -0
- data/test/qunit/test/test.js +136 -0
- data/test/qunit.js +61 -0
- data/test/qunit.smp/package.json +21 -0
- data/test/qunit.smp/qunit/qunit.css +17 -0
- data/test/qunit.smp/qunit/qunit.js +997 -0
- data/test/qunit.smp/test/index.html +17 -0
- data/test/qunit.smp/test/same.js +1368 -0
- data/test/qunit.smp/test/test.js +136 -0
- data/test/rhino-call-load-test.js +5 -0
- data/test/test-with-envs-jar.js +8 -0
- data/test/test-with-rhino-jar.js +9 -0
- data/test/unit/dom.js +43 -0
- data/test/unit/elementmembers.js +29 -0
- data/test/unit/events.js +195 -0
- data/test/unit/fixtures/external_script.js +1 -0
- data/test/unit/iframe.js +234 -0
- data/test/unit/multi-window.js +212 -0
- data/test/unit/onload.js +82 -0
- data/test/unit/parser.js +113 -0
- data/test/unit/prototypecompat.js +22 -0
- data/test/unit/proxy.js +6 -0
- data/test/unit/scope.js +209 -0
- data/test/unit/timer.js +115 -0
- data/test/unit/window.js +41 -0
- data/test/vendor/jQuery/README +2 -0
- data/test/vendor/prototype-1.6.0.3.js +4320 -0
- metadata +130 -0
data/README
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
env.js : A pure JavaScript browser environment.
|
2
|
+
Developed by John Resig (http://ejohn.org)
|
3
|
+
|
4
|
+
Major Contributers:
|
5
|
+
Chris Thatcher (http://github.com/thatcher)
|
6
|
+
|
7
|
+
GitHub repositories:
|
8
|
+
http://github.com/jeresig/env-js/
|
9
|
+
http://github.com/thatcher/env-js/
|
10
|
+
|
11
|
+
Mailing List:
|
12
|
+
http://groups.google.com/group/envjs
|
13
|
+
|
14
|
+
Lighthouse (Bug Tracking):
|
15
|
+
http://envjs.lighthouseapp.com/projects/21590-envjs/
|
16
|
+
|
17
|
+
Build Status:
|
18
|
+
http://runcoderun.com/thatcher/env-js
|
19
|
+
|
20
|
+
Original blog post:
|
21
|
+
http://ejohn.org/projects/bringing-the-browser-to-the-server/
|
22
|
+
|
23
|
+
Rhino (Java-based JavaScript engine)
|
24
|
+
http://www.mozilla.org/rhino/
|
25
|
+
|
26
|
+
Getting the code:
|
27
|
+
|
28
|
+
* Check the code out from git: git clone git://github.com/thatcher/env-js.git
|
29
|
+
|
30
|
+
Building:
|
31
|
+
* run "ant concat"
|
32
|
+
* Creates a platform-agnostic "dist/env.js" file and a Rhino-specific "dist/env.rhino.js" file.
|
33
|
+
|
34
|
+
Testing:
|
35
|
+
* Checkout qunit: "git submodule update --init"
|
36
|
+
* run "ant test"
|
37
|
+
|
38
|
+
Java command line:
|
39
|
+
|
40
|
+
env.rhino.js can be run either with a "generic" version of the Rhino
|
41
|
+
library (js.jar), or with the repackaged/extended version of Rhino
|
42
|
+
supplied with env.js (env-js.jar). If your application uses multiple
|
43
|
+
windows, frames, or iframes, or if it depends on precise adherence to
|
44
|
+
JavaScript object scoping in event handlers, you will have to use
|
45
|
+
env-js.jar. Simple applications may be able to run with the generic
|
46
|
+
version of Rhino.
|
47
|
+
|
48
|
+
The command line used for testing env.js can be found in build.xml,
|
49
|
+
although the general form is:
|
50
|
+
java -jar [jar file] [javascript file]
|
51
|
+
Where "jar file" is either "dist/env-js.jar", "rhino/js.jar", or your
|
52
|
+
local path to a different version of the Rhino js.jar file. The
|
53
|
+
"javascript file" is the path to the JavaScript you wish to execute.
|
54
|
+
|
55
|
+
Installing:
|
56
|
+
1) Include the proper env.js file for your platform.
|
57
|
+
load('env.rhino.js'); //if in a Rhino script
|
58
|
+
|
59
|
+
2) Tell env.js to load an HTML file from your file system that it should model:
|
60
|
+
window.location = "some/file.html";
|
61
|
+
Envjs("some/file.html");
|
62
|
+
|
63
|
+
Optionally you can turn on/off settings by passing an options object:
|
64
|
+
Envjs("some/file.html", {log: function(msg){ console.debug(msg) }});
|
65
|
+
|
66
|
+
3) Optionally trigger "document ready" events in one of these ways:
|
67
|
+
|
68
|
+
a) standard window.load method:
|
69
|
+
load('env.rhino.js');
|
70
|
+
window.location = "some/file.html";
|
71
|
+
Envjs("some/file.html");
|
72
|
+
|
73
|
+
b) jQuery ready method:
|
74
|
+
load('env.rhino.js');
|
75
|
+
load('jquery-1.3.2.js');
|
76
|
+
Envjs("some/file.html");
|
77
|
+
load('some-code-that-sets-up-jquery-onready-behaviors.js')
|
78
|
+
jQuery.ready();
|
79
|
+
|
80
|
+
c) Other JavaScript frameworks have their own methods of setup, but the general pattern is:
|
81
|
+
// load env.js
|
82
|
+
// load your framework
|
83
|
+
// tell env.js the base DOM to model
|
84
|
+
// run any setup code for your framework
|
85
|
+
// tell the framework that the document is loaded
|
86
|
+
|
87
|
+
4) Invoke the Envjs event loop at the end of your script:
|
88
|
+
Envjs.wait();
|
89
|
+
|
90
|
+
Testing jQuery Compatibility:
|
91
|
+
* run ./bin/test-jquery.sh 1.3.2
|
92
|
+
* run ./bin/test-jquery.sh 1.3.1
|
93
|
+
* run ./bin/test-jquery.sh 1.2.6
|
94
|
+
* Checks out the given jQuery tag from Subversion into test/vendor/jQuery/[version],
|
95
|
+
moves dist/env.rhino.js into the correct location in their tree, and runs the test suites.
|
96
|
+
|
97
|
+
Changes with new timer code:
|
98
|
+
|
99
|
+
Previously with envjs, you could call Java's thread sleep() method to delay execution. This was mostly used in test suites. This may no
|
100
|
+
longer work the same since it will inhibit all events from firing. You can now use the Envjs.wait(milliseconds) call to achieve an
|
101
|
+
effect similar to calling sleep().
|
data/bin/envjsrb
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'johnson/tracemonkey'
|
7
|
+
require 'johnson/cli'
|
8
|
+
require 'envjs/runtime'
|
9
|
+
rescue Exception => e
|
10
|
+
# (temporarily) run out of local if gem not installed
|
11
|
+
$: << File.expand_path( File.join( File.dirname(__FILE__), "..", "lib" ) )
|
12
|
+
$: << File.expand_path( File.join( File.dirname(__FILE__), "..", "vendor", "johnson", "lib" ) )
|
13
|
+
require 'johnson/tracemonkey'
|
14
|
+
require 'johnson/cli'
|
15
|
+
require 'envjs/runtime'
|
16
|
+
end
|
17
|
+
|
18
|
+
RUNTIME = js = Johnson::Runtime.new
|
19
|
+
RUNTIME.extend Envjs::Runtime
|
20
|
+
|
21
|
+
RUNTIME.load Envjs::ENVJS
|
22
|
+
|
23
|
+
if ARGV.length > 0
|
24
|
+
|
25
|
+
begin
|
26
|
+
ARGV.each do |file|
|
27
|
+
if file =~ /\.x?html?$/
|
28
|
+
RUNTIME.evaluate("window.location = '#{file}'", file, 1)
|
29
|
+
else
|
30
|
+
RUNTIME.load file
|
31
|
+
end
|
32
|
+
end
|
33
|
+
rescue Johnson::Error => je
|
34
|
+
if je.message.match /<SystemExit: exit>/
|
35
|
+
exit
|
36
|
+
end
|
37
|
+
raise je
|
38
|
+
end
|
39
|
+
|
40
|
+
RUNTIME.wait
|
41
|
+
|
42
|
+
else
|
43
|
+
|
44
|
+
require "readline"
|
45
|
+
require "johnson/cli"
|
46
|
+
|
47
|
+
RUNTIME.evaluate(Johnson::CLI::JS)
|
48
|
+
|
49
|
+
EXIT_VERBS = [nil] + %w(exit quit)
|
50
|
+
|
51
|
+
local_binding = binding
|
52
|
+
ruby_readline = []
|
53
|
+
|
54
|
+
def copy_history
|
55
|
+
new_history = []
|
56
|
+
until Readline::HISTORY.empty?
|
57
|
+
new_history.push(Readline::HISTORY.pop)
|
58
|
+
end
|
59
|
+
new_history
|
60
|
+
end
|
61
|
+
|
62
|
+
def paste_history(old_history)
|
63
|
+
until old_history.empty?
|
64
|
+
Readline::HISTORY << old_history.pop
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def handle_exit(input)
|
69
|
+
if EXIT_VERBS.include?(input)
|
70
|
+
puts if input.nil?
|
71
|
+
exit
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def rescued(&block)
|
76
|
+
yield
|
77
|
+
rescue Exception => e
|
78
|
+
exit if SystemExit === e
|
79
|
+
|
80
|
+
puts e.message
|
81
|
+
puts e.backtrace.reject { |l| l =~ /bin\/johnson/ }
|
82
|
+
end
|
83
|
+
|
84
|
+
def eval_in_js(expression)
|
85
|
+
rescued { puts "=> " + RUNTIME.evaluate(expression, "(console)").inspect }
|
86
|
+
end
|
87
|
+
|
88
|
+
def eval_in_ruby(expression, bind_to)
|
89
|
+
rescued { puts "=> " + eval(expression, bind_to).inspect }
|
90
|
+
end
|
91
|
+
|
92
|
+
options = Johnson::CLI::Options.parse!(ARGV)
|
93
|
+
|
94
|
+
options.load_paths.each { |d| $LOAD_PATH << d }
|
95
|
+
options.paths_to_require.each { |p| RUNTIME.evaluate("Johnson.require('#{p}')") }
|
96
|
+
options.files_to_preload.each { |f| RUNTIME.load(f) }
|
97
|
+
|
98
|
+
unless options.expressions.empty?
|
99
|
+
options.expressions.each { |e| RUNTIME.evaluate(e, '-e') }
|
100
|
+
exit if options.files_to_evaluate.empty?
|
101
|
+
end
|
102
|
+
|
103
|
+
unless options.files_to_evaluate.empty?
|
104
|
+
RUNTIME[:arguments] = options.arguments
|
105
|
+
|
106
|
+
options.files_to_evaluate.each do |file|
|
107
|
+
RUNTIME.load(file)
|
108
|
+
end
|
109
|
+
|
110
|
+
exit
|
111
|
+
end
|
112
|
+
|
113
|
+
loop do
|
114
|
+
input = Readline.readline("js> ", true)
|
115
|
+
handle_exit(input)
|
116
|
+
|
117
|
+
if input =~ /^rb\s+(.+)$/
|
118
|
+
eval_in_ruby($1, local_binding)
|
119
|
+
next
|
120
|
+
end
|
121
|
+
|
122
|
+
if input == "rb"
|
123
|
+
js_readline = copy_history
|
124
|
+
paste_history(ruby_readline)
|
125
|
+
|
126
|
+
loop do
|
127
|
+
input = Readline.readline("rb> ", true)
|
128
|
+
handle_exit(input)
|
129
|
+
|
130
|
+
break if input == "js"
|
131
|
+
|
132
|
+
if input =~ /^js\s+(.+)$/
|
133
|
+
eval_in_js($1)
|
134
|
+
next
|
135
|
+
end
|
136
|
+
|
137
|
+
eval_in_ruby(input, local_binding)
|
138
|
+
end
|
139
|
+
|
140
|
+
ruby_readline = copy_history
|
141
|
+
paste_history(js_readline)
|
142
|
+
next
|
143
|
+
end
|
144
|
+
|
145
|
+
eval_in_js(input)
|
146
|
+
end
|
147
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
// Init
|
2
|
+
load("build/runtest/env.js");
|
3
|
+
|
4
|
+
var isLocal;
|
5
|
+
window.onload = function(){
|
6
|
+
isLocal = !!(window.location.protocol == 'file:');
|
7
|
+
|
8
|
+
// Load the test runner
|
9
|
+
load("dist/jquery.js",
|
10
|
+
"build/runtest/testrunner.js");
|
11
|
+
|
12
|
+
// Load the tests
|
13
|
+
load(
|
14
|
+
"test/unit/core.js",
|
15
|
+
"test/unit/selector.js",
|
16
|
+
"test/unit/event.js",
|
17
|
+
"test/unit/fx.js",
|
18
|
+
"test/unit/dimensions.js",
|
19
|
+
|
20
|
+
// offset relies on window.open, which is currently unimplemented in env.js
|
21
|
+
//"test/unit/offset.js",
|
22
|
+
|
23
|
+
// these tests require hitting a server, so we will need some clever env.js
|
24
|
+
// way of testing them
|
25
|
+
// by defining isLocal we can still load the test
|
26
|
+
"test/unit/ajax.js"
|
27
|
+
);
|
28
|
+
|
29
|
+
// Display the results
|
30
|
+
results();
|
31
|
+
};
|
32
|
+
|
33
|
+
window.location = "test/index.html";
|
@@ -0,0 +1,33 @@
|
|
1
|
+
// Init
|
2
|
+
load("build/runtest/env.js");
|
3
|
+
|
4
|
+
var isLocal;
|
5
|
+
window.onload = function(){
|
6
|
+
isLocal = !!(window.location.protocol == 'file:');
|
7
|
+
|
8
|
+
// Load the test runner
|
9
|
+
load("dist/jquery.js",
|
10
|
+
"build/runtest/testrunner.js");
|
11
|
+
|
12
|
+
// Load the tests
|
13
|
+
load(
|
14
|
+
"test/unit/core.js",
|
15
|
+
"test/unit/selector.js",
|
16
|
+
"test/unit/event.js",
|
17
|
+
"test/unit/fx.js",
|
18
|
+
"test/unit/dimensions.js",
|
19
|
+
"test/unit/data.js",
|
20
|
+
|
21
|
+
// offset relies on window.open, which is currently unimplemented in env.js
|
22
|
+
//"test/unit/offset.js",
|
23
|
+
|
24
|
+
// these tests require hitting a server, so we will need some clever env.js
|
25
|
+
// way of testing them
|
26
|
+
"test/unit/ajax.js"
|
27
|
+
);
|
28
|
+
|
29
|
+
// Display the results
|
30
|
+
results();
|
31
|
+
};
|
32
|
+
|
33
|
+
window.location = "test/index.html";
|
@@ -0,0 +1,98 @@
|
|
1
|
+
//debugger;
|
2
|
+
load("build/runtest/env.js");
|
3
|
+
|
4
|
+
(function(Envjs){
|
5
|
+
var $env = Envjs.$env;
|
6
|
+
|
7
|
+
Envjs("test/index.html", {
|
8
|
+
//let it load the script from the html
|
9
|
+
logLevel: $env.INFO,
|
10
|
+
scriptTypes: {
|
11
|
+
"text/javascript" :true
|
12
|
+
},
|
13
|
+
afterScriptLoad:{
|
14
|
+
'qunit/testrunner.js': function(){
|
15
|
+
//hook into qunit.log
|
16
|
+
var count = 0;
|
17
|
+
QUnit.log = function(result, message){
|
18
|
+
$env.log('(' + (count++) + ')[' +
|
19
|
+
((!!result) ? 'PASS' : 'FAIL') + '] ' + message);
|
20
|
+
};
|
21
|
+
//hook into qunit.done
|
22
|
+
QUnit.done = function(pass, fail){
|
23
|
+
$env.warn('Writing Results to File');
|
24
|
+
jQuery('script').each(function(){
|
25
|
+
this.type = 'text/envjs';
|
26
|
+
});
|
27
|
+
$env.writeToFile(
|
28
|
+
document.documentElement.xml,
|
29
|
+
$env.location('jqenv-'+Date.now()+'.html')
|
30
|
+
);
|
31
|
+
};
|
32
|
+
|
33
|
+
//allow jquery to run ajax
|
34
|
+
isLocal = false;
|
35
|
+
|
36
|
+
|
37
|
+
var unsafeStop = stop,
|
38
|
+
unsafeStart = start,
|
39
|
+
isStopped = null;
|
40
|
+
|
41
|
+
var config_timeout;
|
42
|
+
stop = function(timeout){
|
43
|
+
if(isStopped === null || isStopped === false){
|
44
|
+
$env.log('PAUSING QUNIT');
|
45
|
+
isStopped = true;
|
46
|
+
unsafeStop.call(this);
|
47
|
+
timeout = ( timeout && timeout > 0 ) ? timeout : 10000;
|
48
|
+
if (timeout)
|
49
|
+
config_timeout = setTimeout(function() {
|
50
|
+
QUnit.ok( false, "Test timed out" );
|
51
|
+
start();
|
52
|
+
}, timeout);
|
53
|
+
}
|
54
|
+
};
|
55
|
+
start = function(){
|
56
|
+
if(isStopped === null || isStopped === true ){
|
57
|
+
$env.log('RESTARTING QUNIT');
|
58
|
+
isStopped = false;
|
59
|
+
if(config_timeout) {
|
60
|
+
clearTimeout(config_timeout);
|
61
|
+
config_timeout = undefined;
|
62
|
+
}
|
63
|
+
unsafeStart.call(this);
|
64
|
+
}
|
65
|
+
};
|
66
|
+
//we know some ajax calls will fail becuase
|
67
|
+
//we are not running against a running server
|
68
|
+
//for php files
|
69
|
+
var handleError = jQuery.handleError;
|
70
|
+
jQuery.handleError = function(){
|
71
|
+
ok(false, 'Ajax may have failed while running locally');
|
72
|
+
try{
|
73
|
+
handleError(arguments);
|
74
|
+
}catch(e){}
|
75
|
+
//allow tests to gracefully continue
|
76
|
+
start();
|
77
|
+
};
|
78
|
+
//allow unanticipated xhr error with no ajax.handleError
|
79
|
+
//callback (eg jQuery.getScript) to exit gracefully
|
80
|
+
$env.onInterrupt = function(){
|
81
|
+
$env.info('thread interupt: gracefully continuing test');
|
82
|
+
start();
|
83
|
+
};
|
84
|
+
|
85
|
+
|
86
|
+
$env.onScriptLoadError = function(script){
|
87
|
+
Envjs.error("failed to load script \n"+script.text);
|
88
|
+
ok(false, 'Ajax may have failed to load correct script while running locally');
|
89
|
+
//allow tests to gracefully continue
|
90
|
+
start();
|
91
|
+
};
|
92
|
+
}
|
93
|
+
}
|
94
|
+
});
|
95
|
+
|
96
|
+
})(Envjs);
|
97
|
+
|
98
|
+
Envjs.wait();
|
@@ -0,0 +1,82 @@
|
|
1
|
+
//debugger;
|
2
|
+
load("env.js");
|
3
|
+
|
4
|
+
(function($env){
|
5
|
+
|
6
|
+
|
7
|
+
$env("array_test.html", {
|
8
|
+
//let it load the script from the html
|
9
|
+
scriptTypes: {
|
10
|
+
"text/javascript" :true
|
11
|
+
},
|
12
|
+
afterload:{
|
13
|
+
'lib_assets/unittest.js': function(){
|
14
|
+
//hook into some messaging
|
15
|
+
var assertBlock = Test.Unit.Assertions.assertBlock;
|
16
|
+
Test.Unit.Assertions.assertBlock = function(){
|
17
|
+
$env.log(arguments[0]);
|
18
|
+
return assertBlock(arguments);
|
19
|
+
};
|
20
|
+
Test.Unit.Logger.prototype.initialize = function(id) {
|
21
|
+
this.id = id;
|
22
|
+
$env.debug(' ['+this.id+'] initialized');
|
23
|
+
};
|
24
|
+
|
25
|
+
Test.Unit.Logger.prototype.start = function(testName) {
|
26
|
+
this.currentTest = testName;
|
27
|
+
$env.debug(' ['+this.id+'] starting test ('+this.currentTest+')');
|
28
|
+
};
|
29
|
+
|
30
|
+
|
31
|
+
Test.Unit.Logger.prototype.setStatus = function(status) {
|
32
|
+
$env.log(' ['+this.id+'] ('+this.currentTest+') '+status);
|
33
|
+
};
|
34
|
+
|
35
|
+
Test.Unit.Logger.prototype.finish = function(status, summary) {
|
36
|
+
$env.log(' ['+this.id+'] ('+this.currentTest+
|
37
|
+
') '+status+' '+summary.replace(/\n/g,"\t"));
|
38
|
+
};
|
39
|
+
|
40
|
+
}
|
41
|
+
}
|
42
|
+
});
|
43
|
+
$env.writeToFile(
|
44
|
+
document.documentElement.xml,
|
45
|
+
$env.location('jqenv-array_test-'+Date.now()+'.html')
|
46
|
+
);
|
47
|
+
|
48
|
+
$env("base_test.html", {
|
49
|
+
//let it load the script from the html
|
50
|
+
scriptTypes: {
|
51
|
+
"text/javascript" :true
|
52
|
+
}
|
53
|
+
});
|
54
|
+
$env.writeToFile(
|
55
|
+
document.documentElement.xml,
|
56
|
+
$env.location('jqenv-base_test-'+Date.now()+'.html')
|
57
|
+
);
|
58
|
+
|
59
|
+
|
60
|
+
$env("class_test.html", {
|
61
|
+
//let it load the script from the html
|
62
|
+
scriptTypes: {
|
63
|
+
"text/javascript" :true
|
64
|
+
}
|
65
|
+
});
|
66
|
+
$env.writeToFile(
|
67
|
+
document.documentElement.xml,
|
68
|
+
$env.location('jqenv-class_test-'+Date.now()+'.html')
|
69
|
+
);
|
70
|
+
|
71
|
+
$env("date_test.html", {
|
72
|
+
//let it load the script from the html
|
73
|
+
scriptTypes: {
|
74
|
+
"text/javascript" :true
|
75
|
+
}
|
76
|
+
});
|
77
|
+
$env.writeToFile(
|
78
|
+
document.documentElement.xml,
|
79
|
+
$env.location('jqenv-date_test-'+Date.now()+'.html')
|
80
|
+
);
|
81
|
+
|
82
|
+
})(Envjs);
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<title>Unit test file | <%= title %> | <%= template_name %> template | <%= timestamp %></title>
|
6
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
7
|
+
<script type="text/javascript" charset="utf-8">
|
8
|
+
var eventResults = {};
|
9
|
+
var originalElement = window.Element;
|
10
|
+
</script>
|
11
|
+
<%= script_tag('assets/prototype.js') %>
|
12
|
+
<%= script_tag('lib_assets/unittest.js') %>
|
13
|
+
<%= link_tag('lib_assets/unittest.css') %>
|
14
|
+
<%= css_fixtures %>
|
15
|
+
<%= js_fixtures %>
|
16
|
+
<%= test_file %>
|
17
|
+
</head>
|
18
|
+
<body>
|
19
|
+
|
20
|
+
<div id="testlog"></div>
|
21
|
+
|
22
|
+
<%= html_fixtures %>
|
23
|
+
<script type="text/javascript" charset="utf-8">
|
24
|
+
eventResults.endOfDocument = true;
|
25
|
+
</script>
|
26
|
+
</body>
|
27
|
+
</html>
|
data/bin/test-jquery.sh
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# Usage: test-jquery.sh [version]
|
4
|
+
# Currently supported versions: 1.3.2, 1.3.1, and 1.2.6
|
5
|
+
#
|
6
|
+
# This script will check out the jQuery development tree from Subversion if necessary,
|
7
|
+
# massage the testing scripts as necessary, copy our latest version of env.js into place,
|
8
|
+
# and then run the test scripts.
|
9
|
+
|
10
|
+
|
11
|
+
if [ -n "$2" ]; then
|
12
|
+
echo 'debug'
|
13
|
+
if [ -n "$2" ]; then VERSION="$2"; else VERSION="1.3.2"; fi
|
14
|
+
DEBUG=1
|
15
|
+
else
|
16
|
+
echo 'jquery'
|
17
|
+
if [ -n "$1" ]; then VERSION="$1"; else VERSION="1.3.2"; fi
|
18
|
+
DEBUG=0
|
19
|
+
fi
|
20
|
+
|
21
|
+
JQUERY_DIR="test/vendor/jQuery/$VERSION";
|
22
|
+
|
23
|
+
ant concat
|
24
|
+
|
25
|
+
if [ ! -d "$JQUERY_DIR" ]; then
|
26
|
+
svn export http://jqueryjs.googlecode.com/svn/tags/$VERSION/ $JQUERY_DIR
|
27
|
+
case "$VERSION" in
|
28
|
+
"1.3.2")
|
29
|
+
rm -rf "$JQUERY_DIR/test/qunit"
|
30
|
+
svn export -r6173 http://jqueryjs.googlecode.com/svn/trunk/qunit $JQUERY_DIR/test/qunit
|
31
|
+
;;
|
32
|
+
"1.3.1")
|
33
|
+
rm -rf "$JQUERY_DIR/test/qunit"
|
34
|
+
svn export -r6133 http://jqueryjs.googlecode.com/svn/trunk/qunit $JQUERY_DIR/test/qunit
|
35
|
+
;;
|
36
|
+
esac
|
37
|
+
fi
|
38
|
+
|
39
|
+
cp dist/env.rhino.js $JQUERY_DIR/build/runtest/env.js
|
40
|
+
cp dist/env-js.jar $JQUERY_DIR/build/js.jar
|
41
|
+
cp bin/jquery-$VERSION-test.js $JQUERY_DIR/build/runtest/test.js
|
42
|
+
|
43
|
+
if [ $DEBUG -eq 1 ]; then
|
44
|
+
echo 'enabling rhino debugger'
|
45
|
+
perl -pi~ -e "s/^JAR(.*)(-jar.*|-cp.*)/JAR\1 -cp \\$\{BUILD_DIR}\/js.jar org.mozilla.javascript.tools.debugger.Main/" $JQUERY_DIR/Makefile;
|
46
|
+
else
|
47
|
+
if [ "x$JOHNSON" == "x " ]; then
|
48
|
+
echo 'running with rhino'
|
49
|
+
perl -pi~ -e "s/^JAR(.*)(-jar.*|-cp.*)/JAR\1 -cp \\$\{BUILD_DIR}\/js.jar org.mozilla.javascript.tools.envjs.Main/" $JQUERY_DIR/Makefile;
|
50
|
+
else
|
51
|
+
echo 'running with johnson'
|
52
|
+
echo > $JQUERY_DIR/build/runtest/env.js
|
53
|
+
perl -pi~ -e "s/^JAR(.*)(-jar.*|-cp.*)/JAR = envjsrb/" $JQUERY_DIR/Makefile;
|
54
|
+
fi
|
55
|
+
fi
|
56
|
+
|
57
|
+
cd $JQUERY_DIR
|
58
|
+
make runtest
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# Usage: test-prototype.sh [version]
|
4
|
+
# Currently supported versions: 1.6.0.3
|
5
|
+
#
|
6
|
+
# This script will check out the Prototype development tree from Github if necessary,
|
7
|
+
# massage the testing scripts as necessary, copy our latest version of env.js into place,
|
8
|
+
# and then run the test scripts.
|
9
|
+
|
10
|
+
|
11
|
+
if [ -n "$2" ]; then
|
12
|
+
echo 'debug'
|
13
|
+
if [ -n "$2" ]; then VERSION="$2"; else VERSION="1.6.0.3"; fi
|
14
|
+
DEBUG=1
|
15
|
+
else
|
16
|
+
echo 'jquery'
|
17
|
+
if [ -n "$1" ]; then VERSION="$1"; else VERSION="1.6.0.3"; fi
|
18
|
+
DEBUG=0
|
19
|
+
fi
|
20
|
+
|
21
|
+
PROTOTYPE_DIR="test/vendor/Prototype/$VERSION";
|
22
|
+
|
23
|
+
ant concat
|
24
|
+
|
25
|
+
if [ ! -d "$PROTOTYPE_DIR" ]; then
|
26
|
+
git clone git://github.com/sstephenson/prototype.git $PROTOTYPE_DIR
|
27
|
+
# - prepares tests - #
|
28
|
+
cd $PROTOTYPE_DIR
|
29
|
+
git submodule init #allow prototype to discover test framework dependencies
|
30
|
+
git submodule update #load the dicovered dependencies
|
31
|
+
cd -
|
32
|
+
fi
|
33
|
+
|
34
|
+
#replace thier test html template erb (malformed html on purpose..really???)
|
35
|
+
cat bin/prototype_1.6.0.3_tmpl.txt > $PROTOTYPE_DIR/test/unit/templates/default.erb
|
36
|
+
sed 's/runner\.run/ /g' $PROTOTYPE_DIR/Rakefile > $PROTOTYPE_DIR/Rakefile
|
37
|
+
cd $PROTOTYPE_DIR
|
38
|
+
rake test
|
39
|
+
cd -
|
40
|
+
|
41
|
+
cp dist/env.rhino.js $PROTOTYPE_DIR/test/unit/tmp/env.js
|
42
|
+
cp dist/env-js.jar $PROTOTYPE_DIR/test/unit/tmp/env-js.jar
|
43
|
+
cp bin/prototype-$VERSION-test.js $PROTOTYPE_DIR/test/unit/tmp/test.js
|
44
|
+
|
45
|
+
|
46
|
+
cd $PROTOTYPE_DIR/test/unit/tmp
|
47
|
+
if [ $DEBUG -eq 1 ]; then
|
48
|
+
echo 'running with rhino debugger'
|
49
|
+
java -cp env-js.jar org.mozilla.javascript.tools.envjs.Main test.js;
|
50
|
+
else
|
51
|
+
echo 'running with rhino'
|
52
|
+
java -cp env-js.jar org.mozilla.javascript.tools.envjs.Main test.js;
|
53
|
+
fi
|
54
|
+
|
data/bin/tidy
ADDED
Binary file
|