Interface Kit tests: add test for BTextControl.
* Only tests very basic functionality, and size of the class, which must not change for BeOS compatibility. * Also add "manual" test for disabled and invalid controls (just check it looks right)
This commit is contained in:
parent
a8f520f2a8
commit
48ea56bf32
@ -7,6 +7,7 @@
|
|||||||
#include "bdeskbar/DeskbarTest.h"
|
#include "bdeskbar/DeskbarTest.h"
|
||||||
#include "bpolygon/PolygonTest.h"
|
#include "bpolygon/PolygonTest.h"
|
||||||
#include "bregion/RegionTest.h"
|
#include "bregion/RegionTest.h"
|
||||||
|
#include "btextcontrol/TextControlTest.h"
|
||||||
#include "btextview/TextViewTest.h"
|
#include "btextview/TextViewTest.h"
|
||||||
//#include "bwidthbuffer/WidthBufferTest.h"
|
//#include "bwidthbuffer/WidthBufferTest.h"
|
||||||
#include "GraphicsDefsTest.h"
|
#include "GraphicsDefsTest.h"
|
||||||
@ -23,6 +24,7 @@ getTestSuite()
|
|||||||
suite->addTest("BDeskbar", DeskbarTestSuite());
|
suite->addTest("BDeskbar", DeskbarTestSuite());
|
||||||
suite->addTest("BPolygon", PolygonTestSuite());
|
suite->addTest("BPolygon", PolygonTestSuite());
|
||||||
suite->addTest("BRegion", RegionTestSuite());
|
suite->addTest("BRegion", RegionTestSuite());
|
||||||
|
suite->addTest("BTextControl", TextControlTestSuite());
|
||||||
suite->addTest("BTextView", TextViewTestSuite());
|
suite->addTest("BTextView", TextViewTestSuite());
|
||||||
//suite->addTest("_BWidthBuffer_", WidthBufferTestSuite());
|
//suite->addTest("_BWidthBuffer_", WidthBufferTestSuite());
|
||||||
suite->addTest("GraphicsDefs", GraphicsDefsTestSuite());
|
suite->addTest("GraphicsDefs", GraphicsDefsTestSuite());
|
||||||
|
@ -11,6 +11,7 @@ SEARCH_SOURCE += [ FDirName $(SUBDIR) bbitmap ] ;
|
|||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) bdeskbar ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) bdeskbar ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) bpolygon ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) bpolygon ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) bregion ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) bregion ] ;
|
||||||
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) btextcontrol ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) btextview ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) btextview ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) bwindowstack ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) bwindowstack ] ;
|
||||||
|
|
||||||
@ -50,6 +51,7 @@ UnitTestLib libinterfacetest.so
|
|||||||
RegionIntersect.cpp
|
RegionIntersect.cpp
|
||||||
RegionOffsetBy.cpp
|
RegionOffsetBy.cpp
|
||||||
|
|
||||||
|
TextControlTest.cpp
|
||||||
TextViewTest.cpp
|
TextViewTest.cpp
|
||||||
|
|
||||||
: be [ TargetLibstdc++ ]
|
: be [ TargetLibstdc++ ]
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
#include <Button.h>
|
#include <Button.h>
|
||||||
|
#include <ControlLook.h>
|
||||||
#include <GroupLayout.h>
|
#include <GroupLayout.h>
|
||||||
#include <GroupLayoutBuilder.h>
|
#include <GroupLayoutBuilder.h>
|
||||||
#include <ScrollView.h>
|
#include <ScrollView.h>
|
||||||
@ -44,6 +45,14 @@ Window::Window()
|
|||||||
{
|
{
|
||||||
fTextControl = new BTextControl("text-contr-O",
|
fTextControl = new BTextControl("text-contr-O",
|
||||||
"a single line of text - (c) Conglom-O", NULL);
|
"a single line of text - (c) Conglom-O", NULL);
|
||||||
|
|
||||||
|
BTextControl* disabled = new BTextControl("disabled",
|
||||||
|
"I'm disabled: you can't edit me", NULL);
|
||||||
|
disabled->SetEnabled(false);
|
||||||
|
BTextControl* invalid = new BTextControl("invalid",
|
||||||
|
"I'm invalid: my border is red", NULL);
|
||||||
|
invalid->MarkAsInvalid(true);
|
||||||
|
|
||||||
fTextView = new BTextView("text-O");
|
fTextView = new BTextView("text-O");
|
||||||
BScrollView* scrollView = new BScrollView("scroll-O", fTextView, 0, true,
|
BScrollView* scrollView = new BScrollView("scroll-O", fTextView, 0, true,
|
||||||
true, B_FANCY_BORDER);
|
true, B_FANCY_BORDER);
|
||||||
@ -51,6 +60,8 @@ Window::Window()
|
|||||||
SetLayout(new BGroupLayout(B_HORIZONTAL));
|
SetLayout(new BGroupLayout(B_HORIZONTAL));
|
||||||
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
.Add(fTextControl)
|
.Add(fTextControl)
|
||||||
|
.Add(disabled)
|
||||||
|
.Add(invalid)
|
||||||
.Add(scrollView)
|
.Add(scrollView)
|
||||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)
|
.Add(BGroupLayoutBuilder(B_HORIZONTAL, 10)
|
||||||
.Add(new BButton("Align Left", new BMessage(kMsgAlignLeft)))
|
.Add(new BButton("Align Left", new BMessage(kMsgAlignLeft)))
|
||||||
|
39
src/tests/kits/interface/btextcontrol/TextControlTest.cpp
Normal file
39
src/tests/kits/interface/btextcontrol/TextControlTest.cpp
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include "../common.h"
|
||||||
|
|
||||||
|
#include <Application.h>
|
||||||
|
#include <String.h>
|
||||||
|
#include <TextControl.h>
|
||||||
|
|
||||||
|
class TextControlTestcase: public TestCase {
|
||||||
|
public:
|
||||||
|
void
|
||||||
|
SizeTest()
|
||||||
|
{
|
||||||
|
CPPUNIT_ASSERT_EQUAL(312, sizeof(BTextControl));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
GetTextTest()
|
||||||
|
{
|
||||||
|
BApplication app("application/x-vnd.Haiku-interfacekit-textcontroltest");
|
||||||
|
BRect textRect(0, 0, 100, 100);
|
||||||
|
BTextControl* v = new BTextControl(textRect, "test", 0, 0, 0);
|
||||||
|
v->SetText("Initial text");
|
||||||
|
v->TextView()->Insert(8, "(inserted) ", 10);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(BString("Initial (inserted)text"), v->Text());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Test*
|
||||||
|
TextControlTestSuite()
|
||||||
|
{
|
||||||
|
TestSuite *testSuite = new TestSuite();
|
||||||
|
|
||||||
|
testSuite->addTest(new CppUnit::TestCaller<TextControlTestcase>(
|
||||||
|
"BTextControl_Size", &TextControlTestcase::SizeTest));
|
||||||
|
testSuite->addTest(new CppUnit::TestCaller<TextControlTestcase>(
|
||||||
|
"BTextControl_GetText", &TextControlTestcase::GetTextTest));
|
||||||
|
|
||||||
|
return testSuite;
|
||||||
|
}
|
10
src/tests/kits/interface/btextcontrol/TextControlTest.h
Normal file
10
src/tests/kits/interface/btextcontrol/TextControlTest.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#ifndef _text_control_test_h_
|
||||||
|
#define _text_control_test_h_
|
||||||
|
|
||||||
|
class CppUnit::Test;
|
||||||
|
|
||||||
|
CppUnit::Test *TextControlTestSuite();
|
||||||
|
|
||||||
|
#endif // text_control_test_h_
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user