Report 1766 Actions
Problem Report Number |
1766 |
Submitter's Classification |
Minor System Fault |
State |
Resolved |
Resolution |
Permanent Interpretation (PIN) |
Problem Resolution ID |
PIN.X.0212 |
Raised |
1970-01-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1998-10-05 08:00 |
Product Standard |
Window System Application Interface V2 |
Certification Program |
The Open Brand certification program |
Test Suite |
VSW version 5.0.1 |
Test Identification |
Xlib14/XDestroyIC 1 |
Specification |
Window Management (X11R5): Xlib - C Language Binding |
Location in Spec |
See Problem Text |
Problem Summary |
PIN4W.00025 This request claims that not supporting input contexts in the C locale is acceptable IUT behavior. |
Problem Text |
We have previously been refused a waiver request for this failure (See PG4W.00094) We would like to appeal against this decision and request a 14 day review of this refusal. The following is an extract from the consultants' review of the original request ... "IMs were designed to allow application developers to create internationalized applications. An application that uses IMs is designed to be used in a variety of locales. We believe that an IUT which does not support IMs in the C locale is likely to be incapable of running internationalized programs." We tend to agree with the consultants' response and the final statement seems to be reasonable enough on the surface. However, the reality of the situation is that there are many internationalised applications which run fine on our platform and the fact that we cannot create an IC for the C locale does not appear to have any significant impact.
|
Test Output |
TEST CASE: XDestroyIC TEST PURPOSE #1 Assertion XDestroyIC-1.(C) If the implementation is X11R5 or later: A call to XDestroyIC shall destroy the input context, ic, to the input method server. METH: There is not a good way to test XDestroyIC. We rely on capturing any METH: errors from the server during calls to XDestroyIC. Loop through all METH: the input method styles for all the locales, creating and destroying METH: Input Contexts. REPORT: Unable to create input context for locale, C 1 FAIL TEST CASE: XGetICValues TEST PURPOSE #1 Assertion XGetICValues-1.(C) If the implementation is X11R5 or later: A call to XGetICValues shall fetch the values specified by ic_names into the variable ic_val associated with the input context, ic. XICValues returns NULL if no error occured, otherwise it returns a pointer to the first argument that could not be set. METH: For all locales, create an input method and for all supported styles METH: create an input context, then fetch the general ic values. REPORT: Unable to create input context for locale, C 1 FAIL TEST PURPOSE #2 Assertion XGetICValues-2.(C) If the implementation is X11R5 or later: A call to XGetICValues shallfetch the values specified by ic_names into the variable ic_val associated with the input context, ic. XICValues returns NULL if no error occured, otherwise it returns a pointer to the first argument that could not be set. METH: For all locales, create an input method and for all supported styles METH: create an input context, then fetch the preedit ic values. REPORT: Unable to create input context for locale, C 2 FAIL TEST PURPOSE #3 Assertion XGetICValues-3.(C) If the implementation is X11R5 or later: A call to XGetICValues shall fetch the values specified by ic_names into the variable ic_val associated with the input context, ic. XICValues returns NULL if no error occured, otherwise it returns a pointer to the first argument that could not be set. METH: For all locales, create an input method and for all supported styles METH: create an input context, then fetch the status ic values. REPORT: Unable to create input context for locale, C 3 FAIL TEST CASE: XIMOfIC TEST PURPOSE #1 Assertion XIMOfIC-1.(C) If the implementation is X11R5 or later: A call to XIMOfIC shall return the input method, im of the input context, ic which was used to create the ic. METH: Loop through all the input method styles for all the locales, create an METH: input context, call XIMOfIC and check to see if this is the same input METH: method that was used for creating the input context. REPORT: Unable to create input context for locale, C 1 FAIL TEST CASE: XmbLookupString TEST PURPOSE #1 Assertion XmbLookupString-1.(C) If the implementation is X11R5 or later: A call to XmbLookupString shall return the string from the input method specified in the buffer_return argument. If no string is returned the buffer_return argument shall remain unchanged. The KeySym into which the KeyCode from the event was mapped shall be returned in the keysym_return argument if it is non-NULL and the status_return argument indicates that a KeySym was returned. If both a string and a KeySym are returned, the KeySym value does not necessarily correspond to the string returned. XmbLookupString returns the length of the string in bytes. The text is returned in the encoding of the locale bound to the input method of the specified input context, ic. METH: For all locales, create an input method and METH: for all supported styles create an input context, METH: Obtain the keycode corresponding to the keysym XK_b using XKeysymToKeycode. METH: Obtain the string and keysym bound to that keycode using XmbLookupString. METH: Verify that the returned string is correct. METH: Obtain the string and keysym bound to that keycode using XmbLookupString with state = S hiftMask. METH: Verify that the returned string is correct. REPORT: Unable to create input context for locale, C 1 FAIL TEST CASE: XSetICValues TEST PURPOSE #1 Assertion XSetICValues-1.(C) If the implementation is X11R5 or later: A call to XSetICValues shall set the values specified by ic_names into the variable ic_val associated with the input context, ic. XICValues returns NULL if no error occured, otherwise it returns a pointer to the first argument that could not be set. METH: For all locales, create an input method and for all supported styles METH: create an input context, for all generic ic values set the value, then METH: get the value to see if was set correctly. REPORT: Unable to create input context for locale, C 1 FAIL TEST PURPOSE #2 Assertion XSetICValues-2.(C) If the implementation is X11R5 or later: A call to XSetICValues shall set the values specified by ic_names into the variable ic_val associated with the input context, ic. XICValues returns NULL if no error occured, otherwise it returns a pointer to the first argument that could not be set. METH: For all locales, create an input method and for all supported styles METH: create an input context, for all the preedit ic values set the value, then METH: get the value to see if was set correctly. REPORT: Unable to create input context for locale, C 2 FAIL TEST PURPOSE #3 Assertion XSetICValues-3.(C) If the implementation is X11R5 or later: A call to XSetICValues shall set the values specified by ic_names into the variable ic_val associated with the input context, ic. XICValues returns NULL if no error occured, otherwise it returns a pointer to the first argument that could not be set. METH: For all locales, create an input method and for all supported styles METH: create an input context, for all the status ic values set the value, then METH: get the value to see if was set correctly. REPORT: Unable to create input context for locale, C 3 FAIL TEST PURPOSE #2 Assertion XVaCreateNestedList-2.(C) If the implementation is X11R5 or later: A call to XVaCreateNestedList shall build and return a pair wise list of parameters from an variable length list. METH: For all locales, build a variable list of one element, METH: verify that a nested list is returned. TEST: XVaCreateNestedList succeeds with one member REPORT: Unable to create input context for locale, C 2 FAIL TEST PURPOSE #3 Assertion XVaCreateNestedList-3.(C) If the implementation is X11R5 or later: A call to XVaCreateNestedList shall build and return a list of parameters from an variable length list. METH: For all locales, build a variable list of two elements, METH: verify that a nested list is returned. TEST: XVaCreateNestedList succeeds with two members REPORT: Unable to create input context for locale, C 3 FAIL TEST PURPOSE #4 Assertion XVaCreateNestedList-4.(C) If the implementation is X11R5 or later: A call to XVaCreateNestedList shall build and return a list of parameters from an variable length list. METH: For all locales, build a variable list of one element, and use this METH: argument as a parameter to a second nested list, verify that a nested METH: list is returned. TEST: XVaCreateNestedList succeeds with a VaNestedList as parameter REPORT: Unable to create input context for locale, C 4 FAIL TEST CASE: XwcLookupString TEST PURPOSE #1 Assertion XwcLookupString-1.(C) If the implementation is X11R5 or later: A call to XwcLookupString shall return the string from the input method specified in the buffer_return argument. If no string is returned the buffer_return argument shall remain unchanged. The KeySym into which the KeyCode from the event was mapped shall be returned in the keysym_return argument if it is non-NULL and the status_return argument indicates that a KeySym was returned. If both a string and a KeySym are returned, the KeySym value does not necessarily correspond to the string returned. XwcLookupString returns the length of the string in bytes. The text is returned in the encoding of the locale bound to the input method of the specified input context, ic. METH: For all locales, create an input method and METH: for all supported styles create an input context, METH: Obtain the keycode corresponding to the keysym XK_b using XKeysymToKeycode. METH: Obtain the string and keysym bound to that keycode using XwcLookupString. METH: Verify that the returned string is correct. METH: Obtain the string and keysym bound to that keycode using XwcLookupString with state = S hiftMask. METH: Verify that the returned string is correct. REPORT: Unable to create input context for locale, C 1 FAIL
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
Our opinion remains the same. We recommend this request be refused. The submitter's statement that Input Contexts (ICs) have little use in the C locale is correct. In fact, Input Methods (IMs), which require ICs before they may be used, provide no benefit in the C locale. But this is not the issue here. IMs were designed to allow application developers to create internationalized applications. An application that uses IMs is designed to be used in a variety of locales. We believe that an IUT which does not support IMs in the C locale is likely to be incapable of running internationalized programs.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The customer has appealed against the refusal, this is therefore being sent for a 14 day anonymous review.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The current X specifications are silent on this issue. There is no requirement for an Input Method to have to support the C locale or even for an X application to have to support the C locale. The members do not agree with the assertion by the consultant that an "IUT which does not support Input Methods in the C locale is likely to be incapable of running internationalized programs" We therefore recommend that a waiver be granted.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Permanent Interpretation (PIN) |
Review Conclusion |
A Permanent Interpretation is granted.
|
Problem Reporting System Options:
|