# Cookbook: Hello World

Work in Progress This page is currently being revised. It might be incomplete or contain inaccuracies.

     Your name: <input type="text" name="name" value="World"/>
     <hr/>
     Hello {{name}}!

      it('should change the binding when user enters text', function(){
        expect(binding('name')).toEqual('World');
        input('name').enter('angular');
        expect(binding('name')).toEqual('angular');
      });

## Things to notice

Take a look through the source and note:

- The script tag that bootstraps the angular environment.
- The text `input widget` which is bound to the greeting name text.
- No need for listener registration and event firing on change events.
- The implicit presence of the `name` variable which is in the root `scope`.
- The double curly brace `{{markup}}`, which binds the name variable to the greeting text.
- The concept of data binding, which reflects any changes to the input field in the greeting text.