File indexing completed on 2024-12-08 04:20:21
0001 # -*- coding: utf-8 -*- 0002 # Copyright 2009 Simon Edwards <simon@simonzone.com> 0003 # 0004 # This program is free software; you can redistribute it and/or modify 0005 # it under the terms of the GNU General Public License as published by 0006 # the Free Software Foundation; either version 2 of the License, or 0007 # (at your option) any later version. 0008 # 0009 # This program is distributed in the hope that it will be useful, 0010 # but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 # GNU General Public License for more details. 0013 # 0014 # You should have received a copy of the GNU General Public License 0015 # along with this program; if not, write to the 0016 # Free Software Foundation, Inc., 0017 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 0018 0019 import unittest 0020 import pplexer 0021 0022 class TestPpParser(unittest.TestCase): 0023 # def setUp(self): 0024 # self.parser = ppparser.PpParser() 0025 # self.syms = cppsymboldata.SymbolData() 0026 0027 def testFixDoc(self): 0028 print(pplexer.fixDoc(""" 0029 enum TimeFormatOption { 0030 TimeDefault = 0x0, ///< Default formatting using seconds and the format 0031 ///< as specified by the locale. 0032 TimeDuration = 0x6 ///< Read/format time string as duration. This will strip 0033 }; 0034 """.split('\n')))#,[],[])) 0035 0036 def testDefinesFunction(self): 0037 print(pplexer.preprocess(""" 0038 /** 0039 * http://freedesktop.org/standards/xesam/1.0/core#definesClass 0040 * 0041 * Source code defines class 0042 */ 0043 SOPRANO_EXPORT QUrl definesClass(); 0044 0045 """)) 0046 0047 def testDefinesFunction2(self): 0048 print(pplexer.preprocess("""/* 0049 * foo 0050 */ 0051 0052 #ifndef _SOPRANO_SERVER_DBUS_CLIENT_H_ 0053 #define _SOPRANO_SERVER_DBUS_CLIENT_H_ 0054 0055 #include <QtCore/QObject> 0056 0057 #include "backend.h" 0058 #include "error.h" 0059 #include "soprano_export.h" 0060 0061 namespace Soprano { 0062 0063 class Model; 0064 0065 }; 0066 #endif 0067 """)) 0068 0069 def testComments(self): 0070 print(pplexer.preprocess(""" 0071 class Foo { 0072 public: 0073 /** 0074 * bar docs. 0075 */ 0076 void bar(); 0077 }; 0078 0079 """)) 0080 0081 0082 if __name__ == '__main__': 0083 unittest.main()