25 lines
		
	
	
		
			835 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			835 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | # frozen_string_literal: true | ||
|  | 
 | ||
|  | require "utils/service" | ||
|  | 
 | ||
|  | RSpec.describe Utils::Service do | ||
|  |   describe "::systemd_quote" do | ||
|  |     it "quotes empty strings correctly" do | ||
|  |       expect(described_class.systemd_quote("")).to eq '""' | ||
|  |     end | ||
|  | 
 | ||
|  |     it "quotes strings with special characters escaped correctly" do | ||
|  |       expect(described_class.systemd_quote("\a\b\f\n\r\t\v\\")) | ||
|  |         .to eq '"\\a\\b\\f\\n\\r\\t\\v\\\\"' | ||
|  |       expect(described_class.systemd_quote("\"' ")).to eq "\"\\\"' \"" | ||
|  |     end | ||
|  | 
 | ||
|  |     it "does not escape characters that do not need escaping" do | ||
|  |       expect(described_class.systemd_quote("daemon off;")).to eq '"daemon off;"' | ||
|  |       expect(described_class.systemd_quote("--timeout=3")).to eq '"--timeout=3"' | ||
|  |       expect(described_class.systemd_quote("--answer=foo bar")) | ||
|  |         .to eq '"--answer=foo bar"' | ||
|  |     end | ||
|  |   end | ||
|  | end |