annotate python/example/howbindingworks.py @ 912:5d9c08d2a090 default tip

nvm
author Jeff Hammel <k0scist@gmail.com>
date Wed, 01 May 2024 14:39:53 -0700
parents 9ddab670f8c4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
515
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 def environment():
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 print 'hi'
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 class Foo(object):
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 environment = environment
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 foo = Foo()
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 class Bar(object):
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10 def __init__(self):
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 self.environment = environment
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12 bar = Bar()
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 import unittest
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 class TestBinding(unittest.TestCase):
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 """weird!"""
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 def test_binding(self):
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 self.assertEqual(foo.environment, environment)
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 def test_class_level(self):
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 self.assertEqual(Foo.environment, environment)
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 def test_on_init(self):
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 self.assertEqual(bar.environment, environment)
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
24 if __name__ == '__main__':
9ddab670f8c4 how binding works
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 unittest.main()