view tests/test_box.py @ 6:b653b7beec1a

moved Boxes from server module to box module
author Atul Varma <avarma@mozilla.com>
date Mon, 31 May 2010 10:53:21 -0700
parents
children 0efba0cf0ca3
line wrap: on
line source

import unittest

import sjsbox.box
from sjsbox.bunch import Bunch

class BoxesTests(unittest.TestCase):
    def setUp(self):
        self.foo = Bunch(
            mtime = 0,
            name = 'foo.js',
            contents = 'function handle() { return 404; }'
            )
        self.dir = [self.foo]
        self.boxes = sjsbox.box.Boxes(self.dir)
        self.assertEqual(self.boxes['foo'].handle('GET', '/'),
                         404)

    def tearDown(self):
        self.boxes.shutdown()

    def test_contains_works(self):
        self.assertTrue('foo' in self.boxes)

    def test_update_works(self):
        self.boxes.update()
        self.assertEqual(self.boxes['foo'].handle('GET', '/'),
                         404)

        self.foo.mtime = 1
        self.foo.contents = 'function handle() { return "yo"; }';
        self.boxes.update()
        self.assertEqual(self.boxes['foo'].handle('GET', '/'),
                         u'yo')

    def test_remove_works(self):
        self.dir[:] = []
        self.boxes.update()
        self.assertFalse('foo' in self.boxes)