Esempio n. 1
0
    def testSemantic(self):
        program = util.source(
            """
            class Test1:
                def Foo():
                    print self
        """
        )

        util.semanticProgram(program)
Esempio n. 2
0
    def testSemantic(self):
        program = util.source('''
            class Test:
                pass

            var o as System.Object
            var t = Test()
            o = t as System.Object
        ''')

        util.semanticProgram(program, ['mscorlib'])
Esempio n. 3
0
    def testParse(self):
        program = util.source('''
            var s = "Hello"
            var o as System.Object

            o = s as System.Object

            var p = System.Object() as System.Object
            var q = o as System.String as System.Object as System.String
        ''')

        util.semanticProgram(program, ['mscorlib'])
Esempio n. 4
0
    def testSemantic2(self):
        program = '''var a as array(testy)'''

        self.assertRaises(
            error.NameError,
            lambda: util.semanticProgram(program, [])
        )
Esempio n. 5
0
    def testGlobalFuncSelf(self):
        program = util.source(
            """
            def GlobalFunc():
                print self
        """
        )

        self.assertRaises(error.SyntaxError, lambda: util.semanticProgram(program))
Esempio n. 6
0
    def testOverloadMatchFail(self):
        program = util.source('''
            var x = System.String("There is no overload for System.String that recieves a string.")
        ''')

        self.assertRaises(
            error.TypeError,
            lambda: util.semanticProgram(program, ['mscorlib'])
        )
Esempio n. 7
0
    def testFunctionScopeSelf(self):
        program = util.source(
            """
            def Foo():
                print self
        """
        )

        self.assertRaises(error.SyntaxError, lambda: util.semanticProgram(program))
Esempio n. 8
0
    def testTypeMismatch(self):
        program = util.source('''
            print 5 or 2
        ''')

        self.failUnlessRaises(
            error.TypeError,
            lambda: util.semanticProgram(program)
        )
Esempio n. 9
0
    def testOuterBreak(self):
        program = util.source('''
            break
        ''')

        self.assertRaises(
            error.SyntaxError,
            lambda: util.semanticProgram(program)
        )
Esempio n. 10
0
    def testStaticMethodScopeSelf(self):
        program = util.source(
            """
            class Test:
                static def Foo():
                    print self
        """
        )

        self.assertRaises(error.SyntaxError, lambda: util.semanticProgram(program))
Esempio n. 11
0
    def testClassNoAttributeExists(self):
        program = util.source('''
            class X:
                [ThisNameIsNotDefined]
        ''')

        self.assertRaises(
            error.NameError,
            lambda: util.semanticProgram(program)
        )
    def testModifiers2(self):
        program = util.source('''
            class C:
                sealed virtual def bork():
                    pass
        ''')

        self.assertRaises(
            error.SyntaxError,
            lambda: util.semanticProgram(program)
        )
Esempio n. 13
0
    def testSemanticTryFinallyExcept(self):
        program = util.source('''
            try:
                pass
            finally:
                pass
            except:
                pass'''
        )

        self.assertRaises(Exception, lambda: util.semanticProgram(program, []))
Esempio n. 14
0
    def testImplicitCast(self):
        # TODO:this isn't implemented yet... if it is you will need to fix this test
        from tests import util

        prog = util.source(
            """
            var x as char = 'c'
        """
        )

        self.assertRaises(error.TypeError, lambda: util.semanticProgram(prog))
Esempio n. 15
0
    def testOverride3(self):
        program = util.source('''
            class MyClass(System.Object):
                override def ToString(x as int) as string:
                    return "Also shouldn't work"
        ''')

        self.assertRaises(
            error.OverrideError,
            lambda: util.semanticProgram(program, ['mscorlib'])
        )
Esempio n. 16
0
    def testOverride2(self):
        program = util.source('''
            class MyClass(System.Object):
                virtual def ToString() as string:
                    return "Shouldn't work!"
        ''')

        self.assertRaises(
            error.OverrideError,
            lambda: util.semanticProgram(program, ['mscorlib'])
        )
Esempio n. 17
0
    def testSemantic(self):
        program = util.source('''
            try:
                pass
            except:
                pass
            finally:
                pass'''
        )

        st = util.semanticProgram(program, [])
        self.assertNotEqual(None, st)
Esempio n. 18
0
    def testBadCast(self):
        program = util.source('''
            class A:
                pass

            class B:
                pass

            var a as A
            var b = B()
            a = b as A
        ''')

        self.assertRaises(
            error.TypeError,
            lambda: util.semanticProgram(program)
        )
Esempio n. 19
0
    def testSemanticClassWithAttribute(self):
        from ast.classdecl import ClassDecl

        program = util.source('''
            class X:
                [TestClass.Thingie]
                pass
        ''')

        result = util.semanticProgram(program, ['bin/ClassLibrary1'])

        x = result[0]
        self.assertTrue(isinstance(x, ClassDecl))

        self.assertEqual(1, len(x.attributes))

        attr = x.attributes[0]

        self.assertEqual('ThingieAttribute', attr.className.name)
Esempio n. 20
0
 def testOuterContinue(self):
     self.failUnlessRaises(
         error.SyntaxError,
         lambda: util.semanticProgram('continue')
     )
Esempio n. 21
0
    def testNameResolve(self):
        from ast.vartypes import Type

        program = 'System.Configuration.Assemblies.AssemblyHash'
        sast = util.semanticProgram(program, ['mscorlib'])
        assert isinstance(sast[0].expr, Type), `expr`
 def testSemantic(self):
     program = """var x = 3<<2"""
     util.semanticProgram(program)
 def testBad2Semantic(self):
     program = """var x = 3<<2.2"""
     try:
         util.semanticProgram(program)
     except:
         assert True
Esempio n. 24
0
 def testSemantic(self):
     program = 'import System.IO'
     sast = util.semanticProgram(program, ['mscorlib'])
     assert isinstance(sast[0], ImportStatement), sast
Esempio n. 25
0
    def testModuleScopeSelf(self):
        program = util.source("print self")

        self.assertRaises(error.SyntaxError, lambda: util.semanticProgram(program))
Esempio n. 26
0
    def testSemantic(self):
        program = util.source('''
            var x = System.Object()
        ''')

        result = util.semanticProgram(program, ['mscorlib'])
Esempio n. 27
0
    def testGetNestedType(self):
        program = util.source('''
            var o as TestClass.TestClass.NestedClass
        ''')

        util.semanticProgram(program, ['ClassLibrary1'])
Esempio n. 28
0
    def testSemantic(self):
        program = '''var a as array(int, 2)'''

        util.semanticProgram(program, [])
Esempio n. 29
0
 def testSemantic(self):
     program = util.source('''
         var x = TestClass.TestClass()
         var y = x.x
         ''')
     result = util.semanticProgram(program, ['bin/ClassLibrary1'])