(opChain *chain, codes ...int)
| 415 | } |
| 416 | |
| 417 | func (wm *WebsocketMessage) checkNotCode(opChain *chain, codes ...int) { |
| 418 | if opChain.failed() { |
| 419 | return |
| 420 | } |
| 421 | |
| 422 | if len(codes) == 0 { |
| 423 | opChain.fail(AssertionFailure{ |
| 424 | Type: AssertUsage, |
| 425 | Errors: []error{ |
| 426 | errors.New("missing code argument"), |
| 427 | }, |
| 428 | }) |
| 429 | return |
| 430 | } |
| 431 | |
| 432 | if wm.typ != websocket.CloseMessage { |
| 433 | opChain.fail(AssertionFailure{ |
| 434 | Type: AssertEqual, |
| 435 | Actual: &AssertionValue{wsMessageType(wm.typ)}, |
| 436 | Expected: &AssertionValue{wsMessageType(websocket.CloseMessage)}, |
| 437 | Errors: []error{ |
| 438 | errors.New("expected: close message"), |
| 439 | }, |
| 440 | }) |
| 441 | return |
| 442 | } |
| 443 | |
| 444 | found := false |
| 445 | for _, c := range codes { |
| 446 | if c == wm.closeCode { |
| 447 | found = true |
| 448 | break |
| 449 | } |
| 450 | } |
| 451 | |
| 452 | if found { |
| 453 | if len(codes) == 1 { |
| 454 | opChain.fail(AssertionFailure{ |
| 455 | Type: AssertNotEqual, |
| 456 | Actual: &AssertionValue{wsCloseCode(wm.closeCode)}, |
| 457 | Expected: &AssertionValue{wsCloseCode(codes[0])}, |
| 458 | Errors: []error{ |
| 459 | errors.New("expected: close codes are non-equal"), |
| 460 | }, |
| 461 | }) |
| 462 | } else { |
| 463 | codeList := make([]interface{}, 0, len(codes)) |
| 464 | for _, c := range codes { |
| 465 | codeList = append(codeList, wsCloseCode(c)) |
| 466 | } |
| 467 | |
| 468 | opChain.fail(AssertionFailure{ |
| 469 | Type: AssertNotBelongs, |
| 470 | Actual: &AssertionValue{wsCloseCode(wm.closeCode)}, |
| 471 | Expected: &AssertionValue{AssertionList(codeList)}, |
| 472 | Errors: []error{ |
| 473 | errors.New("expected: close code dose not belong to given list"), |
| 474 | }, |
no test coverage detected