summaryrefslogtreecommitdiff
path: root/src/mmo/strs.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mmo/strs.py')
-rw-r--r--src/mmo/strs.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/mmo/strs.py b/src/mmo/strs.py
new file mode 100644
index 0000000..3e39ef4
--- /dev/null
+++ b/src/mmo/strs.py
@@ -0,0 +1,35 @@
+for s in [
+ 'AccountName',
+ 'AccountPass',
+ 'AccountCrypt',
+ 'AccountEmail',
+ 'ServerName',
+ 'PartyName',
+ 'VarName',
+ 'MapName',
+ 'CharName',
+]:
+ class OtherString(object):
+ __slots__ = ('_value')
+ name = 'tmwa::%s' % s
+ enabled = True
+
+ def __init__(self, value):
+ self._value = value
+
+ def to_string(self):
+ value = self._value
+ fields = value.type.fields()
+ field0 = fields[-1]
+ return '%s' % value[field0]
+
+ test_extra = '''
+ #include "../strings/fwd.hpp"
+ using tmwa::operator "" _s;
+ '''
+
+ tests = [
+ ('tmwa::stringish<tmwa::%s>("Hello"_s)' % s, '"Hello"'),
+ ]
+ globals()[s] = OtherString
+ del OtherString