InlineStyleTransformer = require('../../src/services/inline-style-transformer').default
{ipcRenderer} = require 'electron'
describe "InlineStyleTransformer", ->
describe "run", ->
beforeEach ->
spyOn(ipcRenderer, 'send')
spyOn(InlineStyleTransformer, '_injectUserAgentStyles').andCallFake (input) =>
return input
InlineStyleTransformer._inlineStylePromises = {}
it "should return a Promise", ->
expect(InlineStyleTransformer.run("asd") instanceof Promise).toBe(true)
it "should resolve immediately if the html is empty", ->
result = InlineStyleTransformer.run("")
expect(result.isResolved()).toBe(true)
it "should resolve immediately if there is no
""")
expect(ipcRenderer.send.mostRecentCall.args[1].html).toEqual("""
""")
it "should add user agent styles", ->
InlineStyleTransformer.run("""Other content goes here""")
expect(InlineStyleTransformer._injectUserAgentStyles).toHaveBeenCalled()
it "should fire inline-style-parse to the main process", ->
InlineStyleTransformer.run("""Other content goes here""")
expect(ipcRenderer.send).toHaveBeenCalled()
expect(ipcRenderer.send.mostRecentCall.args[0]).toEqual('inline-style-parse')