Giter Club home page Giter Club logo

cokecuke's Introduction

CokeCuke
========

This project contains support for acceptance testing Cocos2D iPhone games with
iCuke.

Overview
--------

iCuke uses the UIKit accessibility features to scrape the contents of the
screen so that Cucumber steps may be written that interacts with a program
running in the iPhone simulator.  Unfortunately, Cocos2D is not based on
UIKit, and so Cocos2D objects (CCNodes) aren't available to iCuke.

The categories provided here allow iCuke to be used unmodified by providing
some help to it at run time.  To do this, we mimic a little bit of UIKit-like
functionality and point the way to our scene graph.  There shouldn't be any
problem shipping these categories in production - they won't be used unless
the app is run under the simulator with iCuke's preloaded library, and it
is not a lot of code.

Installation
------------

Copy the headers and Objective-C files from this directory into your project.

Node Labels
-----------

CCNodes do not have anything equivalent to a label by default, so you should
call [node setAccessibilityLabel:@"zombie"].  This allows you to say 'Given I
tap "zombie"' in the cucumber feature.

You can alternately override -accessibilityLabel when subclassing CCNode.

Node Values
-----------

iCuke uses the value returned by -accessibilityValue as a control's value.  You
can set this value with -setAccessibilityValue:.

Nodes implementing CCTextLabelProtocol will have their accessibilityValue track
the textual contents of the label unless the value is overridden with
-setAccessibilityValue:.

cokecuke's People

Contributors

eraserhd avatar

Stargazers

hewill avatar Psi Neur avatar Sungcheol Kim avatar

Watchers

John Marks avatar Ben Shippee avatar Karthik Chokkaram avatar Michael Panetta avatar Alex Damhuis avatar James Cloos avatar Tim Brenner avatar Matt Hirschfelt avatar  avatar Chad Steingraber avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.