예제 #1
0
class TestMingWidgetSelector:

    testColumns = (
    (S.Binary,    FileField),
    (S.Bool,      SproxCheckBox),
    (S.String,    TextField),
    (S.DateTime,  SproxCalendarDateTimePicker),
    (S.Float,     TextField),
    (S.Int,       TextField),
    (S.OneOf,     PropertySingleSelectField),
    )

    def setup(self):
        self.widgetSelector = MingWidgetSelector()

    def test_createObj(self):
        pass

    def _testSelect(self, column, expected):
        widget = self.widgetSelector.select(column)
        assert widget == expected, "expected: %s\nactual: %s"%(expected, widget)

    def testSelect(self):
        for type, expected in self.testColumns:
            args={}
            c = FieldProperty(type, **args)
            yield self._testSelect, c, expected

    def test_select_with_one_relation(self):
        eq_(self.widgetSelector.select(User.town), PropertySingleSelectField)

    def test_select_with_many_relation(self):
        eq_(self.widgetSelector.select(User.groups), PropertyMultipleSelectField)
        
    @raises(TypeError)
    def _select(self, arg1):
        self.widgetSelector.select(arg1)

    def testPasswordField(self):
        c = FieldProperty(S.String)
        c.sprox_meta = {"password": True}
        self._testSelect(c, PasswordField)

    def testTextArea(self):
        c = FieldProperty(S.String)
        c.sprox_meta = {"narrative": True}
        self._testSelect(c, TextArea)

    def testNameBasedWidgetSelect(self):
        c = FieldProperty(S.Int)
        selector = DummyMingWidgetSelector()
        widget = selector.select(c)
        assert widget is TextField
예제 #2
0
 def setup(self):
     self.widgetSelector = MingWidgetSelector()
예제 #3
0
 def setup(self):
     self.widgetSelector = MingWidgetSelector()
예제 #4
0
class TestMingWidgetSelector:

    testColumns = ((S.Binary, FileField), (S.Bool, SproxCheckBox),
                   (S.String, TextField), (S.DateTime,
                                           SproxCalendarDateTimePicker),
                   (S.Float, TextField), (S.Int, TextField),
                   (S.OneOf, PropertySingleSelectField), (bool, SproxCheckBox))

    def setup(self):
        self.widgetSelector = MingWidgetSelector()

    def test_createObj(self):
        pass

    def _testSelect(self, column, expected):
        widget = self.widgetSelector.select(column)
        assert widget == expected, "expected: %s\nactual: %s" % (expected,
                                                                 widget)

    def testSelect(self):
        for type, expected in self.testColumns:
            args = {}
            c = FieldProperty(type, **args)
            yield self._testSelect, c, expected

    def test_select_with_one_relation(self):
        eq_(self.widgetSelector.select(User.town), PropertySingleSelectField)

    def test_select_with_many_relation(self):
        eq_(self.widgetSelector.select(User.groups),
            PropertyMultipleSelectField)

    def test_select_with_password(self):
        eq_(self.widgetSelector.select(UnrelatedDocument.password),
            PasswordField)

    def test_name_based_selector(self):
        class NamedSelector(MingWidgetSelector):
            default_name_based_widgets = {'number': SingleSelectField}

        sel = NamedSelector()
        eq_(sel.select(UnrelatedDocument.number), SingleSelectField)

    def test_unknown_field_type(self):
        eq_(self.widgetSelector.select(UnrelatedDocument.something), TextField)

    @raises(TypeError)
    def _select(self, arg1):
        self.widgetSelector.select(arg1)

    def testPasswordField(self):
        c = FieldProperty(S.String)
        c.sprox_meta = {"password": True}
        self._testSelect(c, PasswordField)

    def testTextArea(self):
        c = FieldProperty(S.String)
        c.sprox_meta = {"narrative": True}
        self._testSelect(c, TextArea)

    def testNameBasedWidgetSelect(self):
        c = FieldProperty(S.Int)
        selector = DummyMingWidgetSelector()
        widget = selector.select(c)
        assert widget is TextField