#!/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(),
'<> ')
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()