Skip to content

Commit 47a87de

Browse files
committed
Merge pull request nwjs#857 from kingFighter/tests
[test] convert manual test case 'source maps' to automatic
2 parents 9f683a7 + 01dc2d7 commit 47a87de

31 files changed

Lines changed: 172 additions & 50 deletions

tests/automatic_tests/console/index.html

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,30 +57,32 @@
5757
iframe_devtools.src = url;
5858
iframe_devtools.height = '1000';
5959
iframe_devtools.width = '1000';
60-
60+
6161
function get_results() {
6262
var console_logs = devtools.document.getElementsByClassName('console-log-level');
6363

6464
for (var i = 0; i < console_logs.length; i++)
6565
results.push(console_logs[i].childNodes[0].childNodes[0].innerHTML);
6666

67-
win.showDevTools(); <!-- why? -->
68-
var client = require('../../nw_test_app').createClient({
69-
argv: gui.App.argv,
70-
data: results
71-
});
67+
var client = require('../../nw_test_app').createClient({
68+
argv: gui.App.argv,
69+
data: results
70+
});
7271
}
73-
72+
7473
function get_console_logs() {
7574
var console_msgs = devtools.document.getElementsByClassName('console');
7675

77-
<!-- make sure it is complete -->
76+
<!-- make sure it is complete -->
7877
if(console_msgs == undefined || console_msgs[0] == undefined || console_msgs[0].click == undefined)
7978
setTimeout(get_console_logs, 3000);
8079
else {
8180
console_msgs[0].click();
82-
<!-- make sure it is complete -->
83-
setTimeout(get_results, 3000);
81+
82+
win.showDevTools(); <!-- why? -->
83+
84+
<!-- make sure it is complete -->
85+
setTimeout(get_results, 3000);
8486
}
8587
}
8688

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Test case for source maps</title>
6+
<link rel="stylesheet" href="styles/style.css">
7+
</head>
8+
<body>
9+
<p id="wait" style="font-size:1.5em">Please wait to be closed.</p>
10+
<input type="text" id="color" placeholder="css color"/>
11+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
12+
<script>
13+
var gui = require('nw.gui');
14+
var win = gui.Window.get();
15+
var results = new Array();
16+
17+
<!-- load devtools into iframe -->
18+
win.showDevTools('', true);
19+
win.on("devtools-opened", function(url) {
20+
var iframe_devtools = document.createElement("iframe");
21+
iframe_devtools.id = 'devtools';
22+
iframe_devtools.src = url;
23+
iframe_devtools.height = '1000';
24+
iframe_devtools.width = '1000';
25+
26+
function get_scripts() {
27+
var scripts = devtools.document.getElementsByClassName('scripts');
28+
29+
<!-- make sure it is complete -->
30+
if(scripts == undefined || scripts[0] == undefined || scripts[0].click == undefined)
31+
setTimeout(get_scripts, 3000);
32+
else {
33+
// open settitng
34+
devtools.WebInspector.SettingsController.prototype.showSettingsScreen();
35+
// source map feature must be enabled first
36+
// We cannot to reload it automatically or it will crash
37+
if(!devtools.document.getElementsByName('Enable source maps')[0].checked) {
38+
devtools.document.getElementsByName('Enable source maps')[0].checked = true;
39+
}
40+
else {
41+
// open scripts panel
42+
scripts[0].click();
43+
44+
devtools.document.getElementsByClassName('scripts-navigator-show-hide-button')[0].click();
45+
devtools.document.getElementsByClassName('parent navigator-folder-tree-item')[1].treeElement.expand();
46+
var scripts_files = devtools.document.getElementsByClassName('navigator-script-tree-item');
47+
48+
for (var i = 0; i < scripts_files.length; i++)
49+
results.push(scripts_files[i].childNodes[2].innerHTML);
50+
results.sort();
51+
}
52+
53+
win.showDevTools(); <!-- why? -->
54+
var client = require('../../nw_test_app').createClient({
55+
argv: gui.App.argv,
56+
data: results
57+
});
58+
}
59+
}
60+
61+
iframe_devtools.onload = get_scripts;
62+
document.getElementById("wait").appendChild(iframe_devtools);
63+
});
64+
</script>
65+
<!-- Comment the line below and uncomment the Options A to E one at a time -->
66+
<!-- <script src="scripts/script.js"></script> -->
67+
68+
<!-- Option A: Closure Compile -->
69+
<script src="scripts/script.closure.js"></script>
70+
71+
<!-- Option B: JSMin and Grunt -->
72+
<script src="scripts/script.jsmin-grunt.js"></script>
73+
74+
<!-- Option C: Uglifyjs -->
75+
<script src="scripts/script.uglify.js"></script>
76+
77+
<!-- Option D: CoffeeScript -->
78+
<script src="scripts/script.coffee.min.js"></script>
79+
80+
<!-- Option E: TypeScript -->
81+
<script src="scripts/script.typescript.min.js"></script>
82+
83+
84+
</body>
85+
</html>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
var path = require('path');
2+
var app_test = require('./nw_test_app');
3+
var assert = require('assert');
4+
var results;
5+
6+
describe('source maps', function() {
7+
before(function(done) {
8+
this.timeout(0);
9+
var child = app_test.createChildProcess({
10+
execPath: process.execPath,
11+
appPath: path.join(global.tests_dir, 'source-maps'),
12+
end: function(data, app) {
13+
results = data;
14+
app.kill();
15+
done();
16+
}
17+
});
18+
});
19+
20+
it('should support Closure Compile', function() {
21+
assert.equal("script.closure.js", results[0]);
22+
assert.equal("script1.js", results[8]);
23+
});
24+
25+
it('should support JSMin and Grunt', function() {
26+
assert.equal("script.jsmin-grunt.js", results[4]);
27+
assert.equal("script2.js", results[9]);
28+
});
29+
30+
it('should support Uglifyjs', function() {
31+
assert.equal('script.uglify.js', results[7]);
32+
assert.equal('script.js', results[3]);
33+
});
34+
35+
it('should support CoffeeScript', function() {
36+
assert.equal('script.coffee.min.js', results[2]);
37+
assert.equal('script.coffee.coffee', results[1]);
38+
});
39+
40+
it('should support TypeScript', function() {
41+
assert.equal('script.typescript.min.js', results[5]);
42+
assert.equal('script.typescript.ts', results[6]);
43+
});
44+
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name": "nw-test-source-maps",
3+
"main": "index.html",
4+
"node-remote": "127.0.0.1"
5+
}
File renamed without changes.
File renamed without changes.

tests/manual_tests/source-maps/scripts/script.closure.js renamed to tests/automatic_tests/source-maps/scripts/script.closure.js

File renamed without changes.

tests/manual_tests/source-maps/scripts/script.closure.js.map renamed to tests/automatic_tests/source-maps/scripts/script.closure.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/manual_tests/source-maps/scripts/script.coffee.coffee renamed to tests/automatic_tests/source-maps/scripts/script.coffee.coffee

File renamed without changes.

tests/manual_tests/source-maps/scripts/script.coffee.js renamed to tests/automatic_tests/source-maps/scripts/script.coffee.js

File renamed without changes.

0 commit comments

Comments
 (0)