Mercurial > hg > pyloader
annotate tests/test_ini.txt @ 63:995b831041be
stub: override section: [foo:bar]
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 09 Jun 2011 09:15:48 -0700 |
parents | 97800b02f636 |
children | f0f3525486db |
rev | line source |
---|---|
32
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 Test IniFactory |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 =============== |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
3 |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
4 Let's test the .ini factory:: |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
5 |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
6 >>> import os |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
7 >>> from pyloader.factory import IniFactory |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
8 >>> inifile = os.path.join(here, 'test.ini') |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
9 >>> inifactory = IniFactory(inifile) |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
10 |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
11 Load it up:: |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
12 |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
13 >>> object = inifactory.load() |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
14 >>> 'objects.py.StringMunge' in repr(object.__class__) |
b98cc94ffcfa
split IniFactory tests to their own file
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
15 True |
33 | 16 |
17 Call it:: | |
18 | |
19 >>> object('foobar') | |
20 'PRE!!!abfoor' | |
34
a9eaf65d82c6
test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents:
33
diff
changeset
|
21 |
a9eaf65d82c6
test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents:
33
diff
changeset
|
22 You can also just load the callback:: |
a9eaf65d82c6
test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents:
33
diff
changeset
|
23 |
a9eaf65d82c6
test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents:
33
diff
changeset
|
24 >>> callback = inifactory.load('callback') |
a9eaf65d82c6
test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents:
33
diff
changeset
|
25 >>> callback('foo', 'bar') |
a9eaf65d82c6
test loading a different section
Jeff Hammel <jhammel@mozilla.com>
parents:
33
diff
changeset
|
26 'abfoor' |
38 | 27 |
28 Lets test the Fibonnaci sequence:: | |
29 | |
30 >>> fib = inifactory.load('fibonacci') | |
31 >>> fib(0) == fib(1) == 1 | |
32 True | |
33 >>> [fib(i) for i in range(5)] | |
34 [1, 1, 2, 3, 5] | |
54
f724db086125
houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
35 |
59
6b48dee5b92b
add a failing test for wrapper of type [foo:@:fibonacci]
Jeff Hammel <jhammel@mozilla.com>
parents:
54
diff
changeset
|
36 Now let's test a simple wrapper, [readable-fibonacci:@:%(here)s/objects.py:fib]:: |
54
f724db086125
houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
37 |
f724db086125
houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
38 >>> fib = inifactory.load('readable-fibonacci') |
f724db086125
houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
39 >>> [fib(i) for i in range(5)] |
f724db086125
houston, we have a pyloader
Jeff Hammel <jhammel@mozilla.com>
parents:
38
diff
changeset
|
40 ['one', 'one', 'two', 'three', 5] |
59
6b48dee5b92b
add a failing test for wrapper of type [foo:@:fibonacci]
Jeff Hammel <jhammel@mozilla.com>
parents:
54
diff
changeset
|
41 |
6b48dee5b92b
add a failing test for wrapper of type [foo:@:fibonacci]
Jeff Hammel <jhammel@mozilla.com>
parents:
54
diff
changeset
|
42 A different kind of wrapper, [foo:@:fibonacci]:: |
6b48dee5b92b
add a failing test for wrapper of type [foo:@:fibonacci]
Jeff Hammel <jhammel@mozilla.com>
parents:
54
diff
changeset
|
43 |
6b48dee5b92b
add a failing test for wrapper of type [foo:@:fibonacci]
Jeff Hammel <jhammel@mozilla.com>
parents:
54
diff
changeset
|
44 >>> fib = inifactory.load('foo') |
61
926caecf385d
check in a passing test for a change
Jeff Hammel <jhammel@mozilla.com>
parents:
59
diff
changeset
|
45 >>> 'objects.py.Wrapper' in repr(fib) |
926caecf385d
check in a passing test for a change
Jeff Hammel <jhammel@mozilla.com>
parents:
59
diff
changeset
|
46 True |
926caecf385d
check in a passing test for a change
Jeff Hammel <jhammel@mozilla.com>
parents:
59
diff
changeset
|
47 >>> inifactory.config['foo']['kwargs']['app'] |
926caecf385d
check in a passing test for a change
Jeff Hammel <jhammel@mozilla.com>
parents:
59
diff
changeset
|
48 '%(fibonacci)s' |
62
97800b02f636
shouldnt need to go through the whole sequence when youre wrapping a known section
Jeff Hammel <jhammel@mozilla.com>
parents:
61
diff
changeset
|
49 |