spec/sinatra/bootstrap/css_spec.rb in skellington-0.8.9 vs spec/sinatra/bootstrap/css_spec.rb in skellington-0.9.0.pre.rc1

- old
+ new

@@ -1,153 +1,162 @@ module Skellington describe CLI do - let :subject do - described_class.new - end + context 'sinatra' do + let :subject do + described_class.new + end - it 'installs bootstrap' do - subject.generate 'dummy-app' + it 'installs bootstrap' do + subject.generate 'dummy-app' - expect(File).to exist 'dummy_app/public/sass/palettes/_default.scss' - expect('dummy_app/public/sass/_colours.scss').to have_content ( - """ - @import 'palettes/default'; + expect(File).to exist 'dummy_app/public/sass/palettes/_default.scss' + expect('dummy_app/public/sass/_colours.scss').to have_content ( + """ + @import 'palettes/default'; - $brand-primary: $rgba-primary-0; - //$brand-complement: $rgba-complement-0; - //$brand-secondary-1: $rgba-secondary-1-0; - //$brand-secondary-2: $rgba-secondary-2-0; + //$brand-primary: $rgba-primary-0; + //$brand-complement: $rgba-complement-0; + //$brand-secondary-1: $rgba-secondary-1-0; + //$brand-secondary-2: $rgba-secondary-2-0; - $grey: rgb(127, 127, 127); - $light-grey: lighten($grey, 25%); - $dark-grey: darken($grey, 25%); - """ - ) - expect('dummy_app/public/sass/_fonts.scss').to have_content ( - """ - $font-primary: 'Ubuntu Mono'; - """ - ) + $grey: rgb(127, 127, 127); + $light-grey: lighten($grey, 25%); + $dark-grey: darken($grey, 25%); - expect('dummy_app/public/sass/_footer.scss').to have_content ( - """ - html { - position: relative; - min-height: 100%; - } + $theme-colors: ( + primary: $rgba-primary-0, + secondary: $rgba-secondary-1-0, + // success: $green, + // info: $cyan, + // warning: $yellow, + // danger: $red, + // light: $gray-100, + // dark: $gray-800 + ) + """ + ) + expect('dummy_app/public/sass/_fonts.scss').to have_content ( + """ + $font-primary: 'Ubuntu Mono'; + """ + ) - body { - margin-bottom: $footer-height; - } + expect('dummy_app/public/sass/_footer.scss').to have_content ( + """ + html { + position: relative; + min-height: 100%; + } - .footer { - position: absolute; - bottom: 0; - width: 100%; + body { + margin-bottom: $footer-height; + } - text-align: center; + .footer { + position: absolute; + bottom: 0; + width: 100%; - margin-top: $padding-large-vertical; - background: $brand-primary; - color: white; - height: $footer-height; + text-align: center; - padding: $padding-large-vertical $padding-large-horizontal; + background: map-get($theme-colors, primary); + color: white; + height: $footer-height; - ul { - @extend .list-inline; - } + ul { + @extend .list-inline; + } - a { - color: white; + a { + color: white; + } } - } - """ - ) + """ + ) - expect('dummy_app/public/sass/_nav.scss').to have_content ( - """ - .navbar-default { - .navbar-nav { - li { - a { - color: $brand-primary; + expect('dummy_app/public/sass/_nav.scss').to have_content ( + """ + .navbar-default { + .navbar-nav { + li { + a { + color: $brand-primary; + } } } } - } - """ - ) + """ + ) - expect('dummy_app/public/sass/_github-corner.scss').to have_content ( - """ - .octo-background { - fill: $brand-primary; - } - - .octo-arm, .octo-body { - fill: white; - } - - .github-corner:hover .octo-arm { - animation: octocat-wave 560ms ease-in-out - } - - @keyframes octocat-wave { - 0%, 100% { - transform: rotate(0) + expect('dummy_app/public/sass/_github-corner.scss').to have_content ( + """ + .octo-background { + fill: $brand-primary; } - 20%, 60% { - transform: rotate(-25deg) + .octo-arm, .octo-body { + fill: white; } - 40%, 80% { - transform: rotate(10deg) + .github-corner:hover .octo-arm { + animation: octocat-wave 560ms ease-in-out } - } - @media (max-width: 500px) { - .github-corner:hover .octo-arm { - animation: none + @keyframes octocat-wave { + 0%, 100% { + transform: rotate(0) + } + + 20%, 60% { + transform: rotate(-25deg) + } + + 40%, 80% { + transform: rotate(10deg) + } } - .github-corner .octo-arm { - animation: octocat-wave 560ms ease-in-out + @media (max-width: 500px) { + .github-corner:hover .octo-arm { + animation: none + } + + .github-corner .octo-arm { + animation: octocat-wave 560ms ease-in-out + } } - } - .github-corner { - svg { - position: absolute; - top: $navbar-height; - right: 0; + .github-corner { + svg { + position: absolute; + top: $navbar-height; + right: 0; + } } - } - """ - ) - end + """ + ) + end - it 'sets up sass' do - subject.generate 'dummy-app' + it 'sets up sass' do + subject.generate 'dummy-app' - expect('dummy_app/public/sass/styles.scss').to have_content ( - """ - @import 'variables'; - @import 'colours'; - @import 'fonts'; + expect('dummy_app/public/sass/styles.scss').to have_content ( + """ + @import 'variables'; + @import 'colours'; + @import 'fonts'; - @import 'bootstrap'; + @import '../../_sass/bootstrap'; - @import 'footer'; - @import 'nav'; - //@import 'github-corner'; + @import 'footer'; + //@import 'github-corner'; - h1 { - color: $brand-primary; - font-family: $font-primary; - } - """ - ) + h1 { + color: map-get($theme-colors, primary); + font-family: $font-primary; + } + """ + ) + end end end end