# frozen_string_literal: true RSpec.describe "constants match ruby" do let(:ctx) { MiniRacer::Context.new } def parse(file) # mini racer doesn't handle JS modules so we'll do this hack source = File.read("#{Rails.root}/app/assets/javascripts/#{file}") source.gsub!(/^export */, '') ctx.eval(source) end it "has the correct values" do parse("discourse/app/lib/constants.js") parse("pretty-text/addon/emoji/version.js") priorities = ctx.eval("SEARCH_PRIORITIES") Searchable::PRIORITIES.each do |key, value| expect(priorities[key.to_s]).to eq(value) end expect(ctx.eval("SEARCH_PHRASE_REGEXP")).to eq(Search::PHRASE_MATCH_REGEXP_PATTERN) expect(ctx.eval("IMAGE_VERSION")).to eq(Emoji::EMOJI_VERSION) end end