znt/module/bi/test/model/getfields.php

99 lines
2.6 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 biModel::getFields();
timeout=0
cid=15171
- 执行biTest模块的getFieldsTest方法参数是$statement1
- 属性id @id
- 属性name @name
- 执行biTest模块的getFieldsTest方法参数是$statement2 @0
- 执行biTest模块的getFieldsTest方法参数是$statement3
- 属性id @u.id
- 属性account @u.account
- 执行biTest模块的getFieldsTest方法参数是$statement4
- 属性user_id @id
- 属性username @account
- 执行biTest模块的getFieldsTest方法参数是$statement5 属性* @*
- 执行biTest模块的getFieldsTest方法参数是$statement6 @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
$biTest = new biModelTest();
// 测试1正常字段解析 - 模拟一个简单的statement对象
$statement1 = new stdclass();
$statement1->expr = array();
$expr1 = new stdclass();
$expr1->expr = 'id';
$expr1->alias = '';
$statement1->expr[] = $expr1;
$expr2 = new stdclass();
$expr2->expr = 'name';
$expr2->alias = '';
$statement1->expr[] = $expr2;
r($biTest->getFieldsTest($statement1)) && p('id,name') && e('id,name');
// 测试2空statement对象处理 - expr为null时返回空数组
$statement2 = new stdclass();
$statement2->expr = null;
r($biTest->getFieldsTest($statement2)) && p() && e('0');
// 测试3带表前缀字段解析 - 有点前缀的字段,别名为点后面的部分
$statement3 = new stdclass();
$statement3->expr = array();
$expr3 = new stdclass();
$expr3->expr = 'u.id';
$expr3->alias = '';
$statement3->expr[] = $expr3;
$expr4 = new stdclass();
$expr4->expr = 'u.account';
$expr4->alias = '';
$statement3->expr[] = $expr4;
r($biTest->getFieldsTest($statement3)) && p('id,account') && e('u.id,u.account');
// 测试4带别名字段解析 - 使用alias作为key原字段名作为value
$statement4 = new stdclass();
$statement4->expr = array();
$expr5 = new stdclass();
$expr5->expr = 'id';
$expr5->alias = 'user_id';
$statement4->expr[] = $expr5;
$expr6 = new stdclass();
$expr6->expr = 'account';
$expr6->alias = 'username';
$statement4->expr[] = $expr6;
r($biTest->getFieldsTest($statement4)) && p('user_id,username') && e('id,account');
// 测试5SELECT *字段解析 - *字段原样处理
$statement5 = new stdclass();
$statement5->expr = array();
$expr7 = new stdclass();
$expr7->expr = '*';
$expr7->alias = '';
$statement5->expr[] = $expr7;
r($biTest->getFieldsTest($statement5)) && p('*') && e('*');
// 测试6空expr数组处理 - expr为空数组时返回空数组
$statement6 = new stdclass();
$statement6->expr = array();
r($biTest->getFieldsTest($statement6)) && p() && e('0');