Index: test/codegen/expect/lib/html/js_function_getter_test.js |
diff --git a/test/codegen/expect/lib/html/js_function_getter_test.js b/test/codegen/expect/lib/html/js_function_getter_test.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ccd0a317cbb9f5cb608c9c81f5f3af6b1743a4f4 |
--- /dev/null |
+++ b/test/codegen/expect/lib/html/js_function_getter_test.js |
@@ -0,0 +1,73 @@ |
+dart_library.library('lib/html/js_function_getter_test', null, /* Imports */[ |
+ 'dart_sdk', |
+ 'unittest' |
+], function load__js_function_getter_test(exports, dart_sdk, unittest) { |
+ 'use strict'; |
+ const core = dart_sdk.core; |
+ const html = dart_sdk.html; |
+ const dart = dart_sdk.dart; |
+ const dartx = dart_sdk.dartx; |
+ const html_individual_config = unittest.html_individual_config; |
+ const unittest$ = unittest.unittest; |
+ const src__matcher__expect = unittest.src__matcher__expect; |
+ const src__matcher__core_matchers = unittest.src__matcher__core_matchers; |
+ const src__matcher__throws_matcher = unittest.src__matcher__throws_matcher; |
+ const js_function_getter_test = Object.create(null); |
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))(); |
+ let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))(); |
+ js_function_getter_test._injectJs = function() { |
+ html.document[dartx.body][dartx.append]((() => { |
+ let _ = html.ScriptElement.new(); |
+ _[dartx.type] = 'text/javascript'; |
+ _[dartx.innerHtml] = " var bar = { };\n\n bar.instanceMember = function() {\n if (this !== bar) {\n throw 'Unexpected this!';\n }\n return arguments.length;\n };\n\n bar.staticMember = function() {\n return arguments.length * 2;\n };\n\n bar.dynamicStatic = function() {\n return arguments.length;\n };\n\n bar.add = function(a, b) {\n return a + b;\n };\n\n var foo = { 'bar' : bar };\n"; |
+ return _; |
+ })()); |
+ }; |
+ dart.fn(js_function_getter_test._injectJs, VoidTodynamic()); |
+ js_function_getter_test.AddFn = dart.typedef('AddFn', () => dart.functionType(core.int, [core.int, core.int])); |
+ js_function_getter_test.main = function() { |
+ js_function_getter_test._injectJs(); |
+ html_individual_config.useHtmlIndividualConfiguration(); |
+ unittest$.group('call getter as function', dart.fn(() => { |
+ unittest$.test('member function', dart.fn(() => { |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'instanceMember'), src__matcher__core_matchers.equals(0)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'instanceMember', 0), src__matcher__core_matchers.equals(1)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'instanceMember', 0, 0), src__matcher__core_matchers.equals(2)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'instanceMember', 0, 0, 0, 0, 0, 0), src__matcher__core_matchers.equals(6)); |
+ let instanceMember = dart.global.foo.bar.instanceMember; |
+ src__matcher__expect.expect(dart.fn(() => dart.dcall(instanceMember), VoidTodynamic()), src__matcher__throws_matcher.throws); |
+ src__matcher__expect.expect(dart.fn(() => dart.dcall(instanceMember, 0), VoidTodynamic()), src__matcher__throws_matcher.throws); |
+ src__matcher__expect.expect(dart.fn(() => dart.dcall(instanceMember, 0, 0), VoidTodynamic()), src__matcher__throws_matcher.throws); |
+ src__matcher__expect.expect(dart.fn(() => dart.dcall(instanceMember, 0, 0, 0, 0, 0, 0), VoidTodynamic()), src__matcher__throws_matcher.throws); |
+ }, VoidTodynamic())); |
+ unittest$.test('static function', dart.fn(() => { |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'staticMember'), src__matcher__core_matchers.equals(0)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'staticMember', 0), src__matcher__core_matchers.equals(2)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'staticMember', 0, 0), src__matcher__core_matchers.equals(4)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'staticMember', 0, 0, 0, 0, 0, 0), src__matcher__core_matchers.equals(12)); |
+ let staticMember = dart.global.foo.bar.staticMember; |
+ src__matcher__expect.expect(dart.dcall(staticMember), src__matcher__core_matchers.equals(0)); |
+ src__matcher__expect.expect(dart.dcall(staticMember, 0), src__matcher__core_matchers.equals(2)); |
+ src__matcher__expect.expect(dart.dcall(staticMember, 0, 0), src__matcher__core_matchers.equals(4)); |
+ src__matcher__expect.expect(dart.dcall(staticMember, 0, 0, 0, 0, 0, 0), src__matcher__core_matchers.equals(12)); |
+ }, VoidTodynamic())); |
+ unittest$.test('static dynamicStatic', dart.fn(() => { |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'dynamicStatic'), src__matcher__core_matchers.equals(0)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'dynamicStatic', 0), src__matcher__core_matchers.equals(1)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'dynamicStatic', 0, 0), src__matcher__core_matchers.equals(2)); |
+ src__matcher__expect.expect(dart.dsend(dart.global.foo.bar, 'dynamicStatic', 0, 0, 0, 0, 0, 0), src__matcher__core_matchers.equals(6)); |
+ let dynamicStatic = dart.global.foo.bar.dynamicStatic; |
+ src__matcher__expect.expect(dart.dcall(dynamicStatic), src__matcher__core_matchers.equals(0)); |
+ src__matcher__expect.expect(dart.dcall(dynamicStatic, 0), src__matcher__core_matchers.equals(1)); |
+ src__matcher__expect.expect(dart.dcall(dynamicStatic, 0, 0), src__matcher__core_matchers.equals(2)); |
+ src__matcher__expect.expect(dart.dcall(dynamicStatic, 0, 0, 0, 0, 0, 0), src__matcher__core_matchers.equals(6)); |
+ }, VoidTodynamic())); |
+ unittest$.test('typedef function', dart.fn(() => { |
+ src__matcher__expect.expect(dart.global.foo.bar.add(4, 5), src__matcher__core_matchers.equals(9)); |
+ }, VoidTodynamic())); |
+ }, VoidTovoid())); |
+ }; |
+ dart.fn(js_function_getter_test.main, VoidTodynamic()); |
+ // Exports: |
+ exports.js_function_getter_test = js_function_getter_test; |
+}); |