--- /dev/null
+require 'test_helper'
+require 'json'
+
+class NodeMincerTest < Minitest::Test
+ DUMMY_PATH = 'test/dummy_node_mincer'
+
+ def test_font_helper_without_suffix
+ assert_match %r(url\(['"]?/assets/.*eot['"]?\)), @css
+ end
+
+ def test_font_helper_with_suffix_sharp
+ assert_match %r(url\(['"]?/assets/.*svg#.+['"]?\)), @css
+ end
+
+ def test_font_helper_with_suffix_question
+ assert_match %r(url\(['"]?/assets/.*eot\?.*['"]?\)), @css
+ end
+
+ def test_image_helper
+ assert_match %r(url\(['"]?/assets/apple-touch-icon-144-precomposed.*png['"]?\)), @css
+ end
+
+ def setup
+ tmp_dir = File.join GEM_PATH, 'tmp/node-mincer'
+ success = Dir.chdir DUMMY_PATH do
+ silence_stdout_if !ENV['VERBOSE'] do
+ system 'node', 'manifest.js', tmp_dir
+ end
+ end
+ assert success, 'Node.js Mincer compilation failed'
+ manifest = JSON.parse(File.read("#{tmp_dir}/manifest.json"))
+ css_name = manifest['assets']['application.css']
+ @css = File.read("#{tmp_dir}/#{css_name}")
+ end
+end