Beispiel #1
0
def test_scripts():
    # Prepare
    pycode = 'foo = 42; print(foo)'
    pyname = os.path.join(tempfile.gettempdir(), 'flexx_test.py')
    open(pyname, 'wb').write(pycode.encode())
    jsname = pyname[:-3] + '.js'

    # Convert - plain file (no module)
    script2js(pyname)

    # Check result
    jscode = open(jsname, 'rt', encoding='utf-8').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode

    # Convert - module
    script2js(pyname, 'mymodule')

    # Check result
    jscode = open(jsname, 'rt', encoding='utf-8').read()
    assert 'foo = 42;' in jscode
    assert 'define(' in jscode
    assert 'module.exports' in jscode
    assert 'root.mymodule' in jscode

    # Convert - no module, explicit file
    script2js(pyname, None, jsname)

    # Check result
    jscode = open(jsname, 'rt', encoding='utf-8').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode
Beispiel #2
0
def test_scripts():
    # Prepare
    pycode = "foo = 42; print(foo)"
    pyname = os.path.join(tempfile.gettempdir(), "flexx_test.py")
    with open(pyname, "wb") as f:
        f.write(pycode.encode())
    jsname = pyname[:-3] + ".js"

    # Convert - plain file (no module)
    script2js(pyname)

    # Check result
    jscode = open(jsname, "rt", encoding="utf-8").read()
    assert "foo = 42;" in jscode
    assert "define(" not in jscode

    # Convert - module
    script2js(pyname, "mymodule")

    # Check result
    jscode = open(jsname, "rt", encoding="utf-8").read()
    assert "foo = 42;" in jscode
    assert "define(" in jscode
    assert "module.exports" in jscode
    assert "root.mymodule" in jscode

    # Convert - no module, explicit file
    script2js(pyname, None, jsname)

    # Check result
    jscode = open(jsname, "rt", encoding="utf-8").read()
    assert "foo = 42;" in jscode
    assert "define(" not in jscode
Beispiel #3
0
def test_scripts():
    # Prepare
    pycode = 'foo = 42; print(foo)'
    pyname = os.path.join(tempfile.gettempdir(), 'flexx_test.py')
    with open(pyname, 'wb') as f:
        f.write(pycode.encode())
    jsname = pyname[:-3] + '.js'
    
    # Convert - plain file (no module)
    script2js(pyname)
    
    # Check result
    jscode = open(jsname, 'rt', encoding='utf-8').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode
    
    # Convert - module
    script2js(pyname, 'mymodule')
    
    # Check result
    jscode = open(jsname, 'rt', encoding='utf-8').read()
    assert 'foo = 42;' in jscode
    assert 'define(' in jscode
    assert 'module.exports' in jscode
    assert 'root.mymodule' in jscode
    
    # Convert - no module, explicit file
    script2js(pyname, None, jsname)
    
    # Check result
    jscode = open(jsname, 'rt', encoding='utf-8').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode
Beispiel #4
0
def test_scripts():
    # Prepare
    pycode = 'foo = 42; print(foo)'
    f = tempfile.NamedTemporaryFile('wt', suffix='.py')
    f.file.write(pycode)
    f.file.flush()
    jsname = f.name[:-3] + '.js'

    # Convert - plain file (no module)
    script2js(f.name)

    # Check result
    jscode = open(jsname, 'rt').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode

    # Convert - module
    script2js(f.name, 'mymodule')

    # Check result
    jscode = open(jsname, 'rt').read()
    assert 'foo = 42;' in jscode
    assert 'define(' in jscode
    assert 'module.exports' in jscode
    assert 'root.mymodule' in jscode

    # Convert - no module, explicit file
    script2js(f.name, None, jsname)

    # Check result
    jscode = open(jsname, 'rt').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode
Beispiel #5
0
def test_scripts():
    # Prepare
    pycode = 'foo = 42; print(foo)'
    f = tempfile.NamedTemporaryFile('wt', suffix='.py')
    f.file.write(pycode)
    f.file.flush()
    jsname = f.name[:-3] + '.js'
    
    # Convert - plain file (no module)
    script2js(f.name)
    
    # Check result
    jscode = open(jsname, 'rt').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode
    
    # Convert - module
    script2js(f.name, 'mymodule')
    
    # Check result
    jscode = open(jsname, 'rt').read()
    assert 'foo = 42;' in jscode
    assert 'define(' in jscode
    assert 'module.exports' in jscode
    assert 'root.mymodule' in jscode
    
    # Convert - no module, explicit file
    script2js(f.name, None, jsname)
    
    # Check result
    jscode = open(jsname, 'rt').read()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode
Beispiel #6
0
def test_scripts():
    # Prepare
    pycode = 'foo = 42; print(foo)'
    pyname = os.path.join(tempfile.gettempdir(), 'flexx_test.py')
    with open(pyname, 'wb') as f:
        f.write(pycode.encode())
    jsname = pyname[:-3] + '.js'

    # Convert - plain file (no module)
    script2js(pyname)

    # Check result
    jscode = open(jsname, 'rb').read().decode()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode

    # Convert - module light
    script2js(pyname, 'mymodule')

    # Check result
    jscode = open(jsname, 'rb').read().decode()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode

    # Convert - module UMD
    script2js(pyname,
              'mymodule+')  # at the moment, this is the undocumented API

    # Check result
    jscode = open(jsname, 'rb').read().decode()
    assert 'foo = 42;' in jscode
    assert 'define(' in jscode
    assert 'module.exports' in jscode
    assert 'root.mymodule' in jscode

    # Convert - no module, explicit file
    script2js(pyname, None, jsname)

    # Check result
    jscode = open(jsname, 'rb').read().decode()
    assert 'foo = 42;' in jscode
    assert 'define(' not in jscode
Beispiel #7
0
PyScript creates AMD modules that can be used in the browser, in nodejs,
and in combination with browserify and related tools.
"""

# This import is ignored by PyScript, it allows using these variable
# names without triggering pyflakes (a static Python source analysis tool).
from flexx.pyscript import undefined, window  # noqa

class Foo:
    
    a_constant = 1, 2, 3
    
    def ham(self, x):
        self.x = x
    
    def eggs(self, y):
        self.y = self.x * y
        hasattr(y, str)


class Bar(Foo):
    
    def bla(self, z):
        print(z)


if __name__ == '__main__':
    from flexx.pyscript import script2js
    script2js(__file__, 'mymodule')
Beispiel #8
0
PyScript creates AMD modules that can be used in the browser, in nodejs,
and in combination with browserify and related tools.
"""

# This import is ignored by PyScript, it allows using these variable
# names without triggering pyflakes (a static Python source analysis tool).
from flexx.pyscript import undefined, window  # noqa


class Foo:

    a_constant = 1, 2, 3

    def ham(self, x):
        self.x = x

    def eggs(self, y):
        self.y = self.x * y
        hasattr(y, str)


class Bar(Foo):
    def bla(self, z):
        print(z)


if __name__ == '__main__':
    from flexx.pyscript import script2js
    script2js(__file__, 'mymodule')