|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2183 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2183.
Report 2183 Actions
Problem Report Number 2183 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1102 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Motif Toolkit Certification Program The Open Brand certification program Test Suite VSM version 4.0.0 Test Identification widgets/XmTextField 4 Problem Summary TSD4M.00008 This is the test suite case. Reference to report.zw008 for test case XmTextSetSelection 1 and report.zw009 for test case XmTextFieldSetSelection 1. The test case is in /vsw5/vsm4/tset/widgets/textf.c.... Problem Text
This is the test suite case.
Reference to report.zw008 for test case XmTextSetSelection 1 and
report.zw009 for test case XmTextFieldSetSelection 1.
The test case is in /vsw5/vsm4/tset/widgets/textf.c.
For such failure case:
"PREP:Click KeyBackspace (delete-previous-char)
TEST: deletes the character of text before insertion cursr.
ERROR: Didn't receive expected callback(s) XmNmotionVerifyCallback of widget XmT
extField of class xmTextFieldWidgetClass. Received 0, Expected 1":
X/Open Waiver Reference: TSD4M.00008 Page: 1
WAIVER DOCUMENT X/Open Waiver Reference: TSD4M.00008
The keypoint calling sequence is:
(*testWidgetClassInfo->proc_TestBehavior)
(testWidgetClassInfo, parentWidgetInfo);
/* vsm4/tset/widgets/textf.c case test4A */
( testWidgetClassInfo = iXmTextFieldWidgetClass;
See: static int open_func() function in the same textf.c file */
static void TestBehavior(widget_class_info, parent_info)
MvsWidgetClassInfo *widget_class_info;
MvsWidgetInfoRecord *parent_info;
{
/* vsm4/src/mvslib/instances/TextF.c */
In above function calls:
mvsTextFieldBehaviorSet(widget_class_info,parent_info,focus_mode,
args,nargs, i+1);
"mvsTextFieldBehaviorSet" function is defined in
tn[2] = 2 ; tresult = 0 ;
msg_prep("Click KeyBackspace (delete-previous-char)");
XmTextFieldSetInsertionPosition(Text_info->widget,50 ) ;
mvsClearCallbacks();
xisClickKey(KeyosfBackSpace);
tresult += mvsCheckCallbacksAndVisual(Text_info);
mvsTestVerify(tresult,3,tn) ;
Function xisClickKey(int ) is defined in
vsm4/src/xislib/primitives/ClickKey.c. KeyosfBackSpace is defined in
vsm4/src/xislib/xislib.h:
#define KeyosfBackSpace NoModifierKeys, _KeyosfBackSpace
For NoModifierKeys:
xislib.h:#define NoModifierKeys 0
For _KeyosfBackSpace:
xislib.h:#define _KeyosfBackSpace (_KeyosfAddMode+1)
xislib.h:#define _KeyosfAddMode (_KeyosfActivate+1)
xislib.h:#define _KeyosfActivate (_KeyNone+1)
xislib.h:#define _KeyNone 0
So that _KeyosfBackSpace is 3.
In function xisClickKey, it calls the following code to set the
expected callbacks:
(*current_object->proc_InformExpectedActions)
(xisInform.event_code);
The "current_object" here contains XmTextField, so the above line code calls
"static void SetExpectedActions(event)
int event;
{"
in file vsm4/src/mvslib/instances/TextF.c, in this SetExpectedActions function,
switch(event) {
......................
X/Open Waiver Reference: TSD4M.00008 Page: 2
WAIVER DOCUMENT X/Open Waiver Reference: TSD4M.00008
case EventKeyClick:
......................
if ((mvsGetLocalResource(mvs_w_info, XmNpendingDelete) != TRUE) ||
(mvsIsCursorInSelection(mvs_w_info) != TRUE)) {
mvsDebugAssert(mvs_w_info,"Text_delete_previous_character 20);
mvsExpectSomeCoupledCallbacks(mvs_w_info,XmNmodifyVerifyCallback,
XmCR_MODIFYING_TEXT_VALUE,
XmNvalueChangedCallback,
XmCR_VALUE_CHANGED);
mvsExpect1MoreCallback(mvs_w_info,XmNmotionVerifyCallback,
XmCR_MOVING_INSERT_CURSOR);
}
mvsAssertion(mvs_w_info, "deletes the character of text before inser
tion cursr.");
........................
XmNmodifyVerifyCallback and XmNmotionVerifyCallback reference the following
structure:
typedef struct
{
int reason;
XEvent *event;
Boolean doit;
long currInsert, newInsert;
long startPos, endPos;
XmTextBlock text;
} XmTextVerifyCallbackStruct, *XmTextVerifyPtr;
start_pos specifies the location at which to start modifying text. start_pos is
unused if the callback resource is XmNmotionVerifyCallback.
It seems to me there is no need to expect XmNmotionVerifyCallback after we
set to expect XmNmodifyVerifyCallback, since here we have already moved the
cursor to the current place and cleared its callbacks before we delete previous
character:
XmTextFieldSetInsertionPosition(Text_info->widget,50 ) ;
mvsClearCallbacks();
We can find similar case in the same function SetExpectedActions when the event
of "EventKeyClick" is KeyosfClear, it only set XmNmodifyVerifyCallback(line 530).
For such error:
"PREP: Click KeyPrimaryCopy (copy-primary)
TEST: Copies the primary selection to the insertion cursor
ERROR: Didn't receive expected callback(s) XmNgainPrimaryCallback of widget XmTe
xtField of class xmTextFieldWidgetClass. Received 0, Expected 1"
Please reference to report.zw008 for test case XmTextSetSelection 1 and
report.zw009 for test case XmTextFieldSetSelection 1. Only the first time call
XmTextField or XmText can receive XmNgainPrimaryCallback callback.
X/Open Waiver Reference: TSD4M.00008 Page: 3
WAIVER DOCUMENT X/Open Waiver Reference: TSD4M.00008Review Information
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 2183
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority