예제 #1
0
    def test_mutation(self):
        bithandler = BitHandler(0, ("FLAG_0", "FLAG_1", "FLAG_2", "FLAG_3"))
        self.assertEquals(bool(bithandler.FLAG_0), False)
        self.assertEquals(bool(bithandler.FLAG_1), False)
        self.assertEquals(bool(bithandler.FLAG_2), False)
        self.assertEquals(bool(bithandler.FLAG_3), False)

        bithandler = BitHandler(bithandler | 1, bithandler._keys)
        self.assertEquals(bool(bithandler.FLAG_0), True)
        self.assertEquals(bool(bithandler.FLAG_1), False)
        self.assertEquals(bool(bithandler.FLAG_2), False)
        self.assertEquals(bool(bithandler.FLAG_3), False)

        bithandler ^= 3
        self.assertEquals(int(bithandler), 2)

        self.assertEquals(bool(bithandler & 1), False)

        bithandler.FLAG_0 = False
        self.assertEquals(bithandler.FLAG_0, False)

        bithandler.FLAG_1 = True
        self.assertEquals(bithandler.FLAG_0, False)
        self.assertEquals(bithandler.FLAG_1, True)

        bithandler.FLAG_2 = False
        self.assertEquals(bithandler.FLAG_0, False)
        self.assertEquals(bithandler.FLAG_1, True)
        self.assertEquals(bithandler.FLAG_2, False)
예제 #2
0
 def test_defaults(self):
     bithandler = BitHandler(0, ("FLAG_0", "FLAG_1", "FLAG_2", "FLAG_3"))
     # Default value of 0.
     self.assertEquals(int(bithandler), 0)
     # Test bit numbers.
     self.assertEquals(int(bithandler.FLAG_0.number), 0)
     self.assertEquals(int(bithandler.FLAG_1.number), 1)
     self.assertEquals(int(bithandler.FLAG_2.number), 2)
     self.assertEquals(int(bithandler.FLAG_3.number), 3)
     # Negative test non-existant key.
     self.assertRaises(AttributeError, lambda: bithandler.FLAG_4)
     # Test bool().
     self.assertEquals(bool(bithandler.FLAG_0), False)
     self.assertEquals(bool(bithandler.FLAG_1), False)
     self.assertEquals(bool(bithandler.FLAG_2), False)
     self.assertEquals(bool(bithandler.FLAG_3), False)
예제 #3
0
    def test_create_render_bitfield_template_tag_singleton(self, mock_loader):
        template = Template(
            "{% for obj in flags %}Hello: {{ obj.str }}\n{% endfor %}")
        mock_loader.get_template.return_value = DjangoTemplate(
            template, mock_loader)

        func = flag_utils.create_render_bitfield_template_tag(
            {
                "p": {
                    "str": "person",
                    "singleton": True
                },
                "a": {
                    "str": "animal"
                }
            }, "test.html")
        flag_obj = BitHandler(1 | 2, ["a", "p"])
        self.assertEqual(func(flag_obj), "Hello: person\n")
예제 #4
0
 def test_create_render_bitfield_template_tag_no_values(self):
     # empty flag definition, so all values will be "invalid"
     func = flag_utils.create_render_bitfield_template_tag({})
     flag_obj = BitHandler(1 | 2, ["new", "read"])
     self.assertEqual(func(flag_obj).strip(), " ")
예제 #5
0
def styleguide(request):
    now = timezone.now() + timedelta(-1)
    domain = mock.Mock(domain="example.com")

    # create a bunch of mocked inboxes
    inboxes = [
        mock.Mock(
            inbox="qwerty",
            domain=domain,
            flags=BitHandler(0, ["new"]),
            last_activity=now,
            form=InboxEditForm(request),
        ),
        mock.Mock(
            inbox="qwerty",
            domain=domain,
            flags=BitHandler(1, ["disabled"]),
            last_activity=now,
            form=False,
        ),
        mock.Mock(
            inbox="qwerty",
            domain=domain,
            flags=BitHandler(1 | 2, ["new", "pinned"]),
            last_activity=now,
            form=False,
        ),
    ]

    # emails
    emails = [
        mock.Mock(
            inbox=inboxes[0],
            flags=BitHandler(1, ["important"]),
            received_date=now,
        ),
        mock.Mock(
            inbox=inboxes[0],
            flags=BitHandler(0, ["important"]),
            received_date=now,
        ),
    ]

    # attachments
    attachments = [
        mock.Mock(id=0,
                  filename=("a" * 100),
                  content_type="blah/blah",
                  get_children=[]),
        mock.Mock(id=0, filename="a", content_type=None, get_children=[]),
    ]

    context = {
        "inboxes":
        inboxes,
        "emails":
        emails,
        "attachments":
        attachments,
        "form":
        Form(),
        "message_types": [(k, get_level_tags()[v])
                          for k, v in DEFAULT_LEVELS.items() if k != 'DEBUG'],
    }
    return TemplateResponse(request, 'inboxen/styleguide.html', context)
예제 #6
0
    def test_empty(self):
        flag_obj = BitHandler(2, ["new", "read"])
        output = inboxen_flags.render_flags(flag_obj)

        self.assertEqual(output.strip(), " ")
예제 #7
0
    def test_invert(self):
        flag_obj = BitHandler(3, ["new", "read"])
        output = inboxen_flags.render_flags(flag_obj)

        self.assertNotIn("Unread message", output)
        self.assertNotIn("label-info", output)
예제 #8
0
    def test_no_error(self):
        flag_obj = BitHandler(6, ["new", "read", "somefakeflag", "someother"])

        inboxen_flags.render_flags(flag_obj)