root/lang/javascript/jsruby/trunk/tests/jsobject.html @ 4448

Revision 4448, 1.6 kB (checked in by nshuyo, 5 years ago)

lang/javascript/jsruby: ensured handling Javascript object:
User defined methods are automatically assigned to "ruby.foo".
It is enable to assign Javascript object to a ruby global variable in advance ( usage: ruby.put( VARIABLE_NAME, OBJECT ) )

Line 
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<meta http-equiv="Content-Script-Type" content="text/javascript" />
5<script language="JavaScript" type="text/javascript" src="../jsunit/app/jsUnitCore.js"></script>
6
7<script type="text/javascript" src="../src/head.js"></script>
8<script type="text/javascript" src="../src/node.js"></script>
9<script type="text/javascript" src="../src/builtinobjects.js"></script>
10<script type="text/javascript" src="../src/parse.js"></script>
11<script type="text/javascript" src="../src/interpreter.js"></script>
12<script type="text/javascript" src="../src/builtinmethods.js"></script>
13<script type="text/javascript" src="../src/util.js"></script>
14
15<script type="text/ruby">
16def test1(x)
17  x 2
18end
19
20def test2(x)
21  x.new 2
22end
23
24</script>
25
26<script language="JavaScript" type="text/javascript">
27
28var ruby = new RubyEngine.Interpreter();
29ruby.exec( RubyEngine.Util.getRubyScript() );
30
31function testDocument() {
32        assertEquals("document 1", ruby.exec("$document.getElementById('test').innerHTML"), "jsruby test");
33        assertEquals("document 2", ruby.exec("$document.getElementsByTagName('div').length"), 3);
34}
35
36function testFunctionObject() {
37        assertEquals("function object 1", ruby.test1( function(x){ return x*2; } ), 4);
38        assertEquals("function object 2", ruby.test1( function(x){ return x*3+1; } ), 7);
39}
40
41function testNew() {
42        function Foo(x) { this.bar = x; }
43        var foo = ruby.test2(Foo);
44        assertEquals("new 1", foo.bar, 2);
45}
46
47</script>
48</head>
49<body>
50<div id="test">jsruby test</div>
51<div id="test2">jsruby TEST2</div>
52<div id="test3">jsruby test3</div>
53</body>
54</html>
Note: See TracBrowser for help on using the browser.