Skip to content

Commit eeca7a7

Browse files
committed
add new-win-policy case
1 parent 0882de6 commit eeca7a7

File tree

6 files changed

+72
-0
lines changed

6 files changed

+72
-0
lines changed

test/remoting/new-win-policy/end.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
var result = result ||[];
2+
result.push('inject-js-end');
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<html>
2+
<head>
3+
<title></title>
4+
<script>
5+
var win = nw.Window.get();
6+
win.on('new-win-policy', function(frame, url, policy) {
7+
console.log("new-win-policy called: " + url);
8+
policy.setNewWindowManifest({'frame': false, 'inject-js-start': 'start.js', 'inject-js-end':'end.js'});
9+
//policy.forceCurrent();
10+
});
11+
win.on('navigation', function(frame, url, policy, context) {
12+
console.log("navigation called: " + url + ", " + context);
13+
//policy.ignore();
14+
});
15+
</script>
16+
</head>
17+
<body>
18+
<a href="target.html" target="_blank">new window</a>
19+
</body>
20+
</html>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"name":"test",
3+
"main": "index.html"
4+
}

test/remoting/new-win-policy/start.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
var result = result ||[];
2+
result.push('inject-js-start');
3+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf8">
5+
<title></title>
6+
<script>
7+
var result = result||[];
8+
window.onload = function() {
9+
result.push("onload-dom");
10+
document.getElementById('output').value = (JSON.stringify(result));
11+
}
12+
</script>
13+
</head>
14+
<body>
15+
<script type="text/javascript">
16+
var result = result||[];
17+
result.push("body-start");
18+
</script>
19+
<textarea id="output" rows="12" cols="80" style="font-family: monospace;"></textarea>
20+
</body>
21+
</html>

test/remoting/new-win-policy/test.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import time
2+
import os
3+
4+
from selenium import webdriver
5+
from selenium.webdriver.chrome.options import Options
6+
chrome_options = Options()
7+
chrome_options.add_argument("nwapp=" + os.path.dirname(os.path.abspath(__file__)))
8+
9+
driver = webdriver.Chrome(executable_path=os.environ['CHROMEDRIVER'], chrome_options=chrome_options)
10+
try:
11+
print driver.current_url
12+
link = driver.find_element_by_link_text('new window')
13+
print link.text
14+
link.click()
15+
#raw_input("Press Enter to continue...")
16+
#print driver.window_handles
17+
driver.switch_to_window(driver.window_handles[-1])
18+
output = driver.find_element_by_id('output')
19+
assert(output.get_attribute('value') == '["inject-js-start","body-start","inject-js-end","onload-dom"]')
20+
finally:
21+
#time.sleep(50)
22+
driver.quit()

0 commit comments

Comments
 (0)