假设我有一个README.md,我想创建一个指向其名称中包含空格的文件的链接file with spaces.md.我希望能够跳转到文件的源代码.
/
-- README.md
-- File with spaces.md
Run Code Online (Sandbox Code Playgroud)
检查浏览器中的元素后,我弄清楚href应该是什么(手动更改,然后单击它将我带到我想要访问的页面):
<a href="username/repository/src/c0mm1th4sH/File%20with%20%spaces.md">
Run Code Online (Sandbox Code Playgroud)
不幸的是我无法做到这一点.到目前为止我尝试过的一些事情:
[Link](File with spaces.md)
[Link](File%20with%20spaces.md)
[Link](File\ with\ spaces.md)
[Link]("File with spaces.md")
Run Code Online (Sandbox Code Playgroud)
它导致Bitbucket中的以下HTML:
<a href="/username/repository/src/c0mm1th4sH/File%2520with%2520spaces.md">
<a href="/username/repository/src/c0mm1th4sH/File%2520with%2520spaces.md">
<a href="/username/repository/src/c0mm1th4sH/File%5C%2520with%5C%2520spaces.md">
<a href="" title="File with spaces.md">
Run Code Online (Sandbox Code Playgroud)
您可以使用我创建的示例存储库.
我provider在我们的应用程序中使用该包,我想ChangeNotifier单独测试我的类,以进行简单的单元测试来检查业务逻辑。
除了属性值之外ChangeNotifier,我还想确保在某些情况下(必要时),已notifyListeners调用 ,否则,依赖于此类的最新信息的小部件将不会被更新。
目前,我正在间接测试 是否已notifyListeners被调用:我正在使用这样一个事实:ChangeNotifier允许我使用其方法添加回调addListener。在我添加到测试套件中的回调中,我只需增加一个整数计数器变量并对其进行断言。
这是测试我是否ChangeNotifier调用其侦听器的正确方法吗?有没有更具描述性的方法来测试这个?
这是我正在测试的课程:
import 'package:flutter/foundation.dart';
class ExampleModel extends ChangeNotifier {
int _value = 0;
int get value => _value;
void increment() {
_value++;
notifyListeners();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我测试它的方法:
import 'package:mobile_app/example_model.dart';
import 'package:test/test.dart';
void main() {
group('$ExampleModel', () {
ExampleModel exampleModel;
int listenerCallCount;
setUp(() {
listenerCallCount = 0;
exampleModel = ExampleModel()
..addListener(() {
listenerCallCount += 1;
});
});
test('increments value and …Run Code Online (Sandbox Code Playgroud) 在Jasmine网站上,我看到我们可以按照xdescribe或按个别规格禁用套件xit.有没有办法只禁用期望(如xexpect)?
我问这个的原因是因为我正在用Protractor编写e2e测试,在我们的持续集成中,我们还没有(如果有的话)可以访问数据库,虽然在本地我们可以运行真正的端到端测试例如,到数据库.
我想将个别期望标记为可选,具体取决于配置或环境变量.做一次切换,然后在expect周围创建一个包装器会很好,只有当我们在本地运行测试(访问数据库)时才会失败.
例如,我可以创建一个新的规范系列:
if (process.env.DB_AVAILABLE) {
dbit = it;
} else {
dbit = xit;
}
Run Code Online (Sandbox Code Playgroud)
并编写依赖于数据库连接的规范,如下所示:
dbit('creates new user', function () {});
Run Code Online (Sandbox Code Playgroud)
有没有办法对expect(例如dbexpect)做同样的事情?
如果我的方法存在根本性的问题,请不要阻止它让我知道.
我有一个Flutter应用,并且正在Flutter上测试Google Analytics for Firebase。
我想看看我们的用户(现在是我)正在访问的路线。我按照设置步骤进行操作firebase_analytics,我也检查了他们的示例应用程序。如调试视图文档中所述,我启用了Google Analytics(分析)调试
不幸的是,firebase_screen_class我在Analytics Debug视图中仅收到两种屏幕视图()Flutter和MainActivity。
我希望看到/example-1,/example-2和/welcome地方,但我不知道。
这是我在Flutter中运行的应用
class App extends StatelessWidget {
final FirebaseAnalytics analytics = FirebaseAnalytics();
@override
Widget build(BuildContext context) {
return MaterialApp(
routes: <String, WidgetBuilder>{
'/example-1': (_) => Example1(),
'/example-2': (_) => Example2(),
'/welcome': (_) => Welcome(),
},
home: Welcome(),
navigatorObservers: [FirebaseAnalyticsObserver(analytics: analytics)],
);
}
}
Run Code Online (Sandbox Code Playgroud) 我想在我的 Flutter 应用程序中禁用文本字段的标签上应用一个主题,因为我现在的灰色很难阅读。
我想将它应用到我的整个应用程序,所以我想使用主题,但是,我没有找到任何可以自定义标签文本样式的解决方案 仅在禁用文本表单字段时
如何在 Flutter 中为禁用的文本表单字段的标签设置主题和全局颜色?
我知道如何有条件地更改标签的文本样式,但是,我需要记住始终使用相同的样式(或者我可以包装小部件,但这听起来也不理想)。我可以通过decoration命名参数自定义标签的颜色,如下所示:
TextFormField(
enabled: isEnabled,
decoration: InputDecoration(
labelText: 'Value',
labelStyle: TextStyle(color: isEnabled ? Colors.green : Colors.red),
),
// .... other fields, like controller might come here
),
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Image.network构造函数的loadingBuilder参数。
加载图像时,我想显示 a CircularProgressIndicator,其值设置为下载量除以预期文件大小的比率。我希望我可以使用ImageChunkEvent参数的cumulativeBytesLoaded,来做到这一点expectedTotalBytes。
我在文档中找到了一个示例:
以下示例用于
loadingBuilder显示CircularProgressIndicator图像通过网络加载的时间。
Image.network(
'https://example.com/image.jpg',
loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent loadingProgress) {
if (loadingProgress == null)
return child;
return Center(
child: CircularProgressIndicator(
value: loadingProgress.expectedTotalBytes != null
? loadingProgress.cumulativeBytesLoaded / loadingProgress.expectedTotalBytes
: null,
),
);
},
),
Run Code Online (Sandbox Code Playgroud)
但问题是,它loadingProgress总是如此null,所以我所做的整个loadingBuilder谜题都是徒劳的。
为什么不将实际值ImageChunkEvent loadingProgress传递给函数?loadingBuilder
我想弄清楚如何修改 Flutter 和 Dart 中单元测试的静态 getter 的返回值。
我正在对一个简单的功能进行单元测试:
Future<bool> exampleFunc() async {
if (Platform.isIOS) {
// Do some iOS-specific things
return false;
} else if (Platform.isAndroid) {
// Do some Android-specific things
return true; // just as an example
}
throw 'Unexpected platform';
}
Run Code Online (Sandbox Code Playgroud)
我想修改类的静态 getter 的返回值:我想调整Platform.isIOS不同Platform.isAndroid测试用例的返回值。
请注意,我知道这个问题的解决方法,例如,我可以将函数拆分为两个函数(每个平台一个),我可以注入我自己的函数enum(或者在这种情况下,甚至bool可以工作)来代表受支持的平台。在这个例子中,我实际上打算这样做,但我想知道如何“修改”类的Platformgetter 的返回值,因为有时,您不想像其他人那样修改函数的签名依赖它,但您仍然想对该函数进行单元测试。
我有多个文件输入。我希望我的客户在单击“选择文件”时选择多个文件(我认为已完成),如果他们忘记选择一些文件,我希望我的代码启用选择新文件(完成)并将该数据添加到他们之前选择的数据(无法解决)。
如何将新文件添加到列表?
只是为了给您提供背景信息:之后的目标是将每个带有AJAX的文件发送到我的PHP服务器。
$("#upload-form").submit(function(e) {
$('#displayFileNames').html('');
console.log('Currently in files.');
var files = $('#myFileInput')[0].files;
for (var i = 0; i < files.length; i++){
$('#displayFileNames').append(files[i].name + '</br>');
console.log(files[i].name);
}
// Send data with AJAX.
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id='upload-form' action='' method='post' enctype='multipart/form-data'>
<input id='myFileInput' class='file-input' type='file' name='file[]' multiple='multiple' />
<input type='submit' value="See what's in there" />
</form>
<div id="displayFileNames"></div>Run Code Online (Sandbox Code Playgroud)
任何帮助,提示表示赞赏!
我想在我的文件中使用export default obj而不是,因为我们在代码库中的其他任何地方都使用.module.exports = obj.eslintrc.jsexport
到目前为止没有运气,很难搜索这个问题。
我得到的错误:
> eslint src
Cannot read config file: src/.eslintrc.js
Error: Unexpected token export
src/.eslintrc.js:23
export default foo;
^^^^^^
SyntaxError: Unexpected token export
Run Code Online (Sandbox Code Playgroud) 我想在我的一个组件中接受对象和 null(Vue.js 检查对象的null 值,即使typeof null === 'object'),但我想让undefined值验证失败。
我尝试过的(使用vue-property-decorator)
@Prop({ required: true, type: Object, validator: v => typeof v === 'object' })
@Prop({ required: true, validator: v => typeof v === 'object' })
// I got an error:
//> Expected Object, got Null.
@Prop({ validator: v => typeof v === 'object' })
// Let's undefined through, so when I don't specify the prop, I get no warnings
// making the validator …Run Code Online (Sandbox Code Playgroud)