Skip to content

Commit 4204008

Browse files
committed
Add some specs for Element.expose
1 parent 7b5c300 commit 4204008

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

spec/element_spec.rb

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,3 +224,38 @@
224224
expect(foo.html).to include('different content')
225225
end
226226
end
227+
228+
describe 'Element.expose' do
229+
subject(:element) { Element.new }
230+
before do
231+
`$.fn.exposableMethod = function() {return 123}`
232+
`$.fn.exposableMethod2 = function() {return 12}`
233+
end
234+
235+
after do
236+
`delete $.fn.exposableMethod; delete $.fn.$exposableMethod;`
237+
`delete $.fn.exposableMethod2; delete $.fn.$exposableMethod2;`
238+
end
239+
240+
it 'exposes methods defined on $.fn' do
241+
expect(element).not_to respond_to(:exposableMethod)
242+
Element.expose :exposableMethod
243+
expect(element).to respond_to(:exposableMethod)
244+
expect(element.exposableMethod).to eq(123)
245+
end
246+
247+
it 'work if exposing the same method multiple times' do
248+
Element.expose :exposableMethod
249+
Element.expose :exposableMethod
250+
expect(element.exposableMethod).to eq(123)
251+
252+
Element.expose :exposableMethod, :exposableMethod
253+
expect(element.exposableMethod).to eq(123)
254+
end
255+
256+
it 'work if exposing multiple methods' do
257+
Element.expose :exposableMethod, :exposableMethod2
258+
expect(element.exposableMethod).to eq(123)
259+
expect(element.exposableMethod2).to eq(12)
260+
end
261+
end

0 commit comments

Comments
 (0)