编辑:我通过将角度模拟降级到1.3.x解决了这个问题(我使用的是AngularJS 1.3.x)
我正在学习使用Karma和Jasmine在我的Angular应用程序上编写和运行测试.
第一次测试通过,但实现时$httpBackend,我收到以下错误:
TypeError: $browser.cookies is not a function
at sendReq (/typotheque-web/public/app/bower_components/angular/angular.js:9661:24)
at serverRequest (/typotheque-web/public/app/bower_components/angular/angular.js:9383:16)
at processQueue (/typotheque-web/public/app/bower_components/angular/angular.js:13248:27)
at /typotheque-web/public/app/bower_components/angular/angular.js:13264:27
at Scope.$eval (/typotheque-web/public/app/bower_components/angular/angular.js:14466:28)
at Scope.$digest (/typotheque-web/public/app/bower_components/angular/angular.js:14282:31)
at Function.$httpBackend.flush (/typotheque-web/public/app/bower_components/angular-mocks/angular-mocks.js:1510:38)
at Object.<anonymous> (/typotheque-web/public/test/libraryServiceSpec.js:74:17)
Run Code Online (Sandbox Code Playgroud)
有罪的代码......
// ...
var library, $httpBackend, BACKEND_URL;
beforeEach(inject(function(_Library_, _$httpBackend_) {
library = _Library_;
$httpBackend = _$httpBackend_;
BACKEND_URL = 'http://srvpartage.local:3000';
}));
// ...
describe('updateFonts()', function() {
it('should request the fonts to the server', function() {
var fonts;
$httpBackend.expectGET(BACKEND_URL+'/fonts').respond(200, [{}, {}]);
library.updateFonts(function(data) {
fonts = data; …Run Code Online (Sandbox Code Playgroud) 我正在使用Laravel Queues和beantalkd管理音频转换,并由supervisor进行监视。
当用户上传音频文件时,它会AudioController.php触发一个Queue::push('AudioProcess'),它本身也会触发一个exec('sh some_script.sh some_audio.mp3')来处理音频并将应用程序的音频模型状态设置为1完成时。
我做了很多上传测试,这是记录

1表示该AudioProcess.php工作人员已被处决,而0该AudioProcess.php工作人员尚未被处决。
我想它可能来自Laravel Queues管理或beantalkd,但我在日志中找不到任何相关内容(laravel.log,我的主管queue.log,php_errors.log)。
我在同一台服务器上运行暂存和生产环境,因此有两个Laravel应用程序,因此两个php artisan queue:listen命令同时运行(每个命令都--env指定了),如果这与我的问题有关。几周前它运行良好,然后我放弃了该项目一段时间,最近又收回了它。我做了一些apt-get update && apt-get upgrade了。
为什么Laravel或beantalkd无法处理所有作业?
当我上传一个结构良好的MP3文件,Laravel 4告诉我,这不audio/mp3,但是application/octet-stream,这使得这种验证失败:
$validator = Validator::make(
array('trackfile' => Input::file('trackfile')),
array('trackfile' => 'required|mimes:mp3')
);
if($validator->fails())
return 'doesn\'t works because mime type is '.Input::file('trackfile')->getMimeType();
else
return 'it works!';
Run Code Online (Sandbox Code Playgroud)
为什么不将文件上传为audio/mp3文件?
(我已添加'files' => true到表单声明中)
我正在使用WebRTC从网页录制输入麦克风并通过SoX处理它.
问题是,Firefox录制的是Opus Audio格式(根据VLC媒体信息),在Ogg容器中,SoX不喜欢它:
/opt/local/bin/sox FAIL formats: can't open input file `/Users/[...]/public/audio/7a0d13a501.ogg': Input not an Ogg Vorbis audio stream
有没有办法让它与SoX一起使用?或者我应该使用另一个命令行音频工具?
我正在使用Nestable.js jQuery 插件创建一个可拖放的项目列表,在后端用于管理菜单。它不再维护,但我找不到一个干净简单的替代方案,所以我告诉自己我应该尝试一下。
列表如下所示:
<div class="dd" id="nestable">
<ol class="dd-list">
<li class="dd-item" data-id="1">
<div class="dd-handle">Item 1</div>
</li>
<li class="dd-item" data-id="2">
<div class="dd-handle">Item 2</div>
<ol class="dd-list">
<li class="dd-item" data-id="3"><div class="dd-handle">Item 3</div></li>
<li class="dd-item" data-id="4"><div class="dd-handle">Item 4</div></li>
<li class="dd-item" data-id="5">
<div class="dd-handle">Item 5</div>
<ol class="dd-list">
<li class="dd-item" data-id="6"><div class="dd-handle">Item 6</div></li>
<li class="dd-item" data-id="7"><div class="dd-handle">Item 7</div></li>
<li class="dd-item" data-id="8"><div class="dd-handle">Item 8</div></li>
</ol>
</li>
<li class="dd-item" data-id="9"><div class="dd-handle">Item 9</div></li>
<li class="dd-item" data-id="10"><div class="dd-handle">Item 10</div></li>
</ol>
</li>
<li class="dd-item" data-id="11">
<div class="dd-handle">Item 11</div>
</li>
<li …Run Code Online (Sandbox Code Playgroud) javascript ×2
laravel ×2
php ×2
angularjs ×1
audio ×1
beanstalkd ×1
cookies ×1
file-upload ×1
jasmine ×1
jquery ×1
karma-runner ×1
laravel-4 ×1
mime-types ×1
ogg ×1
opus ×1
sox ×1
supervisord ×1