小编ske*_*hat的帖子

为什么("00e0"=="00e1")评估为真?

在PHP中,为什么以下语句的前两个评估为true?

<?php
    if("00e0" == "00e1") {
        echo 'matches (a)';
    } else {
        echo 'failed (a)';
    }

    if("00e1" == "00e9") {
        echo 'matches (b)';
    } else {
        echo 'failed (b)';
    }

    if("00e2" == "00ea") {
        echo 'matches (c)';
    } else { 
        echo 'failed (c)';
    }
?>
Run Code Online (Sandbox Code Playgroud)

如果运行,将返回以下内容:

matches (a)
matches (b)
failed (c)
Run Code Online (Sandbox Code Playgroud)

如果与另一个"00e(0-9)"字符串相比,"00e0","00e1","00e2"......"00e9"之间的任何字符串都将为真.

php

9
推荐指数
1
解决办法
144
查看次数

在 React Js 中实现两个 for 循环来创建 tic-tac-toe 的 3X3 方形矩阵框

我正在关注官方网站上的 React Js 教程,该教程帮助我们构建了一个井字棋游戏。方框是通过对所有方框进行硬编码来创建的,如下所示:

render(){
  return (
    <div>
      <div className = "board-row">
        {this.renderSquare(0)}
        {this.renderSquare(1)}
        {this.renderSquare(2)}
      </div>
      <div className = "board-row">
        {this.renderSquare(3)}
        {this.renderSquare(4)}
        {this.renderSquare(5)}
      </div>
      <div className = "board-row">
        {this.renderSquare(6)}
        {this.renderSquare(7)}
        {this.renderSquare(8)}
      </div>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

我设法通过使用 for 循环来缩短代码,如下所示:

render(){
  let sqrRen = [];
  for(let i = 0; i < 9; i=i+3){
    sqrRen.push(<div className = "board-row">
      {this.renderSquare(0+i)}
      {this.renderSquare(1+i)}
      {this.renderSquare(2+i)} 
    </div>);
  }
  return (
    <div>
        {sqrRen}
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

但我还想使用另一个 for 循环生成每行中的正方形,如下所示:

render(){
  let sqrRen = [];
  for(let i = …
Run Code Online (Sandbox Code Playgroud)

javascript tic-tac-toe reactjs

8
推荐指数
2
解决办法
4198
查看次数

Sinon对单元测试'捕获'声明

我有一个简单的功能,如;

module.exports = {
  fetchUser:function(myUserId) {
    return new Promise((resolve, reject) => {
      this.getUser(myUserId)
        .then(user => {
          // do logic // then return user

          return user;
        })
        .then(resolve)
        .catch(err => {
          // whoops there has been an error

          let error = { error: 'My Error' };

          reject(error);
        });
    });
  }
};
Run Code Online (Sandbox Code Playgroud)

我想单元测试既resolvereject结果.

一个简单的chai测试是;

var expect = require('chai').expect;
var user = require('./user');

describe('User module', function() {
  it('test fetchUser', function() {
    let _user = user.fetchUser('abc123');

    return _user …
Run Code Online (Sandbox Code Playgroud)

unit-testing node.js sinon chai

6
推荐指数
1
解决办法
5863
查看次数

Ionic --prod build冻结了CLI

我正在尝试通过CLI构建我的Ionic 3应用程序ionic cordova build android --prod.

以前这个命令没有任何问题,现在它正在冻结这webpack一步,就在之后copy finished.

# npm run ionic:build --prod

> ionic-app@ ionic:build /Users/personal/Documents/ionic-app
> ionic-app-scripts build

[10:47:11]  ionic-app-scripts 3.1.9
[10:47:11]  build prod started ...
[10:47:11]  clean started ...
[10:47:11]  clean finished in 1 ms
[10:47:11]  copy started ...
[10:47:11]  deeplinks started ...
[10:47:11]  deeplinks finished in 327 ms
[10:47:11]  ngc started ...
[10:47:29]  ngc finished in 17.34 s
[10:47:29]  preprocess started ...
[10:47:29]  preprocess finished in 1 ms
[10:47:29]  webpack …
Run Code Online (Sandbox Code Playgroud)

cordova ionic-framework ionic3

5
推荐指数
0
解决办法
609
查看次数

Firebase functions.https.onCall 有效但返回 null

我有以下用 node.js 编写的 firebase 云函数,我从我的 Android 应用程序调用

exports.findNearestBranch = functions.https.onCall((data, context) => { 
  var latitutde = data.lat;
  var longitude = data.long;

  var ret;

  return getLocationObject(latitutde,longitude)
    .then(function(result){
      var fromObject=result;
      console.log('CONTEXT CLIENT '+latitutde+' LONG '+longitude);

      calculateNearestBranch(fromObject)
        .then(function(result){
          console.log("TO APP "+JSON.stringify(result));
          ret=result;
        })
        .catch(function(error){

        });
    })
    .catch(function(error){

    });
});
Run Code Online (Sandbox Code Playgroud)

该功能工作正常,但在尝试使用以下方法在 Android 中获取结果时我得到了空值

exports.findNearestBranch = functions.https.onCall((data, context) => { 
  var latitutde = data.lat;
  var longitude = data.long;

  var ret;

  return getLocationObject(latitutde,longitude)
    .then(function(result){
      var fromObject=result;
      console.log('CONTEXT CLIENT '+latitutde+' LONG '+longitude);

      calculateNearestBranch(fromObject)
        .then(function(result){
          console.log("TO APP "+JSON.stringify(result)); …
Run Code Online (Sandbox Code Playgroud)

android node.js firebase

5
推荐指数
1
解决办法
2600
查看次数

使用 Jasmine 进行 Angular2 AngularFire Auth 测试

我正在尝试为我的组件编写单元测试,但我无法正确监视 AngularFire 类。

//Component

  import { AngularFire } from 'angularfire2';

  @Component({
    selector: 'app-header',
    templateUrl: './header.component.html',
    styleUrls: ['./header.component.scss']
  })
  export class HeaderComponent implements OnInit {

    constructor(
      public angularFire: AngularFire
    ) { }

    ngOnInit() {
      this.angularFire.auth.subscribe(auth => {
        // do stuff
      });
    }
  }
Run Code Online (Sandbox Code Playgroud)

我的测试很简单,我试图监视 Auth 类以转换订阅的模拟用户。

//Test
let AngularFireMocks = {
  auth: jasmine.createSpy('auth')
};

AngularFireMock.auth.and.returnValue(Observable.of({ uid: 'ABC123' }));

describe('HeaderComponent', () => {
  let component: HeaderComponent;
  let fixture: ComponentFixture<HeaderComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [
        HeaderComponent
      ],
      providers: [
        {
          provide: AngularFire, …
Run Code Online (Sandbox Code Playgroud)

unit-testing jasmine firebase-authentication angularfire2 angular

3
推荐指数
1
解决办法
1479
查看次数