Skip to content

Commit

Permalink
initial setup
Browse files Browse the repository at this point in the history
  • Loading branch information
EndangeredMassa committed Mar 16, 2012
0 parents commit c683046
Show file tree
Hide file tree
Showing 9 changed files with 80 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
@@ -0,0 +1,3 @@
node_modules/**
.DS_STORE
.DS_Store
2 changes: 2 additions & 0 deletions Procfile
@@ -0,0 +1,2 @@
coffee: coffee -wc -o public/javascripts/ client/

7 changes: 7 additions & 0 deletions package.json
@@ -0,0 +1,7 @@
{
"name": "chat-server",
"version": "0.0.1",
"dependencies": {
"coffee-script": ""
}
}
9 changes: 9 additions & 0 deletions script/spec.watchr
@@ -0,0 +1,9 @@
def jessie
system('jessie spec -f nested')
puts "====================="
end

watch('spec/.*\.coffee') { jessie() }
watch('server/.*\.coffee') { jessie() }


14 changes: 14 additions & 0 deletions server/messager.coffee
@@ -0,0 +1,14 @@
{EventEmitter} = require('events')

Messager = new EventEmitter

messages = []

Messager.add = (message) ->
messages.push(message)
@emit('add', message)

Messager.messages = ->
messages

exports.Messager = Messager
8 changes: 8 additions & 0 deletions server/user.coffee
@@ -0,0 +1,8 @@
class User
constructor: (@name, @password) ->
validate: ->
true
@toString: ->
'User'

exports.User = User
19 changes: 19 additions & 0 deletions spec/messager_spec.coffee
@@ -0,0 +1,19 @@
{Messager} = require_root ('server/messager.coffee')

describe 'Messager', ->
it 'adds and retrieves messages', ->
message = 'hey there!'
Messager.add(message)
messages = Messager.messages()
expect(messages[0]).toBe(message)

it 'notifies listeners of new messages', ->
message = 'hello sir!'
notification = null
Messager.on 'add', (eventMessage) ->
notification = eventMessage
Messager.add(message)
waitsFor ->
notification?


8 changes: 8 additions & 0 deletions spec/spec_helper.js
@@ -0,0 +1,8 @@
require('coffee-script')

global.require_root = function(path) {
var rootPath = process.env.PWD + '/' + path
return require (rootPath)
}


10 changes: 10 additions & 0 deletions spec/user_spec.coffee
@@ -0,0 +1,10 @@
{User} = require_root('server/user.coffee')

describe User, ->
it 'validates a username and password', ->
user = new User
user.name = 'pickles'
user.password = '123password'
success = user.validate()
expect(success).toBe(true)

0 comments on commit c683046

Please sign in to comment.