diff options
author | Hugo Lima <hugo.lima@openbossa.org> | 2010-01-18 21:28:58 -0200 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-01-19 12:21:45 -0300 |
commit | 2e7bab62943ada0320ce0cd7c8a6d6be6e64a6f3 (patch) | |
tree | 0847854049dcda17729efb581af7f04b4bb6b0a1 /tests | |
parent | 258702853d4cc7ce09d0862cecb2fa08d986da7e (diff) |
Adds test case for overload with static and a non-static versions of a method.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/libsample/simplefile.cpp | 15 | ||||
-rw-r--r-- | tests/libsample/simplefile.h | 3 | ||||
-rwxr-xr-x | tests/samplebinding/simplefile_test.py | 2 | ||||
-rwxr-xr-x | tests/samplebinding/static_nonstatic_methods_test.py | 79 |
4 files changed, 98 insertions, 1 deletions
diff --git a/tests/libsample/simplefile.cpp b/tests/libsample/simplefile.cpp index 46844559e..c79152bac 100644 --- a/tests/libsample/simplefile.cpp +++ b/tests/libsample/simplefile.cpp @@ -32,6 +32,7 @@ * 02110-1301 USA */ +#include <fstream> #include "simplefile.h" bool @@ -56,3 +57,17 @@ SimpleFile::close() } } +bool +SimpleFile::exists() const +{ + std::ifstream ifile(m_filename); + return ifile; +} + +bool +SimpleFile::exists(const char* filename) +{ + std::ifstream ifile(filename); + return ifile; +} + diff --git a/tests/libsample/simplefile.h b/tests/libsample/simplefile.h index aad82c21e..67797e7d4 100644 --- a/tests/libsample/simplefile.h +++ b/tests/libsample/simplefile.h @@ -64,6 +64,9 @@ public: bool open(); void close(); + bool exists() const; + static bool exists(const char* filename); + private: const char* m_filename; FILE* m_descriptor; diff --git a/tests/samplebinding/simplefile_test.py b/tests/samplebinding/simplefile_test.py index e96fcce74..52e7952df 100755 --- a/tests/samplebinding/simplefile_test.py +++ b/tests/samplebinding/simplefile_test.py @@ -3,7 +3,7 @@ # # This file is part of the Shiboken Python Bindings Generator project. # -# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). # # Contact: PySide team <contact@pyside.org> # diff --git a/tests/samplebinding/static_nonstatic_methods_test.py b/tests/samplebinding/static_nonstatic_methods_test.py new file mode 100755 index 000000000..c1c7422ee --- /dev/null +++ b/tests/samplebinding/static_nonstatic_methods_test.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# This file is part of the Shiboken Python Bindings Generator project. +# +# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +# +# Contact: PySide team <contact@pyside.org> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public License +# version 2.1 as published by the Free Software Foundation. Please +# review the following information to ensure the GNU Lesser General +# Public License version 2.1 requirements will be met: +# http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +# # +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA + +'''Test cases for overloads involving static and non-static versions of a method.''' + +import os +import unittest + +from sample import SimpleFile + +class StaticNonStaticMethodsTest(unittest.TestCase): + '''Test cases for overloads involving static and non-static versions of a method.''' + + def setUp(self): + filename = 'simplefile%d.txt' % os.getpid() + self.existing_filename = os.path.join(os.path.curdir, filename) + self.delete_file = False + if not os.path.exists(self.existing_filename): + f = open(self.existing_filename, 'w') + for line in range(10): + f.write('sbrubbles\n') + f.close() + self.delete_file = True + + self.non_existing_filename = os.path.join(os.path.curdir, 'inexistingfile.txt') + i = 0 + while os.path.exists(self.non_existing_filename): + i += 1 + filename = 'inexistingfile-%d.txt' % i + self.non_existing_filename = os.path.join(os.path.curdir, filename) + + def tearDown(self): + if self.delete_file: + os.remove(self.existing_filename) + + def testCallingStaticMethodWithClass(self): + '''Call static method using class.''' + self.assert_(SimpleFile.exists(self.existing_filename)) + self.assertFalse(SimpleFile.exists(self.non_existing_filename)) + + def testCallingStaticMethodWithInstance(self): + '''Call static method using instance of class.''' + f = SimpleFile(self.non_existing_filename) + self.assert_(f.exists(self.existing_filename)) + self.assertFalse(f.exists(self.non_existing_filename)) + + def testCallingInstanceMethod(self): + '''Call instance method.''' + f1 = SimpleFile(self.non_existing_filename) + self.assertFalse(f1.exists()) + f2 = SimpleFile(self.existing_filename) + self.assert_(f2.exists()) + +if __name__ == '__main__': + unittest.main() + |