#!/bin/python # -*- coding: utf-8 -*- """ Unit tests for gluon.html """ import sys import os import unittest def fix_sys_path(): """ logic to have always the correct sys.path '', web2py/gluon, web2py/site-packages, web2py/ ... """ def add_path_first(path): sys.path = [path] + [p for p in sys.path if ( not p == path and not p == (path + '/'))] path = os.path.dirname(os.path.abspath(__file__)) if not os.path.isfile(os.path.join(path,'web2py.py')): i = 0 while i<10: i += 1 if os.path.exists(os.path.join(path,'web2py.py')): break path = os.path.abspath(os.path.join(path, '..')) paths = [path, os.path.abspath(os.path.join(path, 'site-packages')), os.path.abspath(os.path.join(path, 'gluon')), ''] [add_path_first(path) for path in paths] fix_sys_path() from html import * class TestBareHelpers(unittest.TestCase): def testBR(self): self.assertEqual(BR(_a='1', _b='2').xml(), '
') def testEMBED(self): self.assertEqual(EMBED(_a='1', _b='2').xml(), '') def testHR(self): self.assertEqual(HR(_a='1', _b='2').xml(), '
') def testIMG(self): self.assertEqual(IMG(_a='1', _b='2').xml(), '') def testINPUT(self): self.assertEqual(INPUT(_a='1', _b='2').xml(), '') def testLINK(self): self.assertEqual(LINK(_a='1', _b='2').xml(), '') def testMETA(self): self.assertEqual(META(_a='1', _b='2').xml(), '') def testA(self): self.assertEqual(A('<>', _a='1', _b='2').xml(), '<>') def testB(self): self.assertEqual(B('<>', _a='1', _b='2').xml(), '<>') def testBODY(self): self.assertEqual(BODY('<>', _a='1', _b='2').xml(), '<>') def testCENTER(self): self.assertEqual(CENTER('<>', _a='1', _b='2').xml(), '
<>
') def testDIV(self): self.assertEqual(DIV('<>', _a='1', _b='2').xml(), '
<>
') def testEM(self): self.assertEqual(EM('<>', _a='1', _b='2').xml(), '<>') def testFIELDSET(self): self.assertEqual(FIELDSET('<>', _a='1', _b='2').xml(), '
<>
') def testFORM(self): self.assertEqual(FORM('<>', _a='1', _b='2').xml(), '
<>
') def testH1(self): self.assertEqual(H1('<>', _a='1', _b='2').xml(), '

<>

') def testH2(self): self.assertEqual(H2('<>', _a='1', _b='2').xml(), '

<>

') def testH3(self): self.assertEqual(H3('<>', _a='1', _b='2').xml(), '

<>

') def testH4(self): self.assertEqual(H4('<>', _a='1', _b='2').xml(), '

<>

') def testH5(self): self.assertEqual(H5('<>', _a='1', _b='2').xml(), '
<>
') def testH6(self): self.assertEqual(H6('<>', _a='1', _b='2').xml(), '
<>
') def testHEAD(self): self.assertEqual(HEAD('<>', _a='1', _b='2').xml(), '<>') def testHTML(self): self.assertEqual(HTML('<>', _a='1', _b='2').xml(), '\n<>') def testIFRAME(self): self.assertEqual(IFRAME('<>', _a='1', _b='2').xml(), '') def testLABEL(self): self.assertEqual(LABEL('<>', _a='1', _b='2').xml(), '') def testLI(self): self.assertEqual(LI('<>', _a='1', _b='2').xml(), '
  • <>
  • ') def testOBJECT(self): self.assertEqual(OBJECT('<>', _a='1', _b='2').xml(), '<>') def testOL(self): self.assertEqual(OL('<>', _a='1', _b='2').xml(), '
    1. <>
    ') def testOPTION(self): self.assertEqual(OPTION('<>', _a='1', _b='2').xml(), '') def testP(self): self.assertEqual(P('<>', _a='1', _b='2').xml(), '

    <>

    ') def testPRE(self): self.assertEqual(PRE('<>', _a='1', _b='2').xml(), '
    <>
    ') def testSCRIPT(self): self.assertEqual(SCRIPT('<>', _a='1', _b='2').xml(), '''''') def testSELECT(self): self.assertEqual(SELECT('<>', _a='1', _b='2').xml(), '') def testSPAN(self): self.assertEqual(SPAN('<>', _a='1', _b='2').xml(), '<>') def testSTYLE(self): self.assertEqual(STYLE('<>', _a='1', _b='2').xml(), '') def testTABLE(self): self.assertEqual(TABLE('<>', _a='1', _b='2').xml(), '' + '
    <>
    ') def testTBODY(self): self.assertEqual(TBODY('<>', _a='1', _b='2').xml(), '<>') def testTD(self): self.assertEqual(TD('<>', _a='1', _b='2').xml(), '<>') def testTEXTAREA(self): self.assertEqual(TEXTAREA('<>', _a='1', _b='2').xml(), '') def testTFOOT(self): self.assertEqual(TFOOT('<>', _a='1', _b='2').xml(), '<>') def testTH(self): self.assertEqual(TH('<>', _a='1', _b='2').xml(), '<>') def testTHEAD(self): self.assertEqual(THEAD('<>', _a='1', _b='2').xml(), '<>') #self.assertEqual(THEAD(TRHEAD('<>'), _a='1', _b='2').xml(), # '<>') self.assertEqual(THEAD(TR('<>'), _a='1', _b='2').xml(), '<>') def testTITLE(self): self.assertEqual(TITLE('<>', _a='1', _b='2').xml(), '<>') def testTR(self): self.assertEqual(TR('<>', _a='1', _b='2').xml(), '<>') def testTT(self): self.assertEqual(TT('<>', _a='1', _b='2').xml(), '<>') def testUL(self): self.assertEqual(UL('<>', _a='1', _b='2').xml(), '') class TestData(unittest.TestCase): def testAdata(self): self.assertEqual(A('<>', data=dict(abc='', cde='standard'), _a='1', _b='2').xml(),'<>') if __name__ == '__main__': unittest.main()