summaryrefslogtreecommitdiffstats
path: root/tests/libsample
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2011-01-11 17:34:28 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2011-01-12 10:03:33 -0300
commit498ba2f39e64129d6911cedfd1334032350543eb (patch)
treeee785972ad9ea162c644d766d6d344b9255ba919 /tests/libsample
parentd9902755a46c299cd50550ae1c7932d1ac4d8f70 (diff)
downloadshiboken-498ba2f39e64129d6911cedfd1334032350543eb.tar.gz
shiboken-498ba2f39e64129d6911cedfd1334032350543eb.tar.xz
shiboken-498ba2f39e64129d6911cedfd1334032350543eb.zip
Added test to assert the precedence of enum arguments over int implicit conversions.
This test is inspired by bug #511 [1], and it checks the precedence of an enum argument over a class that can be implicitly built from an integer. [1] http://bugs.openbossa.org/show_bug.cgi?id=511 Reviewed by Luciano Wolf <luciano.wolf@openbossa.org> Reviewed by Renato Ara├║jo <renato.filho@openbossa.org>
Diffstat (limited to 'tests/libsample')
-rw-r--r--tests/libsample/pen.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/libsample/pen.h b/tests/libsample/pen.h
new file mode 100644
index 00000000..9c97c2e3
--- /dev/null
+++ b/tests/libsample/pen.h
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the Shiboken Python Binding Generator project.
+ *
+ * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * Contact: PySide team <contact@pyside.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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 library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef PEN_H
+#define PEN_H
+
+#include "libsamplemacros.h"
+#include "samplenamespace.h"
+
+class LIBSAMPLE_API Color
+{
+public:
+ Color() {}
+ Color(SampleNamespace::InValue arg) {}
+ Color(unsigned int arg) {}
+};
+
+class LIBSAMPLE_API Pen
+{
+public:
+ enum { EmptyCtor, EnumCtor, ColorCtor, CopyCtor };
+
+ Pen() : m_ctor(EmptyCtor) {}
+ Pen(SampleNamespace::Option option) : m_ctor(EnumCtor) {}
+ Pen(const Color& color) : m_ctor(ColorCtor) {}
+ Pen(const Pen& pen) : m_ctor(CopyCtor) {}
+
+ int ctorType() { return m_ctor; }
+private:
+ int m_ctor;
+};
+
+#endif