discourse/spec/lib/discourse_sourcemapping_url...

34 lines
1.0 KiB
Ruby

# frozen_string_literal: true
require "discourse_sourcemapping_url_processor"
RSpec.describe DiscourseSourcemappingUrlProcessor do
def process(input)
env = Sprockets::Environment.new
env.context_class.class_eval do
def resolve(path, **kargs)
"/assets/mapped.js.map"
end
def asset_path(path, options = {})
"/assets/mapped-HEXGOESHERE.js.map"
end
end
input = { environment: env, data: input, name: "mapped", filename: "mapped.js", metadata: {} }
DiscourseSourcemappingUrlProcessor.call(input)[:data]
end
it "maintains relative paths" do
output = process "var mapped;\n//# sourceMappingURL=mapped.js.map"
expect(output).to eq("var mapped;\n//# sourceMappingURL=mapped-HEXGOESHERE.js.map\n//!\n")
end
it "uses default behaviour for non-adjacent relative paths" do
output = process "var mapped;\n//# sourceMappingURL=/assets/mapped.js.map"
expect(output).to eq(
"var mapped;\n//# sourceMappingURL=/assets/mapped-HEXGOESHERE.js.map\n//!\n",
)
end
end