1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
# frozen_string_literal: true
RSpec.describe TTY::Platform, '#new' do
it "detects system properties" do
allow(RbConfig::CONFIG).to receive(:[]).with('arch').and_return('i686-darwin8.10.1')
platform = TTY::Platform.new
expect(platform.cpu).to eq('i686')
expect(platform.os).to eq('darwin')
expect(platform.version).to eq('8.10.1')
end
{
# aix
'powerpc-aix7.1' => ['powerpc', 'aix', '7.1'],
# bitrig
'amd64-bitrig1.0' => ['amd64', 'bitrig', '1.0'],
'armv7-bitrig1.0' => ['armv7', 'bitrig', '1.0'],
'bitrig1.0' => [nil, 'bitrig', '1.0'],
# cygwin
'i386-cygwin' => ['i386', 'cygwin', nil],
# darwin
'powerpc-darwin7' => ['powerpc', 'darwin', '7'],
'universal-darwin9' => ['universal', 'darwin', '9'],
'x86_64-darwin14.0.0' => ['x86_64', 'darwin', '14.0.0'],
'x86_64-darwin' => ['x86_64', 'darwin', nil],
# freebsd
'amd64-freebsd10.1' => ['amd64', 'freebsd', '10.1'],
'i386-freebsd10.1' => ['i386', 'freebsd', '10.1'],
'i386-freebsd10' => ['i386', 'freebsd', '10'],
'i386-freebsd' => ['i386', 'freebsd', nil],
'universal-freebsd' => ['universal', 'freebsd', nil],
# linux
'powerpc-linux' => ['powerpc', 'linux', nil],
'i686-linux' => ['i686', 'linux', nil],
'x86_64-linux' => ['x86_64', 'linux', nil],
'i386-linux-gnu' => ['i386', 'linux', nil],
# mswin
'i386-mingw32' => ['i386', 'mingw32', nil],
'mswin32' => [nil, 'mswin32', nil],
'i386-mswin32' => ['i386', 'mswin32', nil],
'i386-mswin32_80' => ['i386', 'mswin32', '80'],
'i386-mswin32-80' => ['i386', 'mswin32', '80'],
# netbsd
'i386-netbsdelf' => ['i386', 'netbsdelf', nil],
# openbsd
'i386-openbsd4.0' => ['i386', 'openbsd', '4.0'],
'x86_64-openbsd4.0' => ['x86_64', 'openbsd', '4.0'],
# solaris
'sparc-solaris2.10' => ['sparc', 'solaris', '2.10'],
'i386-solaris2.10' => ['i386', 'solaris', '2.10'],
# wince
'i386-wince7.0' => ['i386', 'wince', '7.0'],
}.each do |arch, expected|
it "detectes #{sprintf("%-22s", "'#{arch}'")} as #{expected}" do
platform = TTY::Platform.new(arch)
expect(platform.to_a).to eq(expected)
end
end
end
|