Sha256: b4385c1579635b77eb3b09782d5366ad5d268d86adfeddd7117d04b66eada866

Contents?: true

Size: 1.91 KB

Versions: 19

Compression:

Stored size: 1.91 KB

Contents

describe "Joosy", ->

  it "generates proper UUIDs", ->
    uuids = []
    2.times -> uuids.push Joosy.uuid()
    expect(uuids.unique().length).toEqual(2)
    expect(uuids[0]).toMatch /[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}/

  it "generates proper UIDs", ->
    uids = []
    5.times -> uids.push Joosy.uid()
    expect(uids.unique().length).toEqual(5)

  it "builds proper URLs", ->
    expect(Joosy.buildUrl 'http://www.org').toEqual('http://www.org')
    expect(Joosy.buildUrl 'http://www.org#hash').toEqual('http://www.org#hash')
    expect(Joosy.buildUrl 'http://www.org', {foo: 'bar'}).toEqual('http://www.org?foo=bar')
    expect(Joosy.buildUrl 'http://www.org?bar=baz', {foo: 'bar'}).toEqual('http://www.org?bar=baz&foo=bar')

  describe "namespacer", ->
    it "declares", ->
      Joosy.namespace 'Namespaces.Test1'
      Joosy.namespace 'Namespaces.Test2', ->
        @bingo = 'bongo'

      expect(window.Namespaces.Test1).toBeDefined()
      expect(window.Namespaces.Test2.bingo).toEqual('bongo')

    it "imprints path", ->
      Joosy.namespace 'Irish', ->
        class @Pub extends Joosy.Module

      Joosy.namespace 'British', ->
        class @Pub extends Joosy.Module

      Joosy.namespace 'Keltic', ->
        class @Pub extends Irish.Pub

      expect(Irish.Pub.__namespace__).toEqual ["Irish"]
      expect(British.Pub.__namespace__).toEqual ["British"]
      expect(Keltic.Pub.__namespace__).toEqual ["Keltic"]

      Joosy.namespace 'Deeply.Nested', ->
        class @Klass extends Joosy.Module

      expect(Deeply.Nested.Klass.__namespace__).toEqual ["Deeply", "Nested"]

      class @Flat extends Joosy.Module

      expect(@Flat.__namespace__).toEqual []

  it "declares helpers", ->
    Joosy.helpers 'Hoge', ->
      @fuga = ->
        "piyo"

    expect(window.Joosy.Helpers).toBeDefined()
    expect(window.Joosy.Helpers.Hoge).toBeDefined()
    expect(window.Joosy.Helpers.Hoge.fuga()).toBe "piyo"

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
joosy-1.2.0.alpha.73 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.71 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.70 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.68 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.67 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.66 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.65 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.64 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.63 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.62 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.59 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.58 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.57 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.56 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.55 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.54 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.53 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.52 spec/joosy/core/joosy_spec.coffee
joosy-1.2.0.alpha.51 spec/joosy/core/joosy_spec.coffee