Index: test/browser/js_test.html |
diff --git a/test/browser/js_test.html b/test/browser/js_test.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4b42da66a0428f74c29e4f8787bc59f57c80a993 |
--- /dev/null |
+++ b/test/browser/js_test.html |
@@ -0,0 +1,191 @@ |
+<!DOCTYPE html> |
+ |
+<!-- Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
+ for details. All rights reserved. Use of this source code is governed by a |
+ BSD-style license that can be found in the LICENSE file. --> |
+ |
+<html> |
+<head> |
+ <meta charset="utf-8"> |
+ <title>dart:js test</title> |
+</head> |
+<body> |
+See console for test results... |
+<script> |
+ var x = 42; |
+ |
+ var _x = 123; |
+ |
+ var myArray = ["value1"]; |
+ |
+ var foreignDoc = (function(){ |
+ var doc = document.implementation.createDocument("", "root", null); |
+ var element = doc.createElement('element'); |
+ element.setAttribute('id', 'abc'); |
+ doc.documentElement.appendChild(element); |
+ return doc; |
+ })(); |
+ |
+ function razzle() { |
+ return x; |
+ } |
+ |
+ function returnThis() { |
+ return this; |
+ } |
+ |
+ function getTypeOf(o) { |
+ return typeof(o); |
+ } |
+ |
+ function varArgs() { |
+ var args = arguments; |
+ var sum = 0; |
+ for (var i = 0; i < args.length; ++i) { |
+ sum += args[i]; |
+ } |
+ return sum; |
+ } |
+ |
+ function Foo(a) { |
+ this.a = a; |
+ } |
+ |
+ Foo.b = 38; |
+ |
+ Foo.prototype.bar = function() { |
+ return this.a; |
+ }; |
+ Foo.prototype.toString = function() { |
+ return "I'm a Foo a=" + this.a; |
+ }; |
+ |
+ var container = new Object(); |
+ container.Foo = Foo; |
+ |
+ function isArray(a) { |
+ return a instanceof Array; |
+ } |
+ |
+ function checkMap(m, key, value) { |
+ if (m.hasOwnProperty(key)) |
+ return m[key] == value; |
+ else |
+ return false; |
+ } |
+ |
+ function invokeCallback() { |
+ return callback(); |
+ } |
+ |
+ function invokeCallbackWith11params() { |
+ return callbackWith11params(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); |
+ } |
+ |
+ function returnElement(element) { |
+ return element; |
+ } |
+ |
+ function getElementAttribute(element, attr) { |
+ return element.getAttribute(attr); |
+ } |
+ |
+ function addClassAttributes(list) { |
+ var result = ""; |
+ for (var i=0; i < list.length; i++) { |
+ result += list[i].getAttribute("class"); |
+ } |
+ return result; |
+ } |
+ |
+ function getNewDate() { |
+ return new Date(1995, 11, 17); |
+ } |
+ |
+ function getNewDivElement() { |
+ return document.createElement("div"); |
+ } |
+ |
+ function getNewEvent() { |
+ return new CustomEvent('test'); |
+ } |
+ |
+ function getNewBlob() { |
+ var fileParts = ['<a id="a"><b id="b">hey!</b></a>']; |
+ return new Blob(fileParts, {type : 'text/html'}); |
+ } |
+ |
+ function getNewIDBKeyRange() { |
+ return IDBKeyRange.only(1); |
+ } |
+ |
+ function getNewImageData() { |
+ var canvas = document.createElement('canvas'); |
+ var context = canvas.getContext('2d'); |
+ return context.createImageData(1, 1); |
+ } |
+ |
+ function getNewInt32Array() { |
+ return new Int32Array([1, 2, 3, 4, 5, 6, 7, 8]); |
+ } |
+ |
+ function getNewArrayBuffer() { |
+ return new ArrayBuffer(8); |
+ } |
+ |
+ function isPropertyInstanceOf(property, type) { |
+ return window[property] instanceof type; |
+ } |
+ |
+ function testJsMap(callback) { |
+ var result = callback(); |
+ return result['value']; |
+ } |
+ |
+ function addTestProperty(o) { |
+ o.testProperty = "test"; |
+ } |
+ |
+ function fireClickEvent(w) { |
+ var event = w.document.createEvent('Events'); |
+ event.initEvent('click', true, false); |
+ w.document.dispatchEvent(event); |
+ } |
+ |
+ function Bar() { |
+ return "ret_value"; |
+ } |
+ Bar.foo = "property_value"; |
+ |
+ function Baz(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11) { |
+ this.f1 = p1; |
+ this.f2 = p2; |
+ this.f3 = p3; |
+ this.f4 = p4; |
+ this.f5 = p5; |
+ this.f6 = p6; |
+ this.f7 = p7; |
+ this.f8 = p8; |
+ this.f9 = p9; |
+ this.f10 = p10; |
+ this.f11 = p11; |
+ } |
+ |
+ function Liar(){} |
+ |
+ Liar.prototype.toString = function() { |
+ return 1; |
+ }; |
+ |
+ function identical(o1, o2) { |
+ return o1 === o2; |
+ } |
+ |
+ var someProto = { role: "proto" }; |
+ var someObject = Object.create(someProto); |
+ someObject.role = "object"; |
+ |
+</script> |
+<script type="application/dart" src="js_test.dart"></script> |
+</body> |
+</html> |