HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2183 Details

Help 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.00008


    Review 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:

     

    Back   


Contact the Certification Authority