Bemuse v54.0.1
Initializing
  • passes: 30
  • failures: 0
  • duration: 0.05s
  • ./app/entities/Options.spec.js

    • Options

      • Lane cover

        • should be a number0ms ‣

          var e=new r
          c()(e._expr(e._capt(0===e._capt(e._capt(a,"arguments/0/left/callee/object").laneCover(e._capt({"player.P1.lane-cover":"0"},"arguments/0/left/arguments/0")),"arguments/0/left"),"arguments/0"),{content:"assert(Options.laneCover({ 'player.P1.lane-cover': '0' }) === 0)",filepath:"Options.spec.js",line:14}))
        • should be maximum 50%0ms ‣

          var e=new r
          c()(e._expr(e._capt(.5===e._capt(e._capt(a,"arguments/0/left/callee/object").laneCover(e._capt({"player.P1.lane-cover":"99"},"arguments/0/left/arguments/0")),"arguments/0/left"),"arguments/0"),{content:"assert(Options.laneCover({ 'player.P1.lane-cover': '99' }) === 0.5)",filepath:"Options.spec.js",line:17}))
        • should be minimum -50%0ms ‣

          var e=new r
          c()(e._expr(e._capt(e._capt(e._capt(a,"arguments/0/left/callee/object").laneCover(e._capt({"player.P1.lane-cover":"-99"},"arguments/0/left/arguments/0")),"arguments/0/left")===e._capt(-.5,"arguments/0/right"),"arguments/0"),{content:"assert(Options.laneCover({ 'player.P1.lane-cover': '-99' }) === -0.5)",filepath:"Options.spec.js",line:20}))
      • key config

        • can be set and get1ms ‣

          (0,s.$v)(a.initialState).when(i(u.CHANGE_KEY_MAPPING({mode:"KB",key:"4",keyCode:"65"}))).then(a.getKeyMapping("KB","4"),(0,s.We)("65"))
        • can be retrieved for current mode by column0ms ‣

          (0,s.$v)(a.initialState).when(i(u.CHANGE_PLAY_MODE({mode:"KB"}))).then(a.keyboardMapping,(e=>{var t=new r
          c()(t._expr(t._capt("32"===t._capt(t._capt(e,"arguments/0/left/object")[4],"arguments/0/left"),"arguments/0"),{content:"assert(mapping['4'] === '32')",filepath:"Options.spec.js",line:38}))})),(0,s.$v)(a.initialState).when(i(u.CHANGE_PLAY_MODE({mode:"BM"}))).then(a.keyboardMapping,(e=>{var t=new r
          c()(t._expr(t._capt("68"===t._capt(t._capt(e,"arguments/0/left/object")[4],"arguments/0/left"),"arguments/0"),{content:"assert(mapping['4'] === '68')",filepath:"Options.spec.js",line:44}))}))
        • key setting progression (in options screen)

          • SC → SC20ms ‣

            var e=new r,t=new r
            c()(e._expr(e._capt("SC2"===e._capt(e._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("SC","left"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('SC', 'left') === 'SC2')",filepath:"Options.spec.js",line:49})),c()(t._expr(t._capt("SC2"===t._capt(t._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("SC","right"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('SC', 'right') === 'SC2')",filepath:"Options.spec.js",line:50}))
          • 1 → 20ms ‣

            var e=new r,t=new r,n=new r
            c()(e._expr(e._capt("2"===e._capt(e._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("1","left"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('1', 'left') === '2')",filepath:"Options.spec.js",line:53})),c()(t._expr(t._capt("2"===t._capt(t._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("1","right"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('1', 'right') === '2')",filepath:"Options.spec.js",line:54})),c()(n._expr(n._capt("2"===n._capt(n._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("1","off"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('1', 'off') === '2')",filepath:"Options.spec.js",line:55}))
          • 7 → done (scratch off / left)0ms ‣

            var e=new r,t=new r
            c()(e._expr(e._capt(null===e._capt(e._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("7","off"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('7', 'off') === null)",filepath:"Options.spec.js",line:58})),c()(t._expr(t._capt(null===t._capt(t._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("7","left"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('7', 'left') === null)",filepath:"Options.spec.js",line:59}))
          • 7 → SC (scratch right)0ms ‣

            var e=new r
            c()(e._expr(e._capt("SC"===e._capt(e._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("7","right"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('7', 'right') === 'SC')",filepath:"Options.spec.js",line:62}))
          • SC2 → done (scratch right)0ms ‣

            var e=new r
            c()(e._expr(e._capt(null===e._capt(e._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("SC2","right"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('SC2', 'right') === null)",filepath:"Options.spec.js",line:65}))
          • SC2 → 1 (scratch left)0ms ‣

            var e=new r
            c()(e._expr(e._capt("1"===e._capt(e._capt(a,"arguments/0/left/callee/object").nextKeyToEdit("SC2","left"),"arguments/0/left"),"arguments/0"),{content:"assert(Options.nextKeyToEdit('SC2', 'left') === '1')",filepath:"Options.spec.js",line:68}))
      • speed

        • can be set and get0ms ‣

          (0,s.$v)(a.initialState).when(i(u.CHANGE_SPEED({speed:4.5}))).then(a.speed,(0,s.We)(4.5))
      • lead time

        • defaults to 1685 ms (initial speed of tutorial)0ms ‣

          (0,s.$v)(a.initialState).then(a.leadTime,(0,s.We)(1685))
      • scratch position

        • switches to keyboard mode if off0ms ‣

          (0,s.$v)(a.initialState).when(i(u.CHANGE_SCRATCH_POSITION({position:"off"}))).then(a.scratchPosition,(0,s.We)("off")).and((e=>{var t=new r
          c()(t._expr(t._capt("KB"===t._capt(t._capt(e,"arguments/0/left/object")["player.P1.mode"],"arguments/0/left"),"arguments/0"),{content:"assert(state['player.P1.mode'] === 'KB')",filepath:"Options.spec.js",line:93}))}))
        • switches to BMS mode if on0ms ‣

          (0,s.$v)(a.initialState).when(i(u.CHANGE_SCRATCH_POSITION({position:"right"}))).then(a.scratchPosition,(0,s.We)("right")).and((e=>{var t=new r
          c()(t._expr(t._capt("BM"===t._capt(t._capt(e,"arguments/0/left/object")["player.P1.mode"],"arguments/0/left"),"arguments/0"),{content:"assert(state['player.P1.mode'] === 'BM')",filepath:"Options.spec.js",line:101}))}))
        • remembers previous scratch position prior to turning off0ms ‣

          (0,s.$v)(a.initialState).when(i(u.CHANGE_SCRATCH_POSITION({position:"right"}))).and(i(u.CHANGE_SCRATCH_POSITION({position:"off"}))).then(a.scratchPosition,(0,s.We)("off")).and((e=>{var t=new r,n=new r
          c()(t._expr(t._capt("KB"===t._capt(t._capt(e,"arguments/0/left/object")["player.P1.mode"],"arguments/0/left"),"arguments/0"),{content:"assert(state['player.P1.mode'] === 'KB')",filepath:"Options.spec.js",line:110})),c()(n._expr(n._capt("right"===n._capt(n._capt(e,"arguments/0/left/object")["player.P1.scratch"],"arguments/0/left"),"arguments/0"),{content:"assert(state['player.P1.scratch'] === 'right')",filepath:"Options.spec.js",line:111}))}))
      • background animations

        • defaults to true0ms ‣

          (0,s.$v)(a.initialState).then(e,(0,s.We)(n))
        • can be toggled1ms ‣

          (0,s.$v)(a.initialState).when(t).then(e,(0,s.We)(!n))
        • can be toggled again0ms ‣

          (0,s.$v)(a.initialState).when(t).and(t).then(e,(0,s.We)(n))
      • auto velocity

        • defaults to false0ms ‣

          (0,s.$v)(a.initialState).then(e,(0,s.We)(n))
        • can be toggled0ms ‣

          (0,s.$v)(a.initialState).when(t).then(e,(0,s.We)(!n))
        • can be toggled again0ms ‣

          (0,s.$v)(a.initialState).when(t).and(t).then(e,(0,s.We)(n))
      • expert gauge

        • defaults to false1ms ‣

          (0,s.$v)(a.initialState).then(e,(0,s.We)(n))
        • can be toggled0ms ‣

          (0,s.$v)(a.initialState).when(t).then(e,(0,s.We)(!n))
        • can be toggled again0ms ‣

          (0,s.$v)(a.initialState).when(t).and(t).then(e,(0,s.We)(n))
      • new feature announcements

        • should track its acknowledgement0ms ‣

          (0,s.$v)(a.initialState).then(a.hasAcknowledged("twitter"),(0,s.We)(!1))
        • can be acknowledged by the user0ms ‣

          (0,s.$v)(a.initialState).when(i(u.ACKNOWLEDGE({featureKey:"twitter"}))).then(a.hasAcknowledged("twitter"),(0,s.We)(!0))
      • auto/input latency

        • defaults to 00ms ‣

          (0,s.$v)(a.initialState).then(a.audioInputLatency,(0,s.We)(0))
        • can be adjusted0ms ‣

          (0,s.$v)(a.initialState).when(i(u.CHANGE_AUDIO_INPUT_LATENCY({latency:32}))).then(a.audioInputLatency,(0,s.We)(32))
      • last used version

        • should be tracked so that it can display “what’s new” dialog0ms ‣

          (0,s.$v)(a.initialState).when(i(u.UPDATE_LAST_SEEN_VERSION({newVersion:"50.0"}))).then(a.lastSeenVersion,(0,s.We)("50.0"))