diff --git a/app/decorators/asciicast_decorator.rb b/app/decorators/asciicast_decorator.rb index def5c59..44791c3 100644 --- a/app/decorators/asciicast_decorator.rb +++ b/app/decorators/asciicast_decorator.rb @@ -53,6 +53,8 @@ class AsciicastDecorator < ApplicationDecorator end def os + return 'unknown' if uname.blank? + if uname =~ /Linux/ 'Linux' elsif uname =~ /Darwin/ diff --git a/spec/decorators/asciicast_decorator_spec.rb b/spec/decorators/asciicast_decorator_spec.rb index ba530fc..ca82485 100644 --- a/spec/decorators/asciicast_decorator_spec.rb +++ b/spec/decorators/asciicast_decorator_spec.rb @@ -2,4 +2,13 @@ require 'spec_helper' describe AsciicastDecorator do before { ApplicationController.new.set_current_view_context } + + describe '#os' do + it 'returns "unknown" when uname is blank' do + asciicast = Asciicast.new + asciicast.uname = nil + decorated_asciicast = AsciicastDecorator.new(asciicast) + decorated_asciicast.os.should == 'unknown' + end + end end