Context-aware systems keep on emerging as an intrinsic part of everyday activities. To cope with such situations, programming languages are extended to support the notion of context. Although context-oriented programming languages exist for over 15 years, they were tested for their suitability for developing context-aware systems only to a limited extent. In this paper, we propose a framework for analyzing the suitability of context-oriented languages from a wider viewpoint. Using this framework, we are able to examine context definition and activation, reasoning capabilities, process aspects of how to work with the language, and other pragmatic considerations. To demonstrate the use of the framework, we apply it to analyze three context-oriented programming languages: ServalCJ, Subjective-C, and COBPjs which represent the major Context-Oriented Programming themes. We evaluate the capabilities of each language using the purposed framework. Developers of context-oriented programming languages can use the framework to improve their languages and the associated development and supporting tools. Furthermore, such analysis can support users of context-oriented programming languages in deciding the language that best suits their needs.