 
   describe '#getPlacementAndConstrain', ->
     it 'wraps #getPlacementFromCardinal and #constrainToViewport methods and does not alter', ->
-      @dom.css(position:'absolute', top:200, left:0)
+      @dom.css(width:'auto', top:200, left:0)
       pos = @east_direc.getPlacementAndConstrain()
       expect(pos.cardinal).toEqual('east')
 
     it 'wraps #getPlacementFromCardinal and #constrainToViewport methods and alters', ->
-      @dom.css(position:'absolute', top:200, right:0)
+      @dom.css(width:'auto', top:200, right:0)
       pos = @east_direc.getPlacementAndConstrain()
       expect(pos.cardinal).toEqual('west')
 


  afterEach ->
    $('.demo').remove()
    @dom.css(position:'static', top:"auto", left:"auto", bottom:"auto", right:"auto")


  describe '#constructor', ->

  # postions are sometimes awkward
  describe '#constrainToViewport', ->
    it 'repositions the item on stage when north is offscreen', ->
      @dom.css(left:'50%')
      pos = @north_direc.getPlacementFromCardinal()
      suggested = @north_direc.constrainToViewport(pos)
      expect(suggested.cardinal).toEqual('south')

    it 'repositions the item on stage when south is offscreen', ->
      @dom.css(width:'auto', top:'auto', bottom:-400000, left:'50%') # the bottom is set really low because when we're building the report it can be long
      pos = @south_direc.getPlacementFromCardinal()
      suggested = @south_direc.constrainToViewport(pos)
      expect(suggested.cardinal).toEqual('north')
