| 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>
|
|
|